X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FBasicSupport.java;h=ba2164cacac6f077ab1f4d1c97e23b9d9a56f31d;hb=b990b0024113b9cd0aab28b556439ae843dd5c36;hp=527f4de8310a09fe6e429b7b3bbca39d7cbc767e;hpb=af1f506fb4bb7265645e34cd03c6c7178d6a4da7;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/supported/BasicSupport.java b/src/be/nikiroo/fanfix/supported/BasicSupport.java index 527f4de..ba2164c 100644 --- a/src/be/nikiroo/fanfix/supported/BasicSupport.java +++ b/src/be/nikiroo/fanfix/supported/BasicSupport.java @@ -37,13 +37,10 @@ public abstract class BasicSupport { private URL source; private SupportType type; private URL currentReferer; // with only one 'r', as in 'HTTP'... - - /** - * The name of this support class. - * - * @return the name - */ - protected abstract String getSourceName(); + + static protected BasicSupportHelper bsHelper = new BasicSupportHelper(); + static protected BasicSupportImages bsImages = new BasicSupportImages(); + static protected BasicSupportPara bsPara = new BasicSupportPara(new BasicSupportHelper(), new BasicSupportImages()); /** * Check if the given resource is supported by this {@link BasicSupport}. @@ -84,7 +81,7 @@ public abstract class BasicSupport { protected abstract String getDesc() throws IOException; /** - * Return the list of chapters (name and resource). * + * Return the list of chapters (name and resource). *
* Can be NULL if this {@link BasicSupport} do no use chapters. * @@ -227,8 +224,7 @@ public abstract class BasicSupport { */ protected Document loadDocument(URL source) throws IOException { String url = getCanonicalUrl(source).toString(); - return DataUtil.load(Instance.getCache().open(source, this, false), - "UTF-8", url.toString()); + return DataUtil.load(Instance.getInstance().getCache().open(source, this, false), "UTF-8", url.toString()); } /** @@ -247,27 +243,6 @@ public abstract class BasicSupport { setCurrentReferer(null); } - /** - * Process the given story resource into a partially filled {@link Story} - * object containing the name and metadata, except for the description. - * - * @return the {@link Story} - * - * @throws IOException - * in case of I/O error - */ - public final Story processMeta() throws IOException { - Story story = null; - - try { - story = processMeta(false, null); - } finally { - close(); - } - - return story; - } - /** * Process the given story resource into a partially filled {@link Story} * object containing the name and metadata. @@ -302,28 +277,24 @@ public abstract class BasicSupport { pg.setProgress(50); if (meta.getCover() == null) { - meta.setCover(BasicSupportHelper.getDefaultCover(meta.getSubject())); + meta.setCover(bsHelper.getDefaultCover(meta.getSubject())); } pg.setProgress(60); if (getDesc) { - String descChapterName = Instance.getTrans().getString( - StringId.DESCRIPTION); - story.getMeta().setResume( - BasicSupportPara.makeChapter(this, source, 0, - descChapterName, // - getDesc(), isHtml(), null)); + String descChapterName = Instance.getInstance().getTrans().getString(StringId.DESCRIPTION); + story.getMeta().setResume(bsPara.makeChapter(this, source, 0, descChapterName, // + getDesc(), isHtml(), null)); } - pg.setProgress(100); + pg.done(); return story; } /** - * Actual processing step, without the calls to other methods. - *
- * Will convert the story resource into a fully filled {@link Story} object. + * Process the given story resource into a fully filled {@link Story} + * object. * * @param pg * the optional progress reporter @@ -333,7 +304,7 @@ public abstract class BasicSupport { * @throws IOException * in case of I/O error */ - // TODO: add final + // TODO: ADD final when BasicSupport_Deprecated is gone public Story process(Progress pg) throws IOException { setCurrentReferer(source); login(); @@ -347,8 +318,9 @@ public abstract class BasicSupport { } /** - * Process the given story resource into a fully filled {@link Story} - * object. + * Actual processing step, without the calls to other methods. + *
+ * Will convert the story resource into a fully filled {@link Story} object.
*
* @param pg
* the optional progress reporter
@@ -358,30 +330,28 @@ public abstract class BasicSupport {
* @throws IOException
* in case of I/O error
*/
- public Story doProcess(Progress pg) throws IOException {
+ protected Story doProcess(Progress pg) throws IOException {
if (pg == null) {
pg = new Progress();
} else {
pg.setMinMax(0, 100);
}
+
+ pg.setName("Initialising");
pg.setProgress(1);
Progress pgMeta = new Progress();
pg.addProgress(pgMeta, 10);
Story story = processMeta(true, pgMeta);
- if (!pgMeta.isDone()) {
- pgMeta.setProgress(pgMeta.getMax()); // 10%
- }
+ pgMeta.done(); // 10%
- pg.setName("Retrieving " + story.getMeta().getTitle());
+ pg.setName(story.getMeta().getTitle());
Progress pgGetChapters = new Progress();
pg.addProgress(pgGetChapters, 10);
story.setChapters(new ArrayList