import net.pterodactylus.sone.freenet.fcp.FcpException;
import net.pterodactylus.sone.template.SoneAccessor;
-import com.google.common.base.Optional;
-import com.google.common.collect.Collections2;
-
import freenet.node.FSParseException;
import freenet.support.SimpleFieldSet;
+import com.google.common.base.Optional;
+import com.google.common.collect.Collections2;
+
/**
* Abstract base implementation of a {@link Command} with Sone-related helper
* methods.
protected Post getPost(SimpleFieldSet simpleFieldSet, String parameterName) throws FcpException {
try {
String postId = simpleFieldSet.getString(parameterName);
- Optional<Post> post = core.getPost(postId);
+ Optional<Post> post = core.getDatabase().getPost(postId);
if (!post.isPresent()) {
throw new FcpException("Could not load post from “" + postId + "”.");
}
postBuilder.put(prefix + "ID", post.getId());
postBuilder.put(prefix + "Sone", post.getSone().getId());
- if (post.hasRecipient()) {
+ if (post.getRecipientId().isPresent()) {
postBuilder.put(prefix + "Recipient", post.getRecipientId().get());
}
postBuilder.put(prefix + "Time", post.getTime());
postBuilder.put(encodeLikes(core.getLikes(post), prefix + "Likes."));
if (includeReplies) {
- List<PostReply> replies = core.getReplies(post);
+ List<PostReply> replies = core.getReplies(post.getId());
postBuilder.put(encodeReplies(replies, prefix));
}
String postPrefix = prefix + postIndex++;
postBuilder.put(encodePost(post, postPrefix + ".", includeReplies));
if (includeReplies) {
- postBuilder.put(encodeReplies(Collections2.filter(core.getReplies(post), Reply.FUTURE_REPLY_FILTER), postPrefix + "."));
+ postBuilder.put(encodeReplies(Collections2.filter(core.getReplies(post.getId()), Reply.FUTURE_REPLY_FILTER), postPrefix + "."));
}
}
// OBJECT METHODS
//
- /**
- * {@inheritDoc}
- */
@Override
public String toString() {
return getClass().getName() + "[writeAccess=" + writeAccess + "]";