X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FKnownSonesPage.java;h=b08b6e39064ecd1878fa85365b93399899aed35a;hb=9e4db46b86d084eba9029906e779ec1d96f78ac4;hp=d413f6177d1e9393630e453c46c3505458038355;hpb=bd2cbb229f68fb2535cf6010befa9c4a276d2ee6;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/KnownSonesPage.java b/src/main/java/net/pterodactylus/sone/web/KnownSonesPage.java index d413f61..b08b6e3 100644 --- a/src/main/java/net/pterodactylus/sone/web/KnownSonesPage.java +++ b/src/main/java/net/pterodactylus/sone/web/KnownSonesPage.java @@ -22,7 +22,10 @@ import java.util.Collections; import java.util.List; import net.pterodactylus.sone.data.Sone; +import net.pterodactylus.util.collection.Pagination; +import net.pterodactylus.util.number.Numbers; import net.pterodactylus.util.template.Template; +import net.pterodactylus.util.template.TemplateContext; /** * This page shows all known Sones. @@ -51,11 +54,26 @@ public class KnownSonesPage extends SoneTemplatePage { * {@inheritDoc} */ @Override - protected void processTemplate(Request request, Template template) throws RedirectException { - super.processTemplate(request, template); + protected void processTemplate(Request request, TemplateContext templateContext) throws RedirectException { + super.processTemplate(request, templateContext); List knownSones = new ArrayList(webInterface.getCore().getSones()); Collections.sort(knownSones, Sone.NICE_NAME_COMPARATOR); - template.set("knownSones", knownSones); + Pagination sonePagination = new Pagination(knownSones, 25).setPage(Numbers.safeParseInteger(request.getHttpRequest().getParam("page"), 0)); + templateContext.set("pagination", sonePagination); + templateContext.set("knownSones", sonePagination.getItems()); + } + + /** + * {@inheritDoc} + */ + @Override + protected void postProcess(Request request, TemplateContext templateContext) { + super.postProcess(request, templateContext); + @SuppressWarnings("unchecked") + List sones = (List) templateContext.get("knownSones"); + for (Sone sone : sones) { + webInterface.getCore().markSoneKnown(sone); + } } }