X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityManager.java;h=779655723e0ecb8f1b5cc62fd0a332fc1f48cdaa;hb=e01b70a4ccf10908ffdf694d857c7df1d1d48dca;hp=ef8b3b6f5536b795e1f93d175e60efad4a586e7d;hpb=62ebf3da00001abb841c92128c4fdb57d0795ee2;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 ef8b3b6..7796557 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java @@ -263,6 +263,15 @@ public class IdentityManager extends AbstractService { Set ownIdentities; try { ownIdentities = webOfTrustConnector.loadAllOwnIdentities(); + + /* check for changes. */ + for (OwnIdentity ownIdentity : ownIdentities) { + currentOwnIdentities.put(ownIdentity.getId(), ownIdentity); + } + checkOwnIdentities(currentOwnIdentities); + + /* now filter for context and get all identities. */ + currentOwnIdentities.clear(); for (OwnIdentity ownIdentity : ownIdentities) { if ((context != null) && !ownIdentity.hasContext(context)) { continue; @@ -273,8 +282,6 @@ public class IdentityManager extends AbstractService { } } - checkOwnIdentities(currentOwnIdentities); - /* find removed identities. */ for (Identity oldIdentity : oldIdentities.values()) { if (!currentIdentities.containsKey(oldIdentity.getId())) {