X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FWebOfTrustConnector.java;h=08f512c68a802bf7c7919f4e616bc2ca94a1119b;hb=6ab999d8120ca28c4a1cb7370ae9e8ac61504556;hp=7127e8f403973e14dcad01980232de3d889162be;hpb=feaefb2cecf0ca30b7d94e126ca0384435546c08;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java b/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java index 7127e8f..08f512c 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java @@ -25,6 +25,9 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; +import net.pterodactylus.sone.freenet.plugin.ConnectorListener; +import net.pterodactylus.sone.freenet.plugin.PluginConnector; +import net.pterodactylus.sone.freenet.plugin.PluginException; import net.pterodactylus.util.logging.Logging; import freenet.support.SimpleFieldSet; import freenet.support.api.Bucket; @@ -71,10 +74,10 @@ public class WebOfTrustConnector implements ConnectorListener { * Loads all own identities from the Web of Trust plugin. * * @return All own identity - * @throws PluginException + * @throws WebOfTrustException * if the own identities can not be loaded */ - public Set loadAllOwnIdentities() throws PluginException { + public Set loadAllOwnIdentities() throws WebOfTrustException { Reply reply = performRequest(SimpleFieldSetConstructor.create().put("Message", "GetOwnIdentities").get(), "OwnIdentities"); SimpleFieldSet fields = reply.getFields(); int ownIdentityCounter = -1; @@ -87,9 +90,9 @@ public class WebOfTrustConnector implements ConnectorListener { String requestUri = fields.get("RequestURI" + ownIdentityCounter); String insertUri = fields.get("InsertURI" + ownIdentityCounter); String nickname = fields.get("Nickname" + ownIdentityCounter); - OwnIdentity ownIdentity = new OwnIdentity(id, nickname, requestUri, insertUri); - ownIdentity.setContexts(parseContexts("Contexts" + ownIdentityCounter, fields)); - ownIdentity.setProperties(parseProperties("Properties" + ownIdentityCounter, fields)); + DefaultOwnIdentity ownIdentity = new DefaultOwnIdentity(this, id, nickname, requestUri, insertUri); + ownIdentity.setContextsPrivate(parseContexts("Contexts" + ownIdentityCounter + ".", fields)); + ownIdentity.setPropertiesPrivate(parseProperties("Properties" + ownIdentityCounter + ".", fields)); ownIdentities.add(ownIdentity); } return ownIdentities; @@ -133,9 +136,9 @@ public class WebOfTrustConnector implements ConnectorListener { } String nickname = fields.get("Nickname" + identityCounter); String requestUri = fields.get("RequestURI" + identityCounter); - Identity identity = new Identity(id, nickname, requestUri); - identity.setContexts(parseContexts("Contexts" + identityCounter, fields)); - identity.setProperties(parseProperties("Properties" + identityCounter, fields)); + DefaultIdentity identity = new DefaultIdentity(id, nickname, requestUri); + identity.setContextsPrivate(parseContexts("Contexts" + identityCounter + ".", fields)); + identity.setPropertiesPrivate(parseProperties("Properties" + identityCounter + ".", fields)); identities.add(identity); } return identities; @@ -265,11 +268,11 @@ public class WebOfTrustConnector implements ConnectorListener { Map properties = new HashMap(); int propertiesCounter = -1; while (true) { - String propertyName = fields.get(prefix + "Property" + ++propertiesCounter + "Name"); + String propertyName = fields.get(prefix + "Property" + ++propertiesCounter + ".Name"); if (propertyName == null) { break; } - String propertyValue = fields.get(prefix + "Property" + propertiesCounter + "Value"); + String propertyValue = fields.get(prefix + "Property" + propertiesCounter + ".Value"); properties.put(propertyName, propertyValue); } return properties; @@ -320,6 +323,10 @@ public class WebOfTrustConnector implements ConnectorListener { reply.wait(60000 - (System.currentTimeMillis() - now)); } if (reply.getFields() == null) { + for (String targetMessage : targetMessages) { + replies.remove(targetMessage); + } + replies.remove("Error"); throw new PluginException("Timeout waiting for " + targetMessages[0] + "!"); } } catch (InterruptedException ie1) {