X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultAlbum.java;h=295555d7645ae091bfa4ac6674b637c8783fffd5;hb=2b438203e37c5b5a886dceb4cd061c27de09d8db;hp=c1640f910f29f68f085fe3415779d2f7e61bd930;hpb=bdedce9c2a3bf37b0c98ea7d96a4c08432013011;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbum.java b/src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbum.java index c1640f9..295555d 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbum.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbum.java @@ -39,13 +39,11 @@ public class DefaultAlbum extends AbstractAlbum { private final Database database; private final Sone sone; /* TODO - only store sone ID. */ - private final String parentId; protected DefaultAlbum(Database database, String id, Sone sone, String parentId) { - super(id); + super(id, parentId); this.database = database; this.sone = sone; - this.parentId = parentId; } @Override @@ -90,11 +88,14 @@ public class DefaultAlbum extends AbstractAlbum { public ImageBuilder newImageBuilder() throws IllegalStateException { return new AbstractImageBuilder() { @Override - public Image build() throws IllegalStateException { + public Image build(Optional imageCreated) throws IllegalStateException { validate(); - DefaultImage memoryImage = new DefaultImage(database, getId(), sone, DefaultAlbum.this.id, key, getCreationTime(), width, height); - database.storeImage(memoryImage); - return memoryImage; + DefaultImage image = new DefaultImage(database, getId(), sone, DefaultAlbum.this.id, key, getCreationTime(), width, height); + database.storeImage(image); + if (imageCreated.isPresent()) { + imageCreated.get().imageCreated(image); + } + return image; } }; }