small cached lib fixes
[fanfix.git] / src / be / nikiroo / fanfix / library / CacheLibrary.java
index 74af1b682c3ac21a982a7af0407b7e58edb322c4..bafaf9461a65b60a66a760eee66a9c3fa5d275bd 100644 (file)
@@ -67,27 +67,16 @@ public class CacheLibrary extends BasicLibrary {
 
        @Override
        public synchronized Story getStory(String luid, MetaData meta, Progress pg) {
-               String type = cacheLib.getOutputType(meta.isImageDocument());
-               MetaData cachedMeta = meta.clone();
-               cachedMeta.setType(type);
-
-               return super.getStory(luid, cachedMeta, pg);
-       }
-
-       @Override
-       public synchronized File getFile(final String luid, Progress pg) {
                if (pg == null) {
                        pg = new Progress();
                }
 
                Progress pgImport = new Progress();
                Progress pgGet = new Progress();
-               Progress pgRecall = new Progress();
 
-               pg.setMinMax(0, 5);
+               pg.setMinMax(0, 4);
                pg.addProgress(pgImport, 3);
                pg.addProgress(pgGet, 1);
-               pg.addProgress(pgRecall, 1);
 
                if (!isCached(luid)) {
                        try {
@@ -102,6 +91,31 @@ public class CacheLibrary extends BasicLibrary {
                        pgGet.done();
                }
 
+               String type = cacheLib.getOutputType(meta.isImageDocument());
+               MetaData cachedMeta = meta.clone();
+               cachedMeta.setType(type);
+
+               return cacheLib.getStory(luid, cachedMeta, pg);
+       }
+
+       @Override
+       public synchronized File getFile(final String luid, Progress pg) {
+               if (pg == null) {
+                       pg = new Progress();
+               }
+
+               Progress pgGet = new Progress();
+               Progress pgRecall = new Progress();
+
+               pg.setMinMax(0, 5);
+               pg.addProgress(pgGet, 4);
+               pg.addProgress(pgRecall, 1);
+
+               if (!isCached(luid)) {
+                       getStory(luid, pgGet);
+                       pgGet.done();
+               }
+
                File file = cacheLib.getFile(luid, pgRecall);
                pgRecall.done();