X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=b8b8f1a86a12551f045f07fc8ce41270e8b47edd;hb=4e61d9d4c916ff7d314baa2923087203aec3842d;hp=7e934106292f6018e276d329133ed0a3471e29c6;hpb=3d888e800617335535c1a4b2cbac3e02acfdde34;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 7e93410..b8b8f1a 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -643,40 +643,8 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, return newAlbum; } - /** - * Returns the image with the given ID, creating it if necessary. - * - * @param imageId - * The ID of the image - * @return The image with the given ID - */ - public Image getImage(String imageId) { - return getImage(imageId, true); - } - - /** - * Returns the image with the given ID, optionally creating it if it does - * not exist. - * - * @param imageId - * The ID of the image - * @param create - * {@code true} to create an image if none exists with the given - * ID - * @return The image with the given ID, or {@code null} if none exists and - * none was created - */ - public Image getImage(String imageId, boolean create) { - Optional image = database.getImage(imageId); - if (image.isPresent()) { - return image.get(); - } - if (!create) { - return null; - } - Image newImage = database.newImageBuilder().withId(imageId).build(); - database.storeImage(newImage); - return newImage; + public Optional getImage(String imageId) { + return database.getImage(imageId); } /** @@ -1284,14 +1252,13 @@ 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).created(creationTime).at(key).sized(width, height).build().modify().setTitle(title).setDescription(description).update(); } /* load avatar. */ String avatarId = configuration.getStringValue(sonePrefix + "/Profile/Avatar").getValue(null); if (avatarId != null) { - profile.setAvatar(getImage(avatarId, false)); + profile.setAvatar(getImage(avatarId).orNull()); } /* load options. */ @@ -1639,8 +1606,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()).createdNow().sized(temporaryImage.getWidth(), temporaryImage.getHeight()).build(); database.storeImage(image); imageInserter.insertImage(temporaryImage, image); return image; @@ -1672,9 +1638,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); } @@ -1703,9 +1668,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, synchronized (temporaryImages) { temporaryImages.remove(imageId); } - Image image = getImage(imageId, false); - if (image != null) { - imageInserter.cancelImageInsert(image); + Optional image = getImage(imageId); + if (image.isPresent()) { + imageInserter.cancelImageInsert(image.get()); } }