X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FCacheLibrary.java;h=e184c1bd6555e7d79547ab61ab774d92e5b608ff;hb=cfdaf6052ddc5ca44cf19f1f6d9f154cc8443024;hp=23f19a9ed323de88cb2202c6cde7462bf53219de;hpb=f19b48e27a56ebab18687debd9ef52581a03f06d;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/library/CacheLibrary.java b/src/be/nikiroo/fanfix/library/CacheLibrary.java index 23f19a9..e184c1b 100644 --- a/src/be/nikiroo/fanfix/library/CacheLibrary.java +++ b/src/be/nikiroo/fanfix/library/CacheLibrary.java @@ -67,6 +67,7 @@ public class CacheLibrary extends BasicLibrary { pg = new Progress(); } + List copy; synchronized (metasLock) { // We make sure that cached metas have precedence if (metasMixed == null) { @@ -86,10 +87,12 @@ public class CacheLibrary extends BasicLibrary { } } } + + copy = new ArrayList(metasMixed); } pg.done(); - return new ArrayList(metasMixed); + return copy; } @Override @@ -326,7 +329,7 @@ public class CacheLibrary extends BasicLibrary { } @Override - public void delete(String luid) throws IOException { + public synchronized void delete(String luid) throws IOException { if (isCached(luid)) { cacheLib.delete(luid); } @@ -404,9 +407,7 @@ public class CacheLibrary extends BasicLibrary { MetaData meta = lib.imprt(url, pgImprt); updateMetaCache(metasReal, meta); - synchronized (metasLock) { - metasMixed = null; - } + metasMixed = null; clearFromCache(meta.getLuid()); @@ -418,7 +419,7 @@ public class CacheLibrary extends BasicLibrary { // BasicLibrary: @Override - protected int getNextId() { + protected String getNextId() { throw new java.lang.InternalError("Should not have been called"); }