X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=31e26803021b311c369ec5b186ac5d10fd3afe58;hb=76374e3b89fafa5681a2821ad903f29caf1c1349;hp=6dc5040e562472d9d41cf177239357752aa3ed4b;hpb=5587d88ce83e516150b7cbe525d061941ef6ceb0;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 6dc5040..31e2680 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -96,7 +96,7 @@ public class Core extends AbstractService { * @return The local Sones */ public Set localSones() { - return localSones; + return Collections.unmodifiableSet(localSones); } // @@ -137,14 +137,20 @@ public class Core extends AbstractService { if ((name == null) || (name.trim().length() == 0)) { throw new SoneException(Type.INVALID_SONE_NAME); } + String finalRequestUri; + String finalInsertUri; if ((requestUri == null) || (insertUri == null)) { String[] keyPair = freenetInterface.generateKeyPair(); - requestUri = keyPair[0]; - insertUri = keyPair[1]; + finalRequestUri = keyPair[0]; + finalInsertUri = keyPair[1]; + } else { + finalRequestUri = requestUri; + finalInsertUri = insertUri; } Sone sone; try { - sone = new Sone(UUID.randomUUID(), name, new FreenetURI(requestUri), new FreenetURI(insertUri)); + logger.log(Level.FINEST, "Creating new Sone “%s” at %s (%s)…", new Object[] { name, finalRequestUri, finalInsertUri }); + sone = new Sone(UUID.randomUUID(), name, new FreenetURI(finalRequestUri), new FreenetURI(finalInsertUri)); } catch (MalformedURLException mue1) { throw new SoneException(Type.INVALID_URI); } @@ -152,6 +158,16 @@ public class Core extends AbstractService { return sone; } + /** + * Deletes the given Sone from this plugin instance. + * + * @param sone + * The sone to delete + */ + public void deleteSone(Sone sone) { + localSones.remove(sone); + } + // // SERVICE METHODS //