separate support name and BasicSupport
[fanfix.git] / src / be / nikiroo / fanfix / supported / BasicSupport.java
index 6843a02ef26f26a09de8869cbc1a1e1489fb493d..0b0e66c401cff6532efe281c79c1aed7f385f4ce 100644 (file)
@@ -38,13 +38,6 @@ public abstract class BasicSupport {
        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();
-
        /**
         * Check if the given resource is supported by this {@link BasicSupport}.
         * 
@@ -295,7 +288,7 @@ public abstract class BasicSupport {
                                                        getDesc(), isHtml(), null));
                }
 
-               pg.setProgress(100);
+               pg.done();
                return story;
        }
 
@@ -348,9 +341,7 @@ public abstract class BasicSupport {
                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());
 
@@ -358,9 +349,7 @@ public abstract class BasicSupport {
                pg.addProgress(pgGetChapters, 10);
                story.setChapters(new ArrayList<Chapter>());
                List<Entry<String, URL>> chapters = getChapters(pgGetChapters);
-               if (!pgGetChapters.isDone()) {
-                       pgGetChapters.setProgress(pgGetChapters.getMax()); // 20%
-               }
+               pgGetChapters.done(); // 20%
 
                if (chapters != null) {
                        Progress pgChaps = new Progress("Extracting chapters", 0,
@@ -385,16 +374,10 @@ public abstract class BasicSupport {
 
                                String content = getChapterContent(chapUrl, i,
                                                pgGetChapterContent);
-                               if (!pgGetChapterContent.isDone()) {
-                                       pgGetChapterContent.setProgress(pgGetChapterContent
-                                                       .getMax());
-                               }
-
+                               pgGetChapterContent.done();
                                Chapter cc = BasicSupportPara.makeChapter(this, chapUrl, i,
                                                chapName, content, isHtml(), pgMakeChapter);
-                               if (!pgMakeChapter.isDone()) {
-                                       pgMakeChapter.setProgress(pgMakeChapter.getMax());
-                               }
+                               pgMakeChapter.done();
 
                                words += cc.getWords();
                                story.getChapters().add(cc);
@@ -404,10 +387,11 @@ public abstract class BasicSupport {
                        }
 
                        pgChaps.setName("Extracting chapters");
-               } else {
-                       pg.setProgress(80);
+                       pgChaps.done();
                }
 
+               pg.done();
+
                return story;
        }
 
@@ -453,7 +437,8 @@ public abstract class BasicSupport {
         *            the type
         * @param url
         *            the {@link URL} to support (can be NULL to get an
-        *            "abstract support")
+        *            "abstract support"; if not NULL, will be used as the source
+        *            URL)
         * 
         * @return an implementation that supports it, or NULL
         */