Add database parameter to Sone parser.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 20 Oct 2013 00:31:56 +0000 (02:31 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:25:31 +0000 (22:25 +0100)
src/main/java/net/pterodactylus/sone/core/SoneDownloader.java
src/main/java/net/pterodactylus/sone/core/SoneParser.java

index ef6c10a..27348e1 100644 (file)
@@ -207,7 +207,7 @@ public class SoneDownloader extends AbstractService {
         *             if a parse error occurs, or the protocol is invalid
         */
        public Sone parseSone(Sone originalSone, InputStream soneInputStream) throws SoneException {
-               return new SoneParser(core).parseSone(originalSone, soneInputStream);
+               return new SoneParser(core).parseSone(core.getDatabase(), originalSone, soneInputStream);
        }
 
        //
index 63bba74..0ca508b 100644 (file)
@@ -36,6 +36,7 @@ import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Profile;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.data.impl.DefaultSone;
+import net.pterodactylus.sone.database.Database;
 import net.pterodactylus.sone.database.ImageBuilder.ImageCreated;
 import net.pterodactylus.sone.database.PostBuilder;
 import net.pterodactylus.sone.database.PostBuilder.PostCreated;
@@ -78,7 +79,7 @@ public class SoneParser {
         * @throws SoneException
         *              if a parse error occurs, or the protocol is invalid
         */
-       public Sone parseSone(Sone originalSone, InputStream soneInputStream) throws SoneException {
+       public Sone parseSone(Database database, Sone originalSone, InputStream soneInputStream) throws SoneException {
                /* TODO - impose a size limit? */
 
                Document document;
@@ -99,7 +100,7 @@ public class SoneParser {
                }
 
                Optional<Client> parsedClient = parseClient(originalSone, soneXml.get());
-               Sone sone = new DefaultSone(new MemoryDatabase(null), originalSone.getId(), originalSone.isLocal(), parsedClient.or(originalSone.getClient()));
+               Sone sone = new DefaultSone(database, originalSone.getId(), originalSone.isLocal(), parsedClient.or(originalSone.getClient()));
 
                Optional<Integer> protocolVersion = parseProtocolVersion(soneXml.get());
                if (protocolVersion.isPresent()) {