From: David ‘Bombe’ Roden Date: Wed, 10 Jun 2009 22:12:21 +0000 (+0200) Subject: Implement CreateIdentity message. X-Git-Tag: v0.1.1~45 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=265855bd093ea00e069b60480a207f3ca41216f3;p=jFCPlib.git Implement CreateIdentity message. --- diff --git a/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java b/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java index 7e5cc5a..a2b2761 100644 --- a/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java +++ b/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java @@ -50,6 +50,64 @@ public class WebOfTrustPlugin { } /** + * Creates a new identity. + * + * @param nickname + * The nickname of the new identity + * @param context + * The context for the new identity + * @param publishTrustList + * {@code true} if the new identity should publish its trust list + * @return The new identity + * @throws IOException + * if an I/O error occurs + * @throws FcpException + * if an FCP error occurs + */ + public OwnIdentity createIdentity(String nickname, String context, boolean publishTrustList) throws IOException, FcpException { + return createIdentity(nickname, context, publishTrustList, null, null); + } + + /** + * Creates a new identity from the given request and insert URI. + * + * @param nickname + * The nickname of the new identity + * @param context + * The context for the new identity + * @param publishTrustList + * {@code true} if the new identity should publish its trust list + * @param requestUri + * The request URI of the identity + * @param insertUri + * The insert URI of the identity + * @return The new identity + * @throws IOException + * if an I/O error occurs + * @throws FcpException + * if an FCP error occurs + */ + public OwnIdentity createIdentity(String nickname, String context, boolean publishTrustList, String requestUri, String insertUri) throws IOException, FcpException { + Map parameters = new HashMap(); + parameters.put("Message", "CreateIdentity"); + parameters.put("Nickname", nickname); + parameters.put("Context", context); + parameters.put("PublishTrustList", String.valueOf(publishTrustList)); + if ((requestUri != null) && (insertUri != null)) { + parameters.put("RequestURI", requestUri); + parameters.put("InsertURI", insertUri); + } + Map replies = fcpClient.sendPluginMessage("plugins.WoT.WoT", parameters); + if (!replies.get("Message").equals("IdentityCreated")) { + throw new FcpException("WebOfTrust Plugin did not reply with “IdentityCreated” message!"); + } + String identifier = replies.get("ID"); + String newRequestUri = replies.get("RequestURI"); + String newInsertUri = replies.get("InsertURI"); + return new OwnIdentity(identifier, nickname, newRequestUri, newInsertUri); + } + + /** * Returns all own identities of the web-of-trust plugins. Almost all other * commands require an {@link OwnIdentity} to return meaningful values. *