}
/**
+ * 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<String, String> parameters = new HashMap<String, String>();
+ 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<String, String> 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.
*
/** The identity’s request URI. */
private final String requestUri;
+ /** The identity’s trust value. */
+ private final Byte trust;
+
+ /** The identity’s score value. */
+ private final Integer score;
+
+ /** The identity’s rank. */
+ private final Integer rank;
+
/**
* Creates a new identity.
*
* The nickname of the identity
* @param requestUri
* The request URI of the identity
+ * @param trust
+ * The trust value of the identity
+ * @param score
+ * The score value of the identity
+ * @param rank
+ * The rank of the identity
*/
- public Identity(String identifier, String nickname, String requestUri) {
+ public Identity(String identifier, String nickname, String requestUri, Byte trust, Integer score, Integer rank) {
this.identifier = identifier;
this.nickname = nickname;
this.requestUri = requestUri;
+ this.trust = trust;
+ this.score = score;
+ this.rank = rank;
}
/**
return requestUri;
}
+ /**
+ * Returns the trust value of this identity.
+ *
+ * @return This identity’s trust value, or {@code null} if this
+ * identity’s trust value is not known
+ */
+ public Byte getTrust() {
+ return trust;
+ }
+
+ /**
+ * Returns the score value of this identity.
+ *
+ * @return This identity’s score value, or {@code null} if this
+ * identity’s score value is not known
+ */
+ public Integer getScore() {
+ return score;
+ }
+
+ /**
+ * Returns the rank of this identity.
+ *
+ * @return This identity’s rank, or {@code null} if this identity’s rank
+ * is not known
+ */
+ public Integer getRank() {
+ return rank;
+ }
+
}
/**