X-Git-Url: https://git.pterodactylus.net/?p=WoTNS.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fwotns%2Ffreenet%2Fwot%2FIdentityManager.java;h=1c3075235a0165341d920bcf709a6e5d868269d2;hp=2958ca1d9b30ae0fcda2ada65592a8a7b82a0c65;hb=4bbe0684ed8a346849a1adb0a551b191a1a6e1e8;hpb=fd15f829765e140002a66ae6b370bf2e778be151 diff --git a/src/main/java/net/pterodactylus/wotns/freenet/wot/IdentityManager.java b/src/main/java/net/pterodactylus/wotns/freenet/wot/IdentityManager.java index 2958ca1..1c30752 100644 --- a/src/main/java/net/pterodactylus/wotns/freenet/wot/IdentityManager.java +++ b/src/main/java/net/pterodactylus/wotns/freenet/wot/IdentityManager.java @@ -182,8 +182,10 @@ public class IdentityManager extends AbstractService { */ public Set getTrustedIdentities(OwnIdentity ownIdentity) { Set identities = new HashSet(); - if ((context == null) || ownIdentity.getContexts().contains(context)) { - identities.add(ownIdentity); + for (OwnIdentity additionalOwnIdentity : getAllOwnIdentities()) { + if ((context == null) || additionalOwnIdentity.getContexts().contains(context)) { + identities.add(additionalOwnIdentity); + } } try { Set trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, context); @@ -192,6 +194,7 @@ public class IdentityManager extends AbstractService { newTrustedIdentities.put(trustedIdentity.getId(), trustedIdentity); } checkTrustedIdentities(ownIdentity, newTrustedIdentities); + identities.addAll(trustedIdentities); } catch (WebOfTrustException wote1) { logger.log(Level.WARNING, String.format("Could not load all trusted identities for %s.", ownIdentity), wote1); } @@ -232,7 +235,10 @@ public class IdentityManager extends AbstractService { identities.put(identity.getId(), identity); } - /* add own identities, too, as long as the WoT doesn’t do that. */ + /* + * add own identities, too, as long as the WoT doesn’t do + * that. + */ for (OwnIdentity additionalOwnIdentity : ownIdentities) { if (additionalOwnIdentity == ownIdentity) { continue; @@ -282,6 +288,7 @@ public class IdentityManager extends AbstractService { for (OwnIdentity oldOwnIdentity : currentOwnIdentities.values()) { if (!newOwnIdentities.containsKey(oldOwnIdentity.getId())) { identityListenerManager.fireOwnIdentityRemoved(oldOwnIdentity); + currentTrustedIdentities.remove(oldOwnIdentity); } }