X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftext%2FSoneTextParser.java;h=cc5c59b4e645b368f6a829285431dae3d7b164cf;hp=f2ca0c55c5e5fe24a3004dc23cdeaa0ebbb10478;hb=0e8f7804ce344bdd69f5ecc7febe25a60a53561d;hpb=8f02544d31f323ae9053dd9a11a99eacd8cf5bcd diff --git a/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java b/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java index f2ca0c5..cc5c59b 100644 --- a/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java +++ b/src/main/java/net/pterodactylus/sone/text/SoneTextParser.java @@ -17,6 +17,8 @@ package net.pterodactylus.sone.text; +import static java.util.logging.Logger.getLogger; + import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; @@ -28,10 +30,10 @@ import java.util.regex.Pattern; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; +import net.pterodactylus.sone.data.impl.IdOnlySone; import net.pterodactylus.sone.database.PostProvider; import net.pterodactylus.sone.database.SoneProvider; import net.pterodactylus.util.io.Closer; -import net.pterodactylus.util.logging.Logging; import com.google.common.base.Optional; @@ -45,7 +47,7 @@ import freenet.keys.FreenetURI; public class SoneTextParser implements Parser { /** The logger. */ - private static final Logger logger = Logging.getLogger(SoneTextParser.class); + private static final Logger logger = getLogger("Sone.Data.Parser"); /** Pattern to detect whitespace. */ private static final Pattern whitespacePattern = Pattern.compile("[\\u000a\u0020\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u200c\u200d\u202f\u205f\u2060\u2800\u3000]"); @@ -242,15 +244,15 @@ public class SoneTextParser implements Parser { if (linkType == LinkType.SONE) { if (line.length() >= (7 + 43)) { String soneId = line.substring(7, 50); - Sone sone = soneProvider.getSone(soneId); - if (sone == null) { + Optional sone = soneProvider.getSone(soneId); + if (!sone.isPresent()) { /* * don’t use create=true above, we don’t want * the empty shell. */ - sone = new Sone(soneId, false); + sone = Optional.of(new IdOnlySone(soneId)); } - parts.add(new SonePart(sone)); + parts.add(new SonePart(sone.get())); line = line.substring(50); } else { parts.add(new PlainTextPart(line));