import net.pterodactylus.util.config.ConfigurationException;
import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.service.AbstractService;
+import freenet.client.FetchResult;
import freenet.keys.FreenetURI;
/**
public Sone getSone(String soneId) {
if (!soneCache.containsKey(soneId)) {
Sone sone = new Sone(soneId);
+ soneDownloader.addSone(sone);
soneCache.put(soneId, sone);
}
return soneCache.get(soneId);
if (localSones.add(sone)) {
SoneInserter soneInserter = new SoneInserter(freenetInterface, sone);
soneInserter.start();
- soneDownloader.addSone(sone);
+ soneDownloader.removeSone(sone);
soneInserters.put(sone, soneInserter);
}
}
}
/**
+ * Loads the Sone from the given request URI.
+ *
+ * @param requestUri
+ * The request URI to load the Sone from
+ */
+ public void loadSone(String requestUri) {
+ try {
+ FetchResult fetchResult = freenetInterface.fetchUri(new FreenetURI(requestUri).setMetaString(new String[] { "sone.xml" }));
+ } catch (MalformedURLException mue1) {
+ logger.log(Level.INFO, "Could not create URI from “" + requestUri + "”.", mue1);
+ }
+ }
+
+ /**
* Deletes the given Sone from this plugin instance.
*
* @param sone