import net.pterodactylus.sone.freenet.fcp.Command;
import net.pterodactylus.sone.freenet.fcp.FcpException;
import net.pterodactylus.sone.template.SoneAccessor;
+import net.pterodactylus.util.filter.Filters;
import freenet.node.FSParseException;
import freenet.support.SimpleFieldSet;
*
* @param posts
* The posts to encode
+ * @param includeReplies
+ * {@code true} to include the replies, {@code false} to not
+ * include the replies
* @return The simple field set containing the posts
*/
- public SimpleFieldSet encodePosts(Collection<? extends Post> posts) {
+ public SimpleFieldSet encodePosts(Collection<? extends Post> posts, boolean includeReplies) {
SimpleFieldSetBuilder postBuilder = new SimpleFieldSetBuilder();
int postIndex = 0;
}
postBuilder.put(postPrefix + ".Time", post.getTime());
postBuilder.put(postPrefix + ".Text", post.getText());
+ if (includeReplies) {
+ postBuilder.put(encodeReplies(Filters.filteredList(core.getReplies(post), Reply.FUTURE_REPLIES_FILTER), postPrefix + "."));
+ }
}
return postBuilder.get();
Collections.sort(sortedPosts, Post.TIME_COMPARATOR);
if (sortedPosts.size() < startPost) {
- return new Response(encodePosts(Collections.<Post> emptyList()));
+ return new Response(encodePosts(Collections.<Post> emptyList(), false));
}
- return new Response(encodePosts(sortedPosts.subList(startPost, (maxPosts == -1) ? sortedPosts.size() : Math.min(startPost + maxPosts, sortedPosts.size()))));
+ return new Response(encodePosts(sortedPosts.subList(startPost, (maxPosts == -1) ? sortedPosts.size() : Math.min(startPost + maxPosts, sortedPosts.size())), true));
}
}