X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FDefaultIdentity.java;h=3f4e66ad788d1c5d718d636594fdf8482e6bf42e;hb=1f70b96444f309fbbf338d474af395ff615d244b;hp=00caf4876289b1ba0b1c532ce615c1748cb1c1ef;hpb=e54f27d746f4c78966f679fef02319ca2e5f9fa3;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java b/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java index 00caf48..3f4e66a 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java @@ -22,6 +22,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import net.pterodactylus.sone.freenet.plugin.PluginException; import net.pterodactylus.util.cache.CacheException; @@ -30,6 +32,8 @@ import net.pterodactylus.util.cache.DefaultCacheItem; import net.pterodactylus.util.cache.MemoryCache; import net.pterodactylus.util.cache.ValueRetriever; import net.pterodactylus.util.cache.WritableCache; +import net.pterodactylus.util.collection.TimedMap; +import net.pterodactylus.util.logging.Logging; /** * A Web of Trust identity. @@ -38,6 +42,9 @@ import net.pterodactylus.util.cache.WritableCache; */ public class DefaultIdentity implements Identity { + /** The logger. */ + private static final Logger logger = Logging.getLogger(DefaultIdentity.class); + /** The web of trust connector. */ private final WebOfTrustConnector webOfTrustConnector; @@ -69,7 +76,7 @@ public class DefaultIdentity implements Identity { } } - }); + }, new TimedMap>(60000)); /** * Creates a new identity. @@ -240,14 +247,27 @@ public class DefaultIdentity implements Identity { * {@inheritDoc} */ @Override - public Trust getTrust(OwnIdentity ownIdentity) throws WebOfTrustException { + public Trust getTrust(OwnIdentity ownIdentity) { try { return trustCache.get(ownIdentity); } catch (CacheException ce1) { - throw new WebOfTrustException("Could not get trust for OwnIdentity: " + ownIdentity, ce1); + logger.log(Level.WARNING, "Could not get trust for OwnIdentity: " + ownIdentity, ce1); + return null; } } + /** + * Sets the trust received for this identity by the given own identity. + * + * @param ownIdentity + * The own identity that gives the trust + * @param trust + * The trust received for this identity + */ + void setTrustPrivate(OwnIdentity ownIdentity, Trust trust) { + trustCache.put(ownIdentity, trust); + } + // // OBJECT METHODS //