Move retrieval of post likes from Core to Post.
[Sone.git] / src / main / java / net / pterodactylus / sone / fcp / AbstractSoneCommand.java
index 1e7a3ed..baa3129 100644 (file)
@@ -119,8 +119,8 @@ public abstract class AbstractSoneCommand extends AbstractCommand {
        }
 
        protected Optional<Sone> getOptionalSone(SimpleFieldSet simpleFieldSet, String parameterName) throws FcpException {
-               String soneId = getMandatoryParameter(simpleFieldSet, parameterName);
-               return core.getSone(soneId);
+               String soneId = getString(simpleFieldSet, parameterName, null);
+               return (soneId == null) ? Optional.<Sone>absent() : core.getSone(soneId);
        }
 
        protected Sone getMandatoryLocalSone(SimpleFieldSet simpleFieldSet, String parameterName) throws FcpException {
@@ -273,7 +273,7 @@ public abstract class AbstractSoneCommand extends AbstractCommand {
        protected SimpleFieldSet encodePostWithReplies(Post post, String prefix) {
                SimpleFieldSetBuilder postBuilder = createPostBuilderFromPost(post, prefix);
 
-               List<PostReply> replies = post.getReplies();
+               List<PostReply> replies = from(post.getReplies()).filter(FUTURE_REPLY_FILTER).toList();
                postBuilder.put(encodeReplies(replies, prefix));
 
                return postBuilder.get();
@@ -289,7 +289,7 @@ public abstract class AbstractSoneCommand extends AbstractCommand {
                }
                postBuilder.put(prefix + "Time", post.getTime());
                postBuilder.put(prefix + "Text", encodeString(post.getText()));
-               postBuilder.put(encodeLikes(core.getLikes(post), prefix + "Likes."));
+               postBuilder.put(encodeLikes(post.getLikes(), prefix + "Likes."));
 
                return postBuilder;
        }