X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityManager.java;h=89e4297e215e014f7c3048f2ee81d0c4e36e4e75;hp=065aa47477020bcf0b66a485543003c5e7f6f5b8;hb=a47643aed43d118ca68044f95451bb5374cdb332;hpb=284d89c3bfd97ebbd21ad8b39093ee318c125ae3 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 065aa47..89e4297 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/IdentityManager.java @@ -1,5 +1,5 @@ /* - * Sone - IdentityManager.java - Copyright © 2010 David Roden + * Sone - IdentityManager.java - Copyright © 2010–2012 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 @@ -26,6 +26,8 @@ import java.util.logging.Level; import java.util.logging.Logger; import net.pterodactylus.sone.freenet.plugin.PluginException; +import net.pterodactylus.util.collection.Mapper; +import net.pterodactylus.util.collection.Mappers; import net.pterodactylus.util.logging.Logging; import net.pterodactylus.util.service.AbstractService; @@ -43,6 +45,7 @@ import net.pterodactylus.util.service.AbstractService; public class IdentityManager extends AbstractService { /** Object used for synchronization. */ + @SuppressWarnings("hiding") private final Object syncObject = new Object() { /* inner class for better lock names. */ }; @@ -140,7 +143,7 @@ public class IdentityManager extends AbstractService { Set allOwnIdentities = getAllOwnIdentities(); for (OwnIdentity ownIdentity : allOwnIdentities) { if (ownIdentity.getId().equals(id)) { - return ownIdentity; + return new DefaultOwnIdentity(webOfTrustConnector, ownIdentity); } } return null; @@ -159,7 +162,17 @@ public class IdentityManager extends AbstractService { newOwnIdentities.put(ownIdentity.getId(), ownIdentity); } checkOwnIdentities(newOwnIdentities); - return ownIdentities; + return Mappers.mappedSet(ownIdentities, new Mapper() { + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("synthetic-access") + public OwnIdentity map(OwnIdentity input) { + return new DefaultOwnIdentity(webOfTrustConnector, input); + } + }); } catch (WebOfTrustException wote1) { logger.log(Level.WARNING, "Could not load all own identities!", wote1); return Collections.emptySet();