From 01f4ece0f9fbdaa2f666d04c001ec0b7d629e252 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Wed, 17 Dec 2025 17:58:58 +0100 Subject: [PATCH] =?utf8?q?=E2=99=BB=EF=B8=8F=20Use=20identity=20parser=20f?= =?utf8?q?or=20parsing=20single=20identities,=20too?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../pterodactylus/fcp/plugin/WebOfTrustPlugin.java | 34 +++++----------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/src/main/java/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java b/src/main/java/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java index bec9dd3..28cd9eb 100644 --- a/src/main/java/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java +++ b/src/main/java/net/pterodactylus/fcp/plugin/WebOfTrustPlugin.java @@ -87,10 +87,7 @@ public class WebOfTrustPlugin { if (!replies.get("Message").equals("IdentityCreated")) { throw new FcpException("WebOfTrust Plugin did not reply with “IdentityCreated” message!"); } - String identifier = replies.get("ID"); - String newRequestUri = replies.get("RequestURI"); - String newInsertUri = replies.get("InsertURI"); - return new OwnIdentity(identifier, nickname, newRequestUri, newInsertUri, emptySet(), emptyMap()); + return parseIdentity(replies, WebOfTrustPlugin::createOwnIdentity); } /** @@ -142,25 +139,7 @@ public class WebOfTrustPlugin { if (!replies.get("Message").equals("OwnIdentities")) { throw new FcpException("WebOfTrust Plugin did not reply with “OwnIdentities” message!"); } - Set ownIdentities = new HashSet(); - for (int identityIndex = 0; replies.containsKey("Identity" + identityIndex); identityIndex++) { - String identity = replies.get("Identity" + identityIndex); - String nickname = replies.get("Nickname" + identityIndex); - String requestUri = replies.get("RequestURI" + identityIndex); - String insertUri = replies.get("InsertURI" + identityIndex); - Set contexts = new HashSet<>(); - for (int contextIndex = 0; replies.containsKey("Contexts" + identityIndex + ".Context" + contextIndex); contextIndex++) { - contexts.add(replies.get("Contexts" + identityIndex + ".Context" + contextIndex)); - } - Map properties = new HashMap<>(); - for (int propertyIndex = 0; replies.containsKey("Properties" + identityIndex + ".Property" + propertyIndex + ".Name"); propertyIndex++) { - String key = replies.get("Properties" + identityIndex + ".Property" + propertyIndex + ".Name"); - String value = replies.get("Properties" + identityIndex + ".Property" + propertyIndex + ".Value"); - properties.put(key, value); - } - ownIdentities.add(new OwnIdentity(identity, nickname, requestUri, insertUri, contexts, properties)); - } - return ownIdentities; + return parseIdentities(replies, WebOfTrustPlugin::createOwnIdentity); } /** @@ -219,9 +198,7 @@ public class WebOfTrustPlugin { if (!replies.get("Message").equals("IdentityAdded")) { throw new FcpException("WebOfTrust Plugin did not reply with “IdentityAdded” message!"); } - String identifier = replies.get("ID"); - String nickname = replies.get("Nickname"); - return new Identity(identifier, nickname, requestUri, emptySet(), emptyMap()); + return parseIdentity(replies, WebOfTrustPlugin::createIdentity); } /** @@ -453,6 +430,11 @@ public class WebOfTrustPlugin { return parameterMap; } + private static I parseIdentity(Map replies, IdentityGenerator identityGenerator) { + IdentityParser parser = v2IdentityParser.canParse(replies, "") ? v2IdentityParser : v1IdentityParser; + return parser.parseSingleIdentity(replies, "", identityGenerator); + } + private static Set parseIdentities(Map replies, IdentityGenerator identityGenerator) { IdentityParser parser = v2IdentityParser.canParse(replies, "") ? v2IdentityParser : v1IdentityParser; return parser.parseMultipleIdentities(replies, "", identityGenerator); -- 2.7.4