X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffcp%2FCreatePostCommand.java;h=8ffba7446b026fe6f18560dcdda627cd8483154f;hb=c4eb31ab64627adfdeed2a445d67883371203e99;hp=f6c5dd9ca1c794acc127c55e0a21a233682c1811;hpb=45803a1c678d6811f7bbf85d50c79844031be0f0;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/fcp/CreatePostCommand.java b/src/main/java/net/pterodactylus/sone/fcp/CreatePostCommand.java index f6c5dd9..8ffba74 100644 --- a/src/main/java/net/pterodactylus/sone/fcp/CreatePostCommand.java +++ b/src/main/java/net/pterodactylus/sone/fcp/CreatePostCommand.java @@ -17,20 +17,21 @@ 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 David ‘Bombe’ Roden */ public class CreatePostCommand extends AbstractSoneCommand { @@ -45,21 +46,18 @@ public class CreatePostCommand extends AbstractSoneCommand { super(core, true); } - /** - * {@inheritDoc} - */ @Override public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException { - Sone sone = getSone(parameters, "Sone", true); + Sone sone = getMandatoryLocalSone(parameters, "Sone"); String text = getString(parameters, "Text"); Sone recipient = null; if (parameters.get("Recipient") != null) { - recipient = getSone(parameters, "Recipient", false); + recipient = getMandatorySone(parameters, "Recipient"); } 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()); }