X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultImage.java;h=156eb813aa6ce3474338f8b2fec66085aec49823;hp=54e64951ed45f20655bef88567d70f2be6e4dab4;hb=a77d4a36080bc90c8c09efb753eb9e46f4e677d9;hpb=8230a34cdb7e2ee5f796008f66e99a45160f5d1d diff --git a/src/main/java/net/pterodactylus/sone/data/impl/DefaultImage.java b/src/main/java/net/pterodactylus/sone/data/impl/DefaultImage.java index 54e6495..156eb81 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultImage.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultImage.java @@ -17,6 +17,8 @@ package net.pterodactylus.sone.data.impl; +import static com.google.common.collect.FluentIterable.from; + import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Sone; @@ -47,4 +49,15 @@ public class DefaultImage extends AbstractImage { return album; } + @Override + public void remove() throws IllegalStateException { + synchronized (album) { + album.images.remove(getId()); + album.imageIds.remove(getId()); + if (getId().equals(album.albumImage)) { + album.albumImage = from(album.images.values()).transform(GET_ID).first().orNull(); + } + } + } + }