X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetLikesAjaxPage.java;h=1a5286f27f9df48ac306c79715340becfff1a401;hb=6e9a43ccd93ae125720547c0fe421dc81a54ba90;hp=293b4b0d4f35884cdcdbe489b540cae5d0e0bacd;hpb=5723a2bb28376b0972a63bae2124846116cf6ca5;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/GetLikesAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/GetLikesAjaxPage.java index 293b4b0..1a5286f 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/GetLikesAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/GetLikesAjaxPage.java @@ -1,5 +1,5 @@ /* - * Sone - GetLikesAjaxPage.java - Copyright © 2010–2012 David Roden + * Sone - GetLikesAjaxPage.java - Copyright © 2010–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 @@ -31,6 +31,8 @@ import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.json.JsonArray; import net.pterodactylus.util.json.JsonObject; +import com.google.common.base.Optional; + /** * AJAX page that retrieves the number of “likes” a {@link Post} has. * @@ -63,12 +65,18 @@ public class GetLikesAjaxPage extends JsonPage { return createErrorJsonObject("invalid-" + type + "-id"); } if ("post".equals(type)) { - Post post = webInterface.getCore().getPost(id); - Set sones = webInterface.getCore().getLikes(post); + Optional post = webInterface.getCore().getPost(id); + if (!post.isPresent()) { + return createErrorJsonObject("invalid-post-id"); + } + Set sones = webInterface.getCore().getLikes(post.get()); return createSuccessJsonObject().put("likes", sones.size()).put("sones", getSones(sones)); } else if ("reply".equals(type)) { - PostReply reply = webInterface.getCore().getReply(id); - Set sones = webInterface.getCore().getLikes(reply); + Optional reply = webInterface.getCore().getPostReply(id); + if (!reply.isPresent()) { + return createErrorJsonObject("invalid-reply-id"); + } + Set sones = webInterface.getCore().getLikes(reply.get()); return createSuccessJsonObject().put("likes", sones.size()).put("sones", getSones(sones)); } return createErrorJsonObject("invalid-type");