Move required parameters for image into the image builder.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / Core.java
index 0b9b08f..d20549f 100644 (file)
@@ -62,6 +62,7 @@ import net.pterodactylus.sone.data.Reply;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.data.Sone.ShowCustomAvatars;
 import net.pterodactylus.sone.data.Sone.SoneStatus;
+import net.pterodactylus.sone.data.SoneImpl;
 import net.pterodactylus.sone.data.TemporaryImage;
 import net.pterodactylus.sone.database.Database;
 import net.pterodactylus.sone.database.DatabaseException;
@@ -378,11 +379,11 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                synchronized (sones) {
                        Sone sone = sones.get(id);
                        if ((sone == null) && create) {
-                               sone = new Sone(id, true);
+                               sone = new SoneImpl(id, true);
                                sones.put(id, sone);
                        }
                        if ((sone != null) && !sone.isLocal()) {
-                               sone = new Sone(id, true);
+                               sone = new SoneImpl(id, true);
                                sones.put(id, sone);
                        }
                        return sone;
@@ -419,7 +420,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                synchronized (sones) {
                        Sone sone = sones.get(id);
                        if ((sone == null) && create && (id != null) && (id.length() == 43)) {
-                               sone = new Sone(id, false);
+                               sone = new SoneImpl(id, false);
                                sones.put(id, sone);
                        }
                        return sone;
@@ -1283,8 +1284,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                                logger.log(Level.WARNING, "Invalid album image encountered, aborting load!");
                                return;
                        }
-                       Image image = getImage(imageId).modify().setSone(sone).setCreationTime(creationTime).setKey(key).setTitle(title).setDescription(description).setWidth(width).setHeight(height).update();
-                       album.addImage(image);
+                       album.newImageBuilder().withId(imageId).by(sone).created(creationTime).at(key).sized(width, height).build().modify().setTitle(title).setDescription(description).update();
                }
 
                /* load avatar. */
@@ -1638,8 +1638,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                checkNotNull(temporaryImage, "temporaryImage must not be null");
                checkArgument(sone.isLocal(), "sone must be a local Sone");
                checkArgument(sone.equals(album.getSone()), "album must belong to the given Sone");
-               Image image = database.newImageBuilder().withId(temporaryImage.getId()).build().modify().setSone(sone).setCreationTime(System.currentTimeMillis()).update();
-               album.addImage(image);
+               Image image = album.newImageBuilder().withId(temporaryImage.getId()).by(sone).createdNow().sized(temporaryImage.getWidth(), temporaryImage.getHeight()).build();
                database.storeImage(image);
                imageInserter.insertImage(temporaryImage, image);
                return image;
@@ -1671,9 +1670,8 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
         *            The encoded data of the image
         * @return The temporary image
         */
-       public TemporaryImage createTemporaryImage(String mimeType, byte[] imageData) {
-               TemporaryImage temporaryImage = new TemporaryImage();
-               temporaryImage.setMimeType(mimeType).setImageData(imageData);
+       public TemporaryImage createTemporaryImage(String mimeType, byte[] imageData, int width, int height) {
+               TemporaryImage temporaryImage = new TemporaryImage(mimeType, imageData, width, height);
                synchronized (temporaryImages) {
                        temporaryImages.put(temporaryImage.getId(), temporaryImage);
                }