package net.pterodactylus.sone.fcp;
import static com.google.common.collect.FluentIterable.from;
+import static net.pterodactylus.sone.data.Reply.FUTURE_REPLY_FILTER;
import java.util.Collection;
import java.util.List;
import net.pterodactylus.sone.data.PostReply;
import net.pterodactylus.sone.data.Profile;
import net.pterodactylus.sone.data.Profile.Field;
-import net.pterodactylus.sone.data.Reply;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.freenet.SimpleFieldSetBuilder;
import net.pterodactylus.sone.freenet.fcp.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 {
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();
}
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;
}
int postIndex = 0;
for (Post post : posts) {
String postPrefix = prefix + postIndex++;
- postBuilder.put(encodeReplies(from(post.getReplies()).filter(Reply.FUTURE_REPLY_FILTER).toList(), postPrefix + "."));
+ postBuilder.put(encodeReplies(from(post.getReplies()).filter(FUTURE_REPLY_FILTER).toList(), postPrefix + "."));
}
return postBuilder.get();