X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityLoader.java;h=b446e71cabc9d20d9aff62e5009c07bf75254f01;hb=6a5b585e731597b33beed8f58a0e79b9f0c37f96;hp=ff7e65f035aa5b6a65e3e4a44a9b0ed91eff3709;hpb=2bacfa78f3191fd9847574a6c8b218a4882844a4;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java index ff7e65f..b446e71 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java @@ -1,5 +1,5 @@ /* - * Sone - IdentityLoader.java - Copyright © 2013–2016 David Roden + * Sone - IdentityLoader.java - Copyright © 2013–2019 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,40 +17,40 @@ package net.pterodactylus.sone.freenet.wot; -import static java.util.Collections.emptySet; -import static net.pterodactylus.sone.freenet.wot.Context.extractContext; +import java.util.*; +import java.util.logging.*; +import javax.annotation.*; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; +import com.google.common.base.*; +import com.google.inject.*; +import net.pterodactylus.sone.freenet.plugin.*; -import net.pterodactylus.sone.freenet.plugin.PluginException; - -import com.google.common.base.Optional; -import com.google.inject.Inject; +import static java.util.concurrent.TimeUnit.*; /** * Loads {@link OwnIdentity}s and the {@link Identity}s they trust. */ public class IdentityLoader { + private final Logger logger = Logger.getLogger(IdentityLoader.class.getName()); private final WebOfTrustConnector webOfTrustConnector; - private final Optional context; + @Nullable + private final Context context; public IdentityLoader(WebOfTrustConnector webOfTrustConnector) { - this(webOfTrustConnector, Optional.absent()); + this(webOfTrustConnector, null); } @Inject - public IdentityLoader(WebOfTrustConnector webOfTrustConnector, Optional context) { + public IdentityLoader(WebOfTrustConnector webOfTrustConnector, @Nullable Context context) { this.webOfTrustConnector = webOfTrustConnector; this.context = context; } public Map> loadIdentities() throws WebOfTrustException { + Stopwatch stopwatch = Stopwatch.createStarted(); Collection currentOwnIdentities = webOfTrustConnector.loadAllOwnIdentities(); + logger.fine("Loaded " + currentOwnIdentities.size() + " own identities in " + (stopwatch.elapsed(MILLISECONDS) / 1000.0) + "s."); return loadTrustedIdentitiesForOwnIdentities(currentOwnIdentities); } @@ -63,7 +63,9 @@ public class IdentityLoader { continue; } - Set trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, context.transform(extractContext)); + Stopwatch stopwatch = Stopwatch.createStarted(); + Set trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, (context == null) ? null : context.getContext()); + logger.fine("Loaded " + trustedIdentities.size() + " identities for " + ownIdentity.getNickname() + " in " + (stopwatch.elapsed(MILLISECONDS) / 1000.0) + "s."); currentIdentities.put(ownIdentity, trustedIdentities); } @@ -71,7 +73,7 @@ public class IdentityLoader { } private boolean identityDoesNotHaveTheCorrectContext(OwnIdentity ownIdentity) { - return context.isPresent() && !ownIdentity.hasContext(context.transform(extractContext).get()); + return (context != null) && !ownIdentity.hasContext(context.getContext()); } }