X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FFreenetInterface.java;h=3baaa7d01c090da9454a4aee5a98a77e4611eb2f;hb=f10d40f746f6c7c716f783da11791d28c1117447;hp=af9aa5a72c1cb6e6e14dead512d904e995791727;hpb=cb7aebca2a351028dd4fdd00dcd637c6aafac79b;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 af9aa5a..3baaa7d 100644 --- a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java +++ b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java @@ -17,6 +17,8 @@ package net.pterodactylus.sone.core; +import static net.pterodactylus.sone.data.Sone.TO_FREENET_URI; + import java.net.MalformedURLException; import java.util.Collections; import java.util.HashMap; @@ -34,6 +36,10 @@ import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.data.TemporaryImage; import net.pterodactylus.util.logging.Logging; +import com.db4o.ObjectContainer; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.eventbus.EventBus; +import com.google.inject.Inject; import freenet.client.ClientMetadata; import freenet.client.FetchException; import freenet.client.FetchResult; @@ -56,11 +62,6 @@ import freenet.node.RequestClient; import freenet.node.RequestStarter; import freenet.support.api.Bucket; import freenet.support.io.ArrayBucket; -import com.db4o.ObjectContainer; - -import com.google.common.annotations.VisibleForTesting; -import com.google.common.eventbus.EventBus; -import com.google.inject.Inject; /** * Contains all necessary functionality for interacting with the Freenet node. @@ -216,7 +217,7 @@ public class FreenetInterface { */ public void registerUsk(final Sone sone, final SoneDownloader soneDownloader) { try { - logger.log(Level.FINE, String.format("Registering Sone “%s” for USK updates at %s…", sone, sone.getRequestUri().setMetaString(new String[] { "sone.xml" }))); + logger.log(Level.FINE, String.format("Registering Sone “%s” for USK updates at %s…", sone, TO_FREENET_URI.apply(sone).setMetaString(new String[]{"sone.xml"}))); USKCallback uskCallback = new USKCallback() { @Override @@ -224,7 +225,7 @@ public class FreenetInterface { public void onFoundEdition(long edition, USK key, ObjectContainer objectContainer, ClientContext clientContext, boolean metadata, short codec, byte[] data, boolean newKnownGood, boolean newSlotToo) { logger.log(Level.FINE, String.format("Found USK update for Sone “%s” at %s, new known good: %s, new slot too: %s.", sone, key, newKnownGood, newSlotToo)); if (edition > sone.getLatestEdition()) { - sone.setLatestEdition(edition); + sone.modify().setLatestEdition(edition).update(); new Thread(new Runnable() { @Override @@ -247,9 +248,9 @@ public class FreenetInterface { }; soneUskCallbacks.put(sone.getId(), uskCallback); boolean runBackgroundFetch = (System.currentTimeMillis() - sone.getTime()) < TimeUnit.DAYS.toMillis(7); - uskManager.subscribe(USK.create(sone.getRequestUri()), uskCallback, runBackgroundFetch, requestClient); + uskManager.subscribe(USK.create(TO_FREENET_URI.apply(sone)), uskCallback, runBackgroundFetch, requestClient); } catch (MalformedURLException mue1) { - logger.log(Level.WARNING, String.format("Could not subscribe USK “%s”!", sone.getRequestUri()), mue1); + logger.log(Level.WARNING, String.format("Could not subscribe USK “%s”!", TO_FREENET_URI.apply(sone)), mue1); } } @@ -266,9 +267,9 @@ public class FreenetInterface { } try { logger.log(Level.FINEST, String.format("Unsubscribing from USK for %s…", sone)); - uskManager.unsubscribe(USK.create(sone.getRequestUri()), uskCallback); + uskManager.unsubscribe(USK.create(TO_FREENET_URI.apply(sone)), uskCallback); } catch (MalformedURLException mue1) { - logger.log(Level.FINE, String.format("Could not unsubscribe USK “%s”!", sone.getRequestUri()), mue1); + logger.log(Level.FINE, String.format("Could not unsubscribe USK “%s”!", TO_FREENET_URI.apply(sone)), mue1); } }