gui: change name, author
[fanfix.git] / src / be / nikiroo / fanfix / library / CacheLibrary.java
index 29920e8902b0090354ae7d82680fe7d4bdf866d3..918b763ff376b9a07075aceb41bff4023936f5e5 100644 (file)
@@ -117,7 +117,12 @@ public class CacheLibrary extends BasicLibrary {
                        return custom;
                }
 
-               return cacheLib.getSourceCover(source);
+               Image cached = cacheLib.getSourceCover(source);
+               if (cached != null) {
+                       return cached;
+               }
+
+               return lib.getSourceCover(source);
        }
 
        @Override
@@ -136,7 +141,7 @@ public class CacheLibrary extends BasicLibrary {
        @Override
        public void setSourceCover(String source, String luid) {
                lib.setSourceCover(source, luid);
-               cacheLib.setSourceCover(source, getSourceCover(source));
+               cacheLib.setSourceCover(source, getCover(luid));
        }
 
        @Override
@@ -154,7 +159,7 @@ public class CacheLibrary extends BasicLibrary {
        }
 
        @Override
-       protected void deleteInfo(String luid) {
+       protected void invalidateInfo(String luid) {
                if (luid == null) {
                        metas = null;
                } else if (metas != null) {
@@ -165,8 +170,8 @@ public class CacheLibrary extends BasicLibrary {
                        }
                }
 
-               cacheLib.deleteInfo(luid);
-               lib.deleteInfo(luid);
+               cacheLib.invalidateInfo(luid);
+               lib.invalidateInfo(luid);
        }
 
        @Override
@@ -205,8 +210,8 @@ public class CacheLibrary extends BasicLibrary {
        }
 
        @Override
-       public synchronized void changeSource(String luid, String newSource,
-                       Progress pg) throws IOException {
+       protected synchronized void changeSTA(String luid, String newSource,
+                       String newTitle, String newAuthor, Progress pg) throws IOException {
                if (pg == null) {
                        pg = new Progress();
                }
@@ -223,14 +228,16 @@ public class CacheLibrary extends BasicLibrary {
                }
 
                if (isCached(luid)) {
-                       cacheLib.changeSource(luid, newSource, pgCache);
+                       cacheLib.changeSTA(luid, newSource, newTitle, newAuthor, pgCache);
                }
                pgCache.done();
 
-               lib.changeSource(luid, newSource, pgOrig);
+               lib.changeSTA(luid, newSource, newTitle, newAuthor, pgOrig);
                pgOrig.done();
 
                meta.setSource(newSource);
+               meta.setTitle(newTitle);
+               meta.setAuthor(newAuthor);
                pg.done();
        }
 
@@ -249,6 +256,9 @@ public class CacheLibrary extends BasicLibrary {
 
        /**
         * Clear the {@link Story} from the cache.
+        * <p>
+        * The next time we try to retrieve the {@link Story}, it may be required to
+        * cache it again.
         * 
         * @param luid
         *            the story to clear