Extract functions to detect long-enough links.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 9 Nov 2013 00:04:42 +0000 (01:04 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:25:57 +0000 (22:25 +0100)
src/main/java/net/pterodactylus/sone/text/SoneTextParser.java

index d41a7e2..efb36c4 100644 (file)
@@ -207,7 +207,7 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                                        }
 
                                        if (linkType == LinkType.SONE) {
-                                               if (line.length() >= (7 + 43)) {
+                                               if (lineIsLongEnoughToContainASoneLink(line)) {
                                                        String soneId = line.substring(7, 50);
                                                        Optional<Sone> sone = database.getSone(soneId);
                                                        if (!sone.isPresent()) {
@@ -226,7 +226,7 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                                                continue;
                                        }
                                        if (linkType == LinkType.POST) {
-                                               if (line.length() >= (7 + 36)) {
+                                               if (lineIsLongEnoughToContainAPostLink(line)) {
                                                        String postId = line.substring(7, 43);
                                                        Optional<Post> post = database.getPost(postId);
                                                        if (post.isPresent()) {
@@ -316,6 +316,14 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                return (context != null) && (context.getPostingSone() != null) && link.substring(4, Math.min(link.length(), 47)).equals(context.getPostingSone().getId());
        }
 
+       private boolean lineIsLongEnoughToContainAPostLink(String line) {
+               return line.length() >= (7 + 36);
+       }
+
+       private boolean lineIsLongEnoughToContainASoneLink(String line) {
+               return line.length() >= (7 + 43);
+       }
+
        private int findNextWhitespace(String line) {
                Matcher matcher = whitespacePattern.matcher(line);
                return matcher.find(0) ? matcher.start() : line.length();