From fcaabe0a9b8bb09aabe0e2a1451c3cb00d5cfbf4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Wed, 17 Nov 2010 13:45:18 +0100 Subject: [PATCH] Add method to download a Sone from a specific URI. --- .../net/pterodactylus/sone/core/SoneDownloader.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java index 2310aca..46d8540 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java @@ -114,11 +114,25 @@ public class SoneDownloader extends AbstractService { * The Sone to fetch */ public void fetchSone(Sone sone) { + fetchSone(sone, sone.getRequestUri()); + } + + /** + * Fetches the updated Sone. This method can be used to fetch a Sone from a + * specific URI (which happens when {@link Core#isSoneRescueMode() „Sone + * rescue mode“} is active). + * + * @param sone + * The Sone to fetch + * @param soneUri + * The URI to fetch the Sone from + */ + public void fetchSone(Sone sone, FreenetURI soneUri) { if (core.getSoneStatus(sone) == SoneStatus.downloading) { return; } - logger.log(Level.FINE, "Starting fetch for Sone “%s” from %s…", new Object[] { sone, sone.getRequestUri().setMetaString(new String[] { "sone.xml" }) }); - FreenetURI requestUri = sone.getRequestUri().setMetaString(new String[] { "sone.xml" }); + logger.log(Level.FINE, "Starting fetch for Sone “%s” from %s…", new Object[] { sone, soneUri }); + FreenetURI requestUri = soneUri.setMetaString(new String[] { "sone.xml" }); core.setSoneStatus(sone, SoneStatus.downloading); try { Pair fetchResults = freenetInterface.fetchUri(requestUri); -- 2.7.4