Use database instead of Core in Sone parser
[Sone.git] / src / main / java / net / pterodactylus / sone / core / SoneParser.java
index fdbd9ae..a9e2b3a 100644 (file)
@@ -14,6 +14,8 @@ import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import javax.inject.Inject;
+
 import net.pterodactylus.sone.data.Album;
 import net.pterodactylus.sone.data.Client;
 import net.pterodactylus.sone.data.Image;
@@ -23,6 +25,7 @@ import net.pterodactylus.sone.data.Profile;
 import net.pterodactylus.sone.data.Profile.DuplicateField;
 import net.pterodactylus.sone.data.Profile.EmptyFieldName;
 import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.database.Database;
 import net.pterodactylus.sone.database.PostBuilder;
 import net.pterodactylus.sone.database.PostReplyBuilder;
 import net.pterodactylus.sone.database.SoneBuilder;
@@ -40,10 +43,11 @@ public class SoneParser {
 
        private static final Logger logger = getLogger(SoneParser.class.getName());
        private static final int MAX_PROTOCOL_VERSION = 0;
-       private final Core core;
+       private final Database database;
 
-       public SoneParser(Core core) {
-               this.core = core;
+       @Inject
+       public SoneParser(Database database) {
+               this.database = database;
        }
 
        public Sone parseSone(Sone originalSone, InputStream soneInputStream) throws SoneException {
@@ -60,7 +64,7 @@ public class SoneParser {
                        return null;
                }
 
-               SoneBuilder soneBuilder = core.soneBuilder().from(originalSone.getIdentity());
+               SoneBuilder soneBuilder = database.newSoneBuilder().from(originalSone.getIdentity());
                if (originalSone.isLocal()) {
                        soneBuilder = soneBuilder.local();
                }
@@ -180,7 +184,7 @@ public class SoneParser {
                                        return null;
                                }
                                try {
-                                       PostBuilder postBuilder = core.postBuilder();
+                                       PostBuilder postBuilder = database.newPostBuilder();
                                        /* TODO - parse time correctly. */
                                        postBuilder.withId(postId).from(sone.getId()).withTime(Long.parseLong(postTime)).withText(postText);
                                        if ((postRecipientId != null) && (postRecipientId.length() == 43)) {
@@ -213,7 +217,7 @@ public class SoneParser {
                                        return null;
                                }
                                try {
-                                       PostReplyBuilder postReplyBuilder = core.postReplyBuilder();
+                                       PostReplyBuilder postReplyBuilder = database.newPostReplyBuilder();
                                        /* TODO - parse time correctly. */
                                        postReplyBuilder.withId(replyId).from(sone.getId()).to(replyPostId).withTime(Long.parseLong(replyTime)).withText(replyText);
                                        replies.add(postReplyBuilder.build());
@@ -267,13 +271,13 @@ public class SoneParser {
                                }
                                Album parent = null;
                                if (parentId != null) {
-                                       parent = core.getAlbum(parentId);
+                                       parent = database.getAlbum(parentId);
                                        if (parent == null) {
                                                logger.log(Level.WARNING, String.format("Downloaded Sone %s has album with invalid parent!", sone));
                                                return null;
                                        }
                                }
-                               Album album = core.albumBuilder()
+                               Album album = database.newAlbumBuilder()
                                                .withId(id)
                                                .by(sone)
                                                .build()
@@ -307,7 +311,7 @@ public class SoneParser {
                                                        logger.log(Level.WARNING, String.format("Downloaded Sone %s contains image %s with invalid dimensions (%s, %s)!", sone, imageId, imageWidthString, imageHeightString));
                                                        return null;
                                                }
-                                               Image image = core.imageBuilder().withId(imageId).build().modify().setSone(sone).setKey(imageKey).setCreationTime(creationTime).update();
+                                               Image image = database.newImageBuilder().withId(imageId).build().modify().setSone(sone).setKey(imageKey).setCreationTime(creationTime).update();
                                                image = image.modify().setTitle(imageTitle).setDescription(imageDescription).update();
                                                image = image.modify().setWidth(imageWidth).setHeight(imageHeight).update();
                                                album.addImage(image);