X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneRescuer.java;h=60451274548b77f5b6ace075db02aba46a01ea44;hb=b7f0567e2a3e88f2327dfdb045a1b0e4bca9dcac;hp=f45e3513eb9836e9187290f2bd6e2f8e36699592;hpb=0e8f7804ce344bdd69f5ecc7febe25a60a53561d;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneRescuer.java b/src/main/java/net/pterodactylus/sone/core/SoneRescuer.java index f45e351..6045127 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneRescuer.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneRescuer.java @@ -1,5 +1,5 @@ /* - * Sone - SoneRescuer.java - Copyright © 2011–2013 David Roden + * Sone - SoneRescuer.java - Copyright © 2011–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 @@ -24,8 +24,6 @@ import freenet.keys.FreenetURI; /** * The Sone rescuer downloads older editions of a Sone and updates the currently * stored Sone with it. - * - * @author David ‘Bombe’ Roden */ public class SoneRescuer extends AbstractService { @@ -110,18 +108,6 @@ public class SoneRescuer extends AbstractService { } /** - * Sets the edition to rescue. - * - * @param edition - * The edition to rescue - * @return This Sone rescuer - */ - public SoneRescuer setEdition(long edition) { - currentEdition = edition; - return this; - } - - /** * Sets whether the last fetch was successful. * * @return {@code true} if the last fetch was successful, {@code false} @@ -137,15 +123,22 @@ public class SoneRescuer extends AbstractService { // /** - * Starts the next fetch. If you want to fetch a different edition than “the - * next older one,” remember to call {@link #setEdition(long)} before - * calling this method. + * Starts the next fetch. */ public void startNextFetch() { fetching = true; notifySyncObject(); } + /** + * Starts the next fetch. + */ + public void startNextFetchWithSkip() { + currentEdition--; + fetching = true; + notifySyncObject(); + } + // // SERVICE METHODS // @@ -161,13 +154,14 @@ public class SoneRescuer extends AbstractService { } if (fetching) { core.lockSone(sone); - FreenetURI soneUri = sone.getRequestUri().setKeyType("SSK").setDocName("Sone-" + currentEdition).setMetaString(new String[] { "sone.xml" }); + FreenetURI soneUri = sone.getRequestUri().setKeyType("SSK").setDocName("Sone-" + getNextEdition()).setMetaString(new String[] { "sone.xml" }); System.out.println("URI: " + soneUri); Sone fetchedSone = soneDownloader.fetchSone(sone, soneUri, true); System.out.println("Sone: " + fetchedSone); lastFetchSuccessful = (fetchedSone != null); if (lastFetchSuccessful) { core.updateSone(fetchedSone, true); + currentEdition = getNextEdition(); } fetching = false; }