Implement GetProperty message.
[jFCPlib.git] / src / net / pterodactylus / fcp / plugin / WebOfTrustPlugin.java
index fe10f0d..081cda2 100644 (file)
@@ -309,6 +309,86 @@ public class WebOfTrustPlugin {
                }
        }
 
+       /**
+        * Adds the given context to the given identity.
+        *
+        * @param ownIdentity
+        *            The identity to add the context to
+        * @param context
+        *            The context to add
+        * @throws IOException
+        *             if an I/O error occurs
+        * @throws FcpException
+        *             if an FCP error occurs
+        */
+       public void addContext(OwnIdentity ownIdentity, String context) throws IOException, FcpException {
+               Map<String, String> replies = fcpClient.sendPluginMessage("plugins.WoT.WoT", createParameters("Message", "AddContext", "Identity", ownIdentity.getIdentifier(), "Context", context));
+               if (!replies.get("Message").equals("ContextAdded")) {
+                       throw new FcpException("WebOfTrust Plugin did not reply with “ContextAdded” message!");
+               }
+       }
+
+       /**
+        * Removes the given context from the given identity.
+        *
+        * @param ownIdentity
+        *            The identity to remove the context from
+        * @param context
+        *            The context to remove
+        * @throws IOException
+        *             if an I/O error occurs
+        * @throws FcpException
+        *             if an FCP error occurs
+        */
+       public void removeContext(OwnIdentity ownIdentity, String context) throws IOException, FcpException {
+               Map<String, String> replies = fcpClient.sendPluginMessage("plugins.WoT.WoT", createParameters("Message", "RemoveContext", "Identity", ownIdentity.getIdentifier(), "Context", context));
+               if (!replies.get("Message").equals("ContextRemoved")) {
+                       throw new FcpException("WebOfTrust Plugin did not reply with “ContextRemoved” message!");
+               }
+       }
+
+       /**
+        * Sets the given property for the given identity.
+        *
+        * @param ownIdentity
+        *            The identity to set a property for
+        * @param property
+        *            The name of the property to set
+        * @param value
+        *            The value of the property to set
+        * @throws IOException
+        *             if an I/O error occurs
+        * @throws FcpException
+        *             if an FCP error occurs
+        */
+       public void setProperty(OwnIdentity ownIdentity, String property, String value) throws IOException, FcpException {
+               Map<String, String> replies = fcpClient.sendPluginMessage("plugins.WoT.WoT", createParameters("Message", "SetProperty", "Identity", ownIdentity.getIdentifier(), "Property", property, "Value", value));
+               if (!replies.get("Message").equals("PropertyAdded")) {
+                       throw new FcpException("WebOfTrust Plugin did not reply with “PropertyAdded” message!");
+               }
+       }
+
+       /**
+        * Returns the value of the given property for the given identity.
+        *
+        * @param ownIdentity
+        *            The identity to get a property for
+        * @param property
+        *            The name of the property to get
+        * @return The value of the property
+        * @throws IOException
+        *             if an I/O error occurs
+        * @throws FcpException
+        *             if an FCP error occurs
+        */
+       public String getProperty(OwnIdentity ownIdentity, String property) throws IOException, FcpException {
+               Map<String, String> replies = fcpClient.sendPluginMessage("plugins.WoT.WoT", createParameters("Message", "GetProperty", "Identity", ownIdentity.getIdentifier(), "Property", property));
+               if (!replies.get("Message").equals("PropertyValue")) {
+                       throw new FcpException("WebOfTrust Plugin did not reply with “PropertyValue” message!");
+               }
+               return replies.get("Property");
+       }
+
        //
        // PRIVATE METHODS
        //