From: Niki Roo Date: Tue, 17 Sep 2019 06:24:34 +0000 (+0200) Subject: downloader: prepare offline mode X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=commitdiff_plain;h=f1ce03f76073d9ba0777d0f47058d614577fbe2e downloader: prepare offline mode --- diff --git a/libs/nikiroo-utils-5.0.0-dev-sources.jar b/libs/nikiroo-utils-5.0.0-dev-sources.jar new file mode 100644 index 0000000..3a29484 Binary files /dev/null and b/libs/nikiroo-utils-5.0.0-dev-sources.jar differ diff --git a/libs/nikiroo-utils-5.0.0-sources.jar b/libs/nikiroo-utils-5.0.0-sources.jar deleted file mode 100644 index f0364c1..0000000 Binary files a/libs/nikiroo-utils-5.0.0-sources.jar and /dev/null differ diff --git a/src/be/nikiroo/fanfix/DataLoader.java b/src/be/nikiroo/fanfix/DataLoader.java index d342580..3e0e770 100644 --- a/src/be/nikiroo/fanfix/DataLoader.java +++ b/src/be/nikiroo/fanfix/DataLoader.java @@ -28,6 +28,7 @@ public class DataLoader { private Downloader downloader; private Downloader downloaderNoCache; private Cache cache; + private boolean offline; /** * Create a new {@link DataLoader} object. @@ -69,6 +70,41 @@ public class DataLoader { downloaderNoCache = downloader; cache = new CacheMemory(); } + + /** + * This {@link Downloader} is forbidden to try and connect to the network. + *

+ * If TRUE, it will only check the cache (even in no-cache mode!). + *

+ * Default is FALSE. + * + * @return TRUE if offline + */ + public boolean isOffline() { + return offline; + } + + /** + * This {@link Downloader} is forbidden to try and connect to the network. + *

+ * If TRUE, it will only check the cache (even in no-cache mode!). + *

+ * Default is FALSE. + * + * @param offline TRUE for offline, FALSE for online + */ + public void setOffline(boolean offline) { + this.offline = offline; + downloader.setOffline(offline); + downloaderNoCache.setOffline(offline); + + // If we don't, we cannot support no-cache using code in OFFLINE mode + if (offline) { + downloaderNoCache.setCache(cache); + } else { + downloaderNoCache.setCache(null); + } + } /** * The traces handler for this {@link Cache}. diff --git a/src/be/nikiroo/fanfix/test/Test.java b/src/be/nikiroo/fanfix/test/Test.java index 05edcb0..8ca8b7c 100644 --- a/src/be/nikiroo/fanfix/test/Test.java +++ b/src/be/nikiroo/fanfix/test/Test.java @@ -49,6 +49,7 @@ public class Test extends TestLauncher { */ static public void main(String[] args) throws IOException { Instance.init(); + //Instance.getCache().setOffline(true); int result = 0; tempFiles = new TempFiles("fanfix-test");