X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Ffcp%2Fplugin%2FWebOfTrustPlugin.java;h=0650d766834e94b2c0295bbea458be1bbedfdd32;hb=abfaaaaf34399a54283cc3a514a9ab7ac1d4508a;hp=b0c6ea4c52db8c6fec919ecf002ad208e5636af9;hpb=a18de5dcab8c81ec8c8671f71e4363a1a4e15d37;p=jFCPlib.git diff --git a/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java b/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java index b0c6ea4..0650d76 100644 --- a/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java +++ b/src/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java @@ -227,6 +227,36 @@ public class WebOfTrustPlugin { } /** + * Returns the identities that trust the given identity. + * + * @param identity + * The identity to get the trusters for + * @param context + * The context to get the trusters for + * @return The identities and their trust values + * @throws IOException + * if an I/O error occurs + * @throws FcpException + * if an FCP error occurs + */ + public Map getTrusters(Identity identity, String context) throws IOException, FcpException { + Map replies = fcpClient.sendPluginMessage("plugins.WoT.WoT", createParameters("Message", "GetTrusters", "Identity", identity.getIdentifier(), "Context", context)); + if (!replies.get("Message").equals("Identities")) { + throw new FcpException("WebOfTrust Plugin did not reply with “Identities” message!"); + } + Map identityTrusts = new HashMap(); + for (int identityIndex = 1; replies.containsKey("Identity" + identityIndex); identityIndex++) { + String identifier = replies.get("Identity" + identityIndex); + String nickname = replies.get("Nickname" + identityIndex); + String requestUri = replies.get("RequestURI" + identityIndex); + byte trust = Byte.parseByte(replies.get("Value" + identityIndex)); + String comment = replies.get("Comment" + identityIndex); + identityTrusts.put(new Identity(identifier, nickname, requestUri), new IdentityTrust(trust, comment)); + } + return identityTrusts; + } + + /** * Sets the trust given to the given identify by the given own identity. * * @param ownIdentity @@ -333,6 +363,52 @@ public class WebOfTrustPlugin { } /** + * Container for the trust given from one identity to another. + * + * @author David ‘Bombe’ Roden <bombe@freenetproject.org> + */ + public static class IdentityTrust { + + /** The trust given to the identity. */ + private final byte trust; + + /** The command for the trust value. */ + private final String comment; + + /** + * Creates a new identity trust container. + * + * @param trust + * The trust given to the identity + * @param comment + * The comment for the trust value + */ + public IdentityTrust(byte trust, String comment) { + this.trust = trust; + this.comment = comment; + } + + /** + * Returns the trust value given to the identity. + * + * @return The trust value + */ + public byte getTrust() { + return trust; + } + + /** + * Returns the comment for the trust value. + * + * @return The comment for the trust value + */ + public String getComment() { + return comment; + } + + } + + /** * Container that stores the trust that is calculated by taking all trustees * and their trust lists into account. *