X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityLoader.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityLoader.java;h=0000000000000000000000000000000000000000;hp=0917130f2fa279b589995334c10c54e4d3cf02ae;hb=d50730f6a330439e0e7ef97ca9329dffe72d5640;hpb=97fe04482ebb8a08e43294acde041c2975cbd8ee diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java deleted file mode 100644 index 0917130..0000000 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityLoader.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.freenet.wot; - -import static java.util.concurrent.TimeUnit.*; -import static net.pterodactylus.sone.freenet.wot.Context.*; - -import java.util.*; -import java.util.logging.*; - -import net.pterodactylus.sone.freenet.plugin.*; - -import com.google.common.base.Optional; -import com.google.common.base.*; -import com.google.inject.*; - -/** - * 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; - - public IdentityLoader(WebOfTrustConnector webOfTrustConnector) { - this(webOfTrustConnector, Optional.absent()); - } - - @Inject - public IdentityLoader(WebOfTrustConnector webOfTrustConnector, Optional 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); - } - - private Map> loadTrustedIdentitiesForOwnIdentities(Collection ownIdentities) throws PluginException { - Map> currentIdentities = new HashMap<>(); - - for (OwnIdentity ownIdentity : ownIdentities) { - if (identityDoesNotHaveTheCorrectContext(ownIdentity)) { - currentIdentities.put(ownIdentity, Collections.emptySet()); - continue; - } - - Stopwatch stopwatch = Stopwatch.createStarted(); - Set trustedIdentities = webOfTrustConnector.loadTrustedIdentities(ownIdentity, context.transform(extractContext)); - logger.fine("Loaded " + trustedIdentities.size() + " identities for " + ownIdentity.getNickname() + " in " + (stopwatch.elapsed(MILLISECONDS) / 1000.0) + "s."); - currentIdentities.put(ownIdentity, trustedIdentities); - } - - return currentIdentities; - } - - private boolean identityDoesNotHaveTheCorrectContext(OwnIdentity ownIdentity) { - return context.isPresent() && !ownIdentity.hasContext(context.transform(extractContext).get()); - } - -}