X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FImageBrowserPage.java;h=1e881cf2abc8b5ef4774601bb4cd37ad24b3a2d0;hb=414ee1b03f7155ccb5049ede303dd01020ddcd94;hp=37268ecbd576e2acca68a74f428330d1ab351ce8;hpb=de928fae67034e4694d7d8e8ea73573d400491f4;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/ImageBrowserPage.java b/src/main/java/net/pterodactylus/sone/web/ImageBrowserPage.java index 37268ec..1e881cf 100644 --- a/src/main/java/net/pterodactylus/sone/web/ImageBrowserPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ImageBrowserPage.java @@ -17,14 +17,16 @@ package net.pterodactylus.sone.web; +import static com.google.common.collect.FluentIterable.from; +import static net.pterodactylus.sone.data.Album.FLATTENER; +import static net.pterodactylus.sone.data.Album.NOT_EMPTY; +import static net.pterodactylus.sone.data.Album.TITLE_COMPARATOR; + import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import com.google.common.base.Optional; -import com.google.common.collect.FluentIterable; - import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Sone; @@ -34,6 +36,8 @@ import net.pterodactylus.util.number.Numbers; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; +import com.google.common.base.Optional; + /** * The image browser page is the entry page for the image management. * @@ -65,17 +69,17 @@ public class ImageBrowserPage extends SoneTemplatePage { super.processTemplate(request, templateContext); String albumId = request.getHttpRequest().getParam("album", null); if (albumId != null) { - Album album = webInterface.getCore().getAlbum(albumId, false); + Optional album = webInterface.getCore().getAlbum(albumId); templateContext.set("albumRequested", true); - templateContext.set("album", album); + templateContext.set("album", album.orNull()); templateContext.set("page", request.getHttpRequest().getParam("page")); return; } String imageId = request.getHttpRequest().getParam("image", null); if (imageId != null) { - Image image = webInterface.getCore().getImage(imageId, false); + Optional image = webInterface.getCore().getImage(imageId); templateContext.set("imageRequested", true); - templateContext.set("image", image); + templateContext.set("image", image.orNull()); return; } String soneId = request.getHttpRequest().getParam("sone", null); @@ -90,9 +94,9 @@ public class ImageBrowserPage extends SoneTemplatePage { templateContext.set("galleryRequested", true); List albums = new ArrayList(); for (Sone sone : webInterface.getCore().getSones()) { - albums.addAll(FluentIterable.from(sone.getAlbums()).transformAndConcat(Album.FLATTENER).toList()); + albums.addAll(from(sone.getRootAlbum().getAlbums()).transformAndConcat(FLATTENER).filter(NOT_EMPTY).toList()); } - Collections.sort(albums, Album.TITLE_COMPARATOR); + Collections.sort(albums, TITLE_COMPARATOR); Pagination albumPagination = new Pagination(albums, 12).setPage(Numbers.safeParseInteger(request.getHttpRequest().getParam("page"), 0)); templateContext.set("albumPagination", albumPagination); templateContext.set("albums", albumPagination.getItems());