X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FAlbumAccessor.java;h=fcd7a70d5fc17f03707cc7102cc2c830c96ccf43;hp=e2c6f16d78bd7c7e060f2a3b88a77a4173ecb121;hb=c2e868714435ac7c75d77d1911d0dfb00393d051;hpb=89afd4d07bb120cbabd91d07493f4e5f2f74d816 diff --git a/src/main/java/net/pterodactylus/sone/template/AlbumAccessor.java b/src/main/java/net/pterodactylus/sone/template/AlbumAccessor.java index e2c6f16..fcd7a70 100644 --- a/src/main/java/net/pterodactylus/sone/template/AlbumAccessor.java +++ b/src/main/java/net/pterodactylus/sone/template/AlbumAccessor.java @@ -1,5 +1,5 @@ /* - * Sone - AlbumAccessor.java - Copyright © 2011 David Roden + * Sone - AlbumAccessor.java - Copyright © 2011–2013 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,8 +24,8 @@ import java.util.Map; import net.pterodactylus.sone.data.Album; import net.pterodactylus.util.template.Accessor; -import net.pterodactylus.util.template.DataProvider; import net.pterodactylus.util.template.ReflectionAccessor; +import net.pterodactylus.util.template.TemplateContext; /** * {@link Accessor} implementation for {@link Album}s. A property named @@ -40,19 +40,19 @@ public class AlbumAccessor extends ReflectionAccessor { * {@inheritDoc} */ @Override - public Object get(DataProvider dataProvider, Object object, String member) { + public Object get(TemplateContext templateContext, Object object, String member) { Album album = (Album) object; if ("backlinks".equals(member)) { List> backlinks = new ArrayList>(); Album currentAlbum = album; - while (currentAlbum != null) { - backlinks.add(0, createLink("imageBrowser.html?album=" + album.getId(), album.getName())); + while (!currentAlbum.equals(album.getSone().getRootAlbum())) { + backlinks.add(0, createLink("imageBrowser.html?album=" + currentAlbum.getId(), currentAlbum.getTitle())); currentAlbum = currentAlbum.getParent(); } - backlinks.add(0, createLink("viewSone.html?sone=" + album.getSone().getId(), SoneAccessor.getNiceName(album.getSone()))); + backlinks.add(0, createLink("imageBrowser.html?sone=" + album.getSone().getId(), SoneAccessor.getNiceName(album.getSone()))); return backlinks; } - return super.get(dataProvider, object, member); + return super.get(templateContext, object, member); } // @@ -68,7 +68,7 @@ public class AlbumAccessor extends ReflectionAccessor { * The name of the link * @return The created map containing the mappings */ - private Map createLink(String target, String name) { + private static Map createLink(String target, String name) { Map link = new HashMap(); link.put("target", target); link.put("name", name);