Extract an interface out of Sone.
[Sone.git] / src / main / java / net / pterodactylus / sone / text / SoneTextParser.java
index f2ca0c5..0b1585a 100644 (file)
@@ -28,6 +28,7 @@ import java.util.regex.Pattern;
 
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.data.SoneImpl;
 import net.pterodactylus.sone.database.PostProvider;
 import net.pterodactylus.sone.database.SoneProvider;
 import net.pterodactylus.util.io.Closer;
@@ -242,15 +243,15 @@ public class SoneTextParser implements Parser<SoneTextParserContext> {
                                        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> 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.<Sone>of(new SoneImpl(soneId, false));
                                                        }
-                                                       parts.add(new SonePart(sone));
+                                                       parts.add(new SonePart(sone.get()));
                                                        line = line.substring(50);
                                                } else {
                                                        parts.add(new PlainTextPart(line));