X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FLocalLibrary.java;h=bdded01810ebedc0452867175da9eb1b3899ffdb;hb=9e2fad3600cd08eca73d45cb5c991d98095842aa;hp=54ad1d66769d8962cf5516a2bc5c6302e04e0ac6;hpb=efa3c511f39ab1432675e3b75b9b7b32d579f1c3;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/LocalLibrary.java b/src/be/nikiroo/fanfix/library/LocalLibrary.java index 54ad1d6..bdded01 100644 --- a/src/be/nikiroo/fanfix/library/LocalLibrary.java +++ b/src/be/nikiroo/fanfix/library/LocalLibrary.java @@ -86,7 +86,7 @@ public class LocalLibrary extends BasicLibrary { this.lastId = 0; this.stories = null; - this.sourceCovers = new HashMap(); + this.sourceCovers = null; baseDir.mkdirs(); } @@ -98,12 +98,25 @@ public class LocalLibrary extends BasicLibrary { @Override public File getFile(String luid, Progress pg) { - File[] files = getStories(pg).get(getInfo(luid)); + Instance.getTraceHandler().trace( + this.getClass().getSimpleName() + ": get file for " + luid); + + File file = null; + String mess = "no file found for "; + + MetaData meta = getInfo(luid); + Instance.getTraceHandler().trace("(info is: " + meta + ")"); + + File[] files = getStories(pg).get(meta); if (files != null) { - return files[1]; + mess = "file retrieved for "; + file = files[1]; } - return null; + Instance.getTraceHandler().trace( + this.getClass().getSimpleName() + ": " + mess + luid); + + return file; } @Override @@ -134,7 +147,7 @@ public class LocalLibrary extends BasicLibrary { @Override protected void deleteInfo(String luid) { stories = null; - sourceCovers = new HashMap(); + sourceCovers = null; } @Override @@ -199,6 +212,10 @@ public class LocalLibrary extends BasicLibrary { @Override public Image getSourceCover(String source) { + if (sourceCovers == null) { + getStories(null); + } + if (!sourceCovers.containsKey(source)) { sourceCovers.put(source, super.getSourceCover(source)); } @@ -208,6 +225,10 @@ public class LocalLibrary extends BasicLibrary { @Override public void setSourceCover(String source, String luid) { + if (sourceCovers == null) { + getStories(null); + } + sourceCovers.put(source, getCover(luid)); File cover = new File(getExpectedDir(source), ".cover"); try { @@ -273,8 +294,6 @@ public class LocalLibrary extends BasicLibrary { } super.imprt(other, luid, pg); - - deleteInfo(); } /** @@ -414,7 +433,8 @@ public class LocalLibrary extends BasicLibrary { * @param pg * the optional {@link Progress} * - * @return the list of stories + * @return the list of stories (for each item, the first {@link File} is the info file, the + * second file is the target {@link File}) */ private synchronized Map getStories(Progress pg) { if (pg == null) { @@ -425,6 +445,7 @@ public class LocalLibrary extends BasicLibrary { if (stories == null) { stories = new HashMap(); + sourceCovers = new HashMap(); lastId = 0; @@ -520,6 +541,10 @@ public class LocalLibrary extends BasicLibrary { * the cover image */ void setSourceCover(String source, Image coverImage) { + if (sourceCovers == null) { + getStories(null); + } + sourceCovers.put(source, coverImage); File cover = new File(getExpectedDir(source), ".cover"); try {