X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=5dc733b25909432a91909efc3037920d1c283903;hb=28b2e2b0d2ff2320f5b6a5ac36a858a604c7c7ba;hp=8756c60aa4a67141a8c92f74df44ae0e5a79287b;hpb=fbe915700b291b61821a79f42d1e4ca954e56175;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 8756c60..5dc733b 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -19,6 +19,7 @@ package net.pterodactylus.sone.core; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import static net.pterodactylus.sone.data.Identified.GET_ID; import java.net.MalformedURLException; import java.util.Collection; @@ -1224,7 +1225,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, followSone(sone, friendId); } for (Album album : sone.getRootAlbum().getAlbums()) { - sone.getRootAlbum().removeAlbum(album); + album.remove(); } soneInserters.get(sone).setLastInsertFingerprint(lastInsertFingerprint); } @@ -1483,24 +1484,6 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, } /** - * Deletes the given album. The owner of the album has to be a local Sone, and - * the album has to be {@link Album#isEmpty() empty} to be deleted. - * - * @param album - * The album to remove - */ - public void deleteAlbum(Album album) { - checkNotNull(album, "album must not be null"); - checkArgument(album.getSone().isLocal(), "album’s Sone must be a local Sone"); - if (!album.isEmpty()) { - return; - } - album.getParent().removeAlbum(album); - database.removeAlbum(album); - touchConfiguration(); - } - - /** * Creates a new image. * * @param sone @@ -1534,8 +1517,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, checkNotNull(image, "image must not be null"); checkArgument(image.getSone().isLocal(), "image must belong to a local Sone"); deleteTemporaryImage(image.getId()); - image.getAlbum().removeImage(image); - database.removeImage(image); + image.remove(); touchConfiguration(); } @@ -1743,7 +1725,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, configuration.getStringValue(albumPrefix + "/Title").setValue(album.getTitle()); configuration.getStringValue(albumPrefix + "/Description").setValue(album.getDescription()); configuration.getStringValue(albumPrefix + "/Parent").setValue(album.getParent().equals(sone.getRootAlbum()) ? null : album.getParent().getId()); - configuration.getStringValue(albumPrefix + "/AlbumImage").setValue(album.getAlbumImage() == null ? null : album.getAlbumImage().getId()); + configuration.getStringValue(albumPrefix + "/AlbumImage").setValue(album.getAlbumImage().transform(GET_ID).orNull()); } configuration.getStringValue(sonePrefix + "/Albums/" + albumCounter + "/ID").setValue(null);