X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FMarkAsKnownPage.java;h=57ea00ff2b0b48e1b431a9beecb56aaf3efa643e;hp=987fa1f4b098598a9397cc246344ef25a63de545;hb=9acbc5bdec4ccb752e0856a501568b0bb6161579;hpb=0df5e91852f737d760c5a9f54c5667309fbadcc2 diff --git a/src/main/java/net/pterodactylus/sone/web/MarkAsKnownPage.java b/src/main/java/net/pterodactylus/sone/web/MarkAsKnownPage.java index 987fa1f..57ea00f 100644 --- a/src/main/java/net/pterodactylus/sone/web/MarkAsKnownPage.java +++ b/src/main/java/net/pterodactylus/sone/web/MarkAsKnownPage.java @@ -1,5 +1,5 @@ /* - * Sone - MarkAsKnownPage.java - Copyright © 2011 David Roden + * Sone - MarkAsKnownPage.java - Copyright © 2011–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 @@ -20,12 +20,15 @@ package net.pterodactylus.sone.web; import java.util.StringTokenizer; import net.pterodactylus.sone.data.Post; +import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Reply; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; +import com.google.common.base.Optional; + /** * Page that lets the user mark a number of {@link Sone}s, {@link Post}s, or * {@link Reply Replie}s as known. @@ -54,8 +57,7 @@ public class MarkAsKnownPage extends SoneTemplatePage { * {@inheritDoc} */ @Override - protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { - super.processTemplate(request, templateContext); + protected void handleRequest(FreenetRequest request, TemplateContext templateContext) throws RedirectException { String type = request.getHttpRequest().getPartAsStringFailsafe("type", 5); if (!type.equals("sone") && !type.equals("post") && !type.equals("reply")) { throw new RedirectException("invalid.html"); @@ -64,23 +66,23 @@ public class MarkAsKnownPage extends SoneTemplatePage { for (StringTokenizer idTokenizer = new StringTokenizer(ids); idTokenizer.hasMoreTokens();) { String id = idTokenizer.nextToken(); if (type.equals("post")) { - Post post = webInterface.getCore().getPost(id, false); - if (post == null) { + Optional post = webInterface.getCore().getPost(id); + if (!post.isPresent()) { continue; } - webInterface.getCore().markPostKnown(post); + webInterface.getCore().markPostKnown(post.get()); } else if (type.equals("reply")) { - Reply reply = webInterface.getCore().getReply(id, false); - if (reply == null) { + Optional reply = webInterface.getCore().getPostReply(id); + if (!reply.isPresent()) { continue; } - webInterface.getCore().markReplyKnown(reply); - } else if (type.equals("sone")) { - Sone sone = webInterface.getCore().getSone(id, false); - if (sone == null) { + webInterface.getCore().markReplyKnown(reply.get()); + } else { + Optional sone = webInterface.getCore().getSone(id); + if (!sone.isPresent()) { continue; } - webInterface.getCore().markSoneKnown(sone); + webInterface.getCore().markSoneKnown(sone.get()); } } String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);