Filter future replies when encoding single posts.
[Sone.git] / src / main / java / net / pterodactylus / sone / fcp / GetPostFeedCommand.java
index b22d356..60f6e41 100644 (file)
@@ -28,12 +28,12 @@ import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.freenet.fcp.FcpException;
 
-import com.google.common.base.Optional;
-import com.google.common.collect.Collections2;
-
 import freenet.support.SimpleFieldSet;
 import freenet.support.api.Bucket;
 
+import com.google.common.base.Optional;
+import com.google.common.collect.Collections2;
+
 /**
  * Implementation of an FCP interface for other clients or plugins to
  * communicate with Sone.
@@ -52,12 +52,9 @@ public class GetPostFeedCommand extends AbstractSoneCommand {
                super(core);
        }
 
-       /**
-        * {@inheritDoc}
-        */
        @Override
        public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
-               Sone sone = getSone(parameters, "Sone", true);
+               Sone sone = getMandatoryLocalSone(parameters, "Sone");
                int startPost = getInt(parameters, "StartPost", 0);
                int maxPosts = getInt(parameters, "MaxPosts", -1);
 
@@ -70,17 +67,17 @@ public class GetPostFeedCommand extends AbstractSoneCommand {
                        }
                        allPosts.addAll(friendSone.get().getPosts());
                }
-               allPosts.addAll(getCore().getDirectedPosts(sone.getId()));
+               allPosts.addAll(getCore().getDatabase().getDirectedPosts(sone.getId()));
                allPosts = Collections2.filter(allPosts, Post.FUTURE_POSTS_FILTER);
 
                List<Post> sortedPosts = new ArrayList<Post>(allPosts);
                Collections.sort(sortedPosts, Post.TIME_COMPARATOR);
 
                if (sortedPosts.size() < startPost) {
-                       return new Response("PostFeed", encodePosts(Collections.<Post> emptyList(), "Posts.", false));
+                       return new Response("PostFeed", encodePosts(Collections.<Post> emptyList(), "Posts."));
                }
 
-               return new Response("PostFeed", encodePosts(sortedPosts.subList(startPost, (maxPosts == -1) ? sortedPosts.size() : Math.min(startPost + maxPosts, sortedPosts.size())), "Posts.", true));
+               return new Response("PostFeed", encodePostsWithReplies(sortedPosts.subList(startPost, (maxPosts == -1) ? sortedPosts.size() : Math.min(startPost + maxPosts, sortedPosts.size())), "Posts."));
        }
 
 }