X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FFreenetInterface.java;h=b3b32b3ad446152ba8b39891f2068fec4f899eaf;hb=135c25fa4317cbf607049935b183bfa71d532278;hp=f2cbec6930992a41dbe1291251e2ffeb62180d5a;hpb=2d20ecfaf31c653140e4135c42f8233e001dacb2;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java index f2cbec6..b3b32b3 100644 --- a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java +++ b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java @@ -1,5 +1,5 @@ /* - * Sone - FreenetInterface.java - Copyright © 2010–2016 David Roden + * Sone - FreenetInterface.java - Copyright © 2010–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 @@ -96,7 +96,7 @@ public class FreenetInterface { private final RequestClient requestClient = new RequestClientBuilder().realTime().build(); /** The USK callbacks. */ - private final Map soneUskCallbacks = new HashMap(); + private final Map soneUskCallbacks = new HashMap<>(); /** The not-Sone-related USK callbacks. */ private final Map uriUskCallbacks = Collections.synchronizedMap(new HashMap()); @@ -327,7 +327,7 @@ public class FreenetInterface { }; try { node.clientCore.uskManager.subscribe(USK.create(uri), uskCallback, true, requestClient); - uriUskCallbacks.put(uri, uskCallback); + uriUskCallbacks.put(USK.create(uri).clearCopy().getURI(), uskCallback); } catch (MalformedURLException mue1) { logger.log(Level.WARNING, String.format("Could not subscribe to USK: %s", uri), mue1); } @@ -340,12 +340,12 @@ public class FreenetInterface { * The URI to unregister the USK watcher for */ public void unregisterUsk(FreenetURI uri) { - USKCallback uskCallback = uriUskCallbacks.remove(uri); - if (uskCallback == null) { - logger.log(Level.INFO, String.format("Could not unregister unknown USK: %s", uri)); - return; - } try { + USKCallback uskCallback = uriUskCallbacks.remove(USK.create(uri).clearCopy().getURI()); + if (uskCallback == null) { + logger.log(Level.INFO, String.format("Could not unregister unknown USK: %s", uri)); + return; + } node.clientCore.uskManager.unsubscribe(USK.create(uri), uskCallback); } catch (MalformedURLException mue1) { logger.log(Level.INFO, String.format("Could not unregister invalid USK: %s", uri), mue1);