/** The currently known own identities. */
/* synchronize access on syncObject. */
- private Map<String, OwnIdentity> currentOwnIdentities = new HashMap<String, OwnIdentity>();
+ private final Map<String, OwnIdentity> currentOwnIdentities = new HashMap<String, OwnIdentity>();
+
+ /** The last time all identities were loaded. */
+ private volatile long identitiesLastLoaded;
/**
* Creates a new identity manager.
//
/**
+ * Returns the last time all identities were loaded.
+ *
+ * @return The last time all identities were loaded (in milliseconds since
+ * Jan 1, 1970 UTC)
+ */
+ public long getIdentitiesLastLoaded() {
+ return identitiesLastLoaded;
+ }
+
+ /**
* Returns whether the Web of Trust plugin could be reached during the last
* try.
*
/* load trusted identities. */
for (OwnIdentity ownIdentity : ownIdentities) {
+ currentOwnIdentities.put(ownIdentity.getId(), ownIdentity);
+ Map<String, Identity> identities = new HashMap<String, Identity>();
+ 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<Identity> trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, context);
- Map<String, Identity> identities = new HashMap<String, Identity>();
- currentIdentities.put(ownIdentity, identities);
for (Identity identity : trustedIdentities) {
identities.put(identity.getId(), identity);
}
}
identitiesLoaded = true;
+ identitiesLastLoaded = System.currentTimeMillis();
} catch (WebOfTrustException wote1) {
logger.log(Level.WARNING, "WoT has disappeared!", wote1);
}