Extract finding next whitespace into its own method.
[Sone.git] / src / main / java / net / pterodactylus / sone / text / SoneTextParser.java
index ad4bfff..313758e 100644 (file)
@@ -194,8 +194,7 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                                        }
                                        lineComplete = false;
 
-                                       Matcher matcher = whitespacePattern.matcher(line);
-                                       int nextSpace = matcher.find(0) ? matcher.start() : line.length();
+                                       int nextSpace = findNextWhitespace(line);
                                        String link = line.substring(0, nextSpace);
                                        String name = link;
                                        logger.log(Level.FINER, String.format("Found link: %s", link));
@@ -273,7 +272,7 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                                                        parts.add(new PlainTextPart(link));
                                                }
                                        } else if (linkType.isInternetLink()) {
-                                               name = link.substring(linkType == LinkType.HTTP ? 7 : 8);
+                                               name = link.substring(linkType.getScheme().length());
                                                int firstSlash = name.indexOf('/');
                                                int lastSlash = name.lastIndexOf('/');
                                                if ((lastSlash - firstSlash) > 3) {
@@ -309,6 +308,11 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                return parts;
        }
 
+       private int findNextWhitespace(String line) {
+               Matcher matcher = whitespacePattern.matcher(line);
+               return matcher.find(0) ? matcher.start() : line.length();
+       }
+
        private Optional<NextLink> findNextLink(String line) {
                EnumMap<LinkType, Integer> linkTypeIndexes = new EnumMap<LinkType, Integer>(LinkType.class);
                for (LinkType linkType : LinkType.values()) {