Return an optional from the Core already.
[Sone.git] / src / main / java / net / pterodactylus / sone / fcp / CreatePostCommand.java
index f6c5dd9..fcad23c 100644 (file)
 
 package net.pterodactylus.sone.fcp;
 
-import com.google.common.base.Optional;
+import static com.google.common.base.Optional.fromNullable;
+import static net.pterodactylus.sone.data.Identified.GET_ID;
 
 import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.freenet.SimpleFieldSetBuilder;
 import net.pterodactylus.sone.freenet.fcp.FcpException;
+
 import freenet.support.SimpleFieldSet;
 import freenet.support.api.Bucket;
 
 /**
  * FCP command that creates a new {@link Post}.
  *
- * @see Core#createPost(Sone, Sone, String)
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
 public class CreatePostCommand extends AbstractSoneCommand {
@@ -59,7 +60,7 @@ public class CreatePostCommand extends AbstractSoneCommand {
                if (sone.equals(recipient)) {
                        return new ErrorResponse("Sone and Recipient must not be the same.");
                }
-               Post post = getCore().createPost(sone, Optional.fromNullable(recipient), text);
+               Post post = sone.newPostBuilder().to(fromNullable(recipient).transform(GET_ID)).withText(text).build(getCore().postCreated());
                return new Response("PostCreated", new SimpleFieldSetBuilder().put("Post", post.getId()).get());
        }