X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultAlbum.java;h=161cdd96d78a7a1be2fbd327d14f32609bc056c7;hp=cbef5da55c9b246c56ade3bb782967a75ee2cbc5;hb=84e3f241029a4a0a63069a0a793b4f09408d3ca6;hpb=f0c0d175ae5058661d3af7cc99d0c188616a4d8f 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 cbef5da..161cdd9 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbum.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbum.java @@ -92,34 +92,6 @@ public class DefaultAlbum extends AbstractAlbum { } @Override - public Album moveAlbumUp(Album album) { - checkNotNull(album, "album must not be null"); - checkArgument(album.getSone().equals(sone), "album must belong to the same Sone as this album"); - checkArgument(equals(album.getParent()), "album must belong to this album"); - int oldIndex = albums.indexOf(album); - if (oldIndex <= 0) { - return null; - } - albums.remove(oldIndex); - albums.add(oldIndex - 1, album); - return albums.get(oldIndex); - } - - @Override - public Album moveAlbumDown(Album album) { - checkNotNull(album, "album must not be null"); - checkArgument(album.getSone().equals(sone), "album must belong to the same Sone as this album"); - checkArgument(equals(album.getParent()), "album must belong to this album"); - int oldIndex = albums.indexOf(album); - if ((oldIndex < 0) || (oldIndex >= (albums.size() - 1))) { - return null; - } - albums.remove(oldIndex); - albums.add(oldIndex + 1, album); - return albums.get(oldIndex); - } - - @Override public List getImages() { return new ArrayList(Collections2.filter(Collections2.transform(imageIds, new Function() { @@ -203,6 +175,20 @@ public class DefaultAlbum extends AbstractAlbum { } @Override + public void moveUp() { + int oldIndex = parent.albums.indexOf(this); + parent.albums.remove(this); + parent.albums.add(Math.max(0, oldIndex - 1), this); + } + + @Override + public void moveDown() { + int oldIndex = parent.albums.indexOf(this); + parent.albums.remove(this); + parent.albums.add(Math.min(parent.albums.size(), oldIndex + 1), this); + } + + @Override public void remove() throws IllegalStateException { checkState(!isRoot(), "can not remove root album"); removeAllAlbums();