X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbum.java;h=20862a4647300e904d04995abbde7d244772ba16;hb=356a84e5ec2bb0936b7d1cdc635f7f051788da6a;hp=0abc59cd61271fe051f51fbc710aa378103323ac;hpb=9418b7209b46bd5cbda6006ac00f855df2d383a4;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Album.java b/src/main/java/net/pterodactylus/sone/data/Album.java index 0abc59c..20862a4 100644 --- a/src/main/java/net/pterodactylus/sone/data/Album.java +++ b/src/main/java/net/pterodactylus/sone/data/Album.java @@ -125,8 +125,10 @@ public class Album implements Fingerprintable { */ public void addAlbum(Album album) { Validation.begin().isNotNull("Album", album).check().isEqual("Album Owner", album.sone, sone).isEither("Old Album Parent", this.parent, null, album.parent).check(); - albums.add(album); album.setParent(this); + if (!albums.contains(album)) { + albums.add(album); + } } /** @@ -158,6 +160,9 @@ public class Album implements Fingerprintable { */ public void addImage(Image image) { Validation.begin().isNotNull("Image", image).check().isNotNull("Image Owner", image.getSone()).check().isEqual("Image Owner", image.getSone(), sone).check(); + if (image.getAlbum() != null) { + image.getAlbum().removeImage(image); + } image.setAlbum(this); if (!images.contains(image)) { images.add(image);