Move property manipulation to OwnIdentity.
[Sone.git] / src / main / java / net / pterodactylus / sone / freenet / wot / Identity.java
index 090bf7f..b8734c7 100644 (file)
@@ -49,7 +49,7 @@ public class Identity {
        private volatile boolean contextsLoaded = false;
 
        /** The properties of the identity. */
-       private final Map<String, String> properties = Collections.synchronizedMap(new HashMap<String, String>());
+       protected final Map<String, String> properties = Collections.synchronizedMap(new HashMap<String, String>());
 
        /**
         * Creates a new identity.
@@ -102,15 +102,18 @@ public class Identity {
        }
 
        /**
-        * Returns the contexts of the identity.
+        * Returns the contexts of the identity. If the contexts have not been
+        * loaded yet, they will be loaded. If loading the contexts fails, an empty
+        * set is returned.
         *
         * @return The contexts of the identity
-        * @throws PluginException
-        *             if an error occured communicating with the Web of Trust
-        *             plugin
         */
-       public Set<String> getContexts() throws PluginException {
-               return getContexts(false);
+       public Set<String> getContexts() {
+               try {
+                       return getContexts(false);
+               } catch (PluginException pe1) {
+                       return Collections.emptySet();
+               }
        }
 
        /**
@@ -142,7 +145,7 @@ public class Identity {
         *         {@code false} otherwise
         */
        public boolean hasContext(String context) {
-               return contexts.contains(context);
+               return getContexts().contains(context);
        }
 
        /**
@@ -166,30 +169,6 @@ public class Identity {
                return properties.get(name);
        }
 
-       /**
-        * Sets the property with the given name to the given value.
-        *
-        * @param name
-        *            The name of the property to set
-        * @param value
-        *            The new value of the property
-        */
-       public void setProperty(String name, String value) {
-               properties.put(name, value);
-               /* TODO - set property. */
-       }
-
-       /**
-        * Removes the property with the given name.
-        *
-        * @param name
-        *            The name of the property to remove
-        */
-       public void removeProperty(String name) {
-               properties.remove(name);
-               /* TODO - remove property. */
-       }
-
        //
        // OBJECT METHODS
        //