From ea61478af3186d881afae3b6d08efb29fbc2fe65 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 24 Jan 2013 07:43:14 +0100 Subject: [PATCH] Add filter for replies with posts. --- src/main/java/net/pterodactylus/sone/data/PostReply.java | 15 +++++++++++++++ .../pterodactylus/sone/web/ajax/GetStatusAjaxPage.java | 8 +------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/pterodactylus/sone/data/PostReply.java b/src/main/java/net/pterodactylus/sone/data/PostReply.java index 36921dd..1dc5f44 100644 --- a/src/main/java/net/pterodactylus/sone/data/PostReply.java +++ b/src/main/java/net/pterodactylus/sone/data/PostReply.java @@ -17,6 +17,9 @@ package net.pterodactylus.sone.data; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; + /** * A reply is like a {@link Post} but can never be posted on its own, it always * refers to another {@link Post}. @@ -26,6 +29,18 @@ package net.pterodactylus.sone.data; public interface PostReply extends Reply { /** + * Filter that selects {@link PostReply}s that have a + * {@link Optional#isPresent() present} {@link #getPost() post}. + */ + public static final Predicate HAS_POST_FILTER = new Predicate() { + + @Override + public boolean apply(PostReply postReply) { + return postReply.getPost().isPresent(); + } + }; + + /** * Returns the ID of the post this reply refers to. * * @return The ID of the post this reply refers to diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java index e69aa12..6caa2fd 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java @@ -122,13 +122,7 @@ public class GetStatusAjaxPage extends JsonPage { }); } /* remove replies to unknown posts. */ - newReplies = Collections2.filter(newReplies, new Predicate() { - - @Override - public boolean apply(PostReply reply) { - return (reply.getPost() != null) && (reply.getPost().getSone() != null); - } - }); + newReplies = Collections2.filter(newReplies, PostReply.HAS_POST_FILTER); JsonArray jsonReplies = new JsonArray(); for (PostReply reply : newReplies) { JsonObject jsonReply = new JsonObject(); -- 2.7.4