package net.pterodactylus.sone.core;
+import static net.pterodactylus.sone.data.Sone.TO_FREENET_URI;
+
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.util.service.AbstractService;
+
import freenet.keys.FreenetURI;
+import com.google.common.base.Optional;
+
/**
* The Sone rescuer downloads older editions of a Sone and updates the currently
* stored Sone with it.
this.core = core;
this.soneDownloader = soneDownloader;
this.sone = sone;
- currentEdition = sone.getRequestUri().getEdition();
+ currentEdition = TO_FREENET_URI.apply(sone).getEdition();
}
//
}
if (fetching) {
core.lockSone(sone);
- FreenetURI soneUri = sone.getRequestUri().setKeyType("SSK").setDocName("Sone-" + currentEdition).setMetaString(new String[] { "sone.xml" });
+ FreenetURI soneUri = TO_FREENET_URI.apply(sone).setKeyType("SSK").setDocName("Sone-" + currentEdition).setMetaString(new String[] { "sone.xml" });
System.out.println("URI: " + soneUri);
- Sone fetchedSone = soneDownloader.fetchSone(sone, soneUri, true);
+ Optional<Sone> fetchedSone = soneDownloader.fetchSone(sone, soneUri, true);
System.out.println("Sone: " + fetchedSone);
- lastFetchSuccessful = (fetchedSone != null);
+ lastFetchSuccessful = fetchedSone.isPresent();
if (lastFetchSuccessful) {
- core.updateSone(fetchedSone, true);
+ core.updateSone(fetchedSone.get(), true);
}
fetching = false;
}