X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityManager.java;h=5b86db4bf52b70a434f18ed4e09947a46b6cb67c;hb=321944aaef9b855078973b96db2df6a7f35c092e;hp=bca6ac11a962ddb961fc2c8e28b94395ec1c978b;hpb=61fea0173ef87542cae35247e6356ef36f2664d3;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java index bca6ac1..5b86db4 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java @@ -30,6 +30,9 @@ import net.pterodactylus.sone.freenet.plugin.PluginException; import net.pterodactylus.util.logging.Logging; import net.pterodactylus.util.service.AbstractService; +import com.google.inject.Inject; +import com.google.inject.name.Named; + /** * The identity manager takes care of loading and storing identities, their * contexts, and properties. It does so in a way that does not expose errors via @@ -77,7 +80,8 @@ public class IdentityManager extends AbstractService { * The context to focus on (may be {@code null} to ignore * contexts) */ - public IdentityManager(WebOfTrustConnector webOfTrustConnector, String context) { + @Inject + public IdentityManager(WebOfTrustConnector webOfTrustConnector, @Named("WebOfTrustContext") String context) { super("Sone Identity Manager", false); this.webOfTrustConnector = webOfTrustConnector; this.context = context; @@ -186,14 +190,20 @@ public class IdentityManager extends AbstractService { /* load trusted identities. */ for (OwnIdentity ownIdentity : ownIdentities) { + currentOwnIdentities.put(ownIdentity.getId(), ownIdentity); + Map identities = new HashMap(); + currentIdentities.put(ownIdentity, identities); + + /* + * if the context doesn’t match, skip getting trusted + * identities. + */ if ((context != null) && !ownIdentity.hasContext(context)) { continue; } - currentOwnIdentities.put(ownIdentity.getId(), ownIdentity); + /* load trusted identities. */ Set trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, context); - Map identities = new HashMap(); - currentIdentities.put(ownIdentity, identities); for (Identity identity : trustedIdentities) { identities.put(identity.getId(), identity); }