X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FNewPage.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FNewPage.java;h=0000000000000000000000000000000000000000;hp=9eab69a4b628644f93194704877ac39ad6fcd99a;hb=de7568a82eb4150bf6d2b0553841b7b69f84c968;hpb=9acbc5bdec4ccb752e0856a501568b0bb6161579 diff --git a/src/main/java/net/pterodactylus/sone/web/NewPage.java b/src/main/java/net/pterodactylus/sone/web/NewPage.java deleted file mode 100644 index 9eab69a..0000000 --- a/src/main/java/net/pterodactylus/sone/web/NewPage.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Sone - NewPage.java - Copyright © 2013–2016 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.web; - -import static net.pterodactylus.sone.utils.NumberParsers.parseInt; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import net.pterodactylus.sone.data.Post; -import net.pterodactylus.sone.data.PostReply; -import net.pterodactylus.sone.data.Sone; -import net.pterodactylus.sone.notify.PostVisibilityFilter; -import net.pterodactylus.sone.web.page.FreenetRequest; -import net.pterodactylus.util.collection.Pagination; -import net.pterodactylus.util.template.Template; -import net.pterodactylus.util.template.TemplateContext; - -/** - * Page that displays all new posts and replies. The posts are filtered using - * {@link PostVisibilityFilter#isPostVisible(Sone, Post)} and sorted by time. - * - * @author David ‘Bombe’ Roden - */ -public class NewPage extends SoneTemplatePage { - - /** - * Creates a new “new posts and replies” page. - * - * @param template - * The template to render - * @param webInterface - * The Sone web interface - */ - public NewPage(Template template, WebInterface webInterface) { - super("new.html", template, "Page.New.Title", webInterface); - } - - // - // SONETEMPLATEPAGE METHODS - // - - /** - * {@inheritDoc} - */ - @Override - protected void handleRequest(FreenetRequest request, TemplateContext templateContext) throws RedirectException { - /* collect new elements from notifications. */ - Set posts = new HashSet(webInterface.getNewPosts(getCurrentSoneWithoutCreatingSession(request.getToadletContext()))); - for (PostReply reply : webInterface.getNewReplies(getCurrentSoneWithoutCreatingSession(request.getToadletContext()))) { - posts.add(reply.getPost().get()); - } - - /* filter and sort them. */ - List sortedPosts = new ArrayList<>(posts); - Collections.sort(sortedPosts, Post.NEWEST_FIRST); - - /* paginate them. */ - Pagination pagination = new Pagination<>(sortedPosts, webInterface.getCore().getPreferences().getPostsPerPage()).setPage(parseInt(request.getHttpRequest().getParam("page"), 0)); - templateContext.set("pagination", pagination); - templateContext.set("posts", pagination.getItems()); - } - -}