}
@Override
- public synchronized Story getStory(String luid, MetaData meta, Progress pg) {
- String normal = Instance.getUiConfig().getString(
- UiConfig.GUI_NON_IMAGES_DOCUMENT_TYPE);
- String images = Instance.getUiConfig().getString(
- UiConfig.GUI_IMAGES_DOCUMENT_TYPE);
- String type = meta.isImageDocument() ? images : normal;
-
- MetaData cachedMeta = meta.clone();
- cachedMeta.setType(type);
+ public synchronized MetaData getInfo(String luid) {
+ MetaData info = cacheLib.getInfo(luid);
+ if (info == null) {
+ info = lib.getInfo(luid);
+ }
- return super.getStory(luid, cachedMeta, pg);
+ return info;
}
@Override
- public synchronized File getFile(final String luid, Progress pg) {
+ public synchronized Story getStory(String luid, MetaData meta, 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 {
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();
}
lib.delete(luid);
- MetaData meta = getInfo(luid);
- if (meta != null) {
- metas.remove(meta);
- }
+ invalidateInfo(luid);
}
@Override
meta.setTitle(newTitle);
meta.setAuthor(newAuthor);
pg.done();
+
+ invalidateInfo(luid);
}
/**