Map<OwnIdentity, Map<String, Identity>> currentIdentities = new HashMap<OwnIdentity, Map<String, Identity>>();
Map<String, OwnIdentity> currentOwnIdentities = new HashMap<String, OwnIdentity>();
+ Set<OwnIdentity> ownIdentities = null;
try {
/* get all identities with the wanted context from WoT. */
- Set<OwnIdentity> ownIdentities = webOfTrustConnector.loadAllOwnIdentities();
+ 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. */
+ /* load trusted identities. */
for (OwnIdentity ownIdentity : ownIdentities) {
if ((context != null) && !ownIdentity.hasContext(context)) {
continue;
}
+ currentOwnIdentities.put(ownIdentity.getId(), ownIdentity);
Set<Identity> trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, context);
Map<String, Identity> identities = new HashMap<String, Identity>();
for (Identity identity : trustedIdentities) {
identities.put(identity.getId(), identity);
}
+ }
+ } catch (WebOfTrustException wote1) {
+ logger.log(Level.WARNING, "WoT has disappeared!", wote1);
+ ownIdentities = null;
+ }
+
+ if (ownIdentities != null) {
+
+ /* check for changes. */
+ checkOwnIdentities(currentOwnIdentities);
+
+ /* now check for changes in remote identities. */
+ for (OwnIdentity ownIdentity : currentOwnIdentities.values()) {
/* find new identities. */
for (Identity currentIdentity : currentIdentities.get(ownIdentity).values()) {
}
}
}
-
- /* remember the current set of identities. */
- oldIdentities = currentIdentities;
}
- } catch (WebOfTrustException wote1) {
- logger.log(Level.WARNING, "WoT has disappeared!", wote1);
+ /* remember the current set of identities. */
+ oldIdentities = currentIdentities;
}
/* wait a minute before checking again. */