You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cr...@apache.org on 2005/01/22 11:21:29 UTC

svn commit: r126030 - /cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java

Author: crossley
Date: Sat Jan 22 02:21:28 2005
New Revision: 126030

URL: http://svn.apache.org/viewcvs?view=rev&rev=126030
Log:
Handle the qdox.parser.ParseException
Improve the listing of all component names.

Modified:
   cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java

Modified: cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java
Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java?view=diff&rev=126030&p1=cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java&r1=126029&p2=cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java&r2=126030
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/tools/src/anttasks/SitemapTask.java	Sat Jan 22 02:21:28 2005
@@ -38,6 +38,7 @@
 import com.thoughtworks.qdox.ant.AbstractQdoxTask;
 import com.thoughtworks.qdox.model.DocletTag;
 import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.parser.ParseException;
 
 /**
  * Generate documentation for sitemap components based on javadoc tags
@@ -154,6 +155,50 @@
     public void setStable(boolean value) {
         this.stable = value;
     }
+
+    /**
+     * Determine the type of the class
+    */
+    private String classType(JavaClass clazz) {
+        if ( clazz.isA(GENERATOR) ) {
+            return "generator";
+        } else if ( clazz.isA(TRANSFORMER) ) {
+            return "transformer";
+        } else if ( clazz.isA(READER) ) {
+            return "reader";
+        } else if ( clazz.isA(SERIALIZER) ) {
+            return "serializer";
+        } else if ( clazz.isA(ACTION) ) {
+            return "action";
+        } else if ( clazz.isA(MATCHER) ) {
+            return "matcher";
+        } else if ( clazz.isA(SELECTOR) ) {
+            return "selector";
+        } else if ( clazz.isA(PIPELINE) ) {
+            return "pipe";
+        // Should qdox resolve recursively? ie: HTMLGenerator isA ServiceableGenerator isA AbstractGenerator isA Generator
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.generation") && (clazz.isA("Generator") || clazz.isA("ServiceableGenerator")) ) {
+            return "generator";
+        } else if ( clazz.isA("org.apache.cocoon.generation.ServiceableGenerator") ) {
+            return "generator";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.transformation") && clazz.isA("Transformer") ) {
+            return "transformer";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.reading") && clazz.isA("Reader") ) {
+            return "reader";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.serialization") && clazz.isA("Serializer") ) {
+            return "serializer";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.acting") && clazz.isA("Action") ) {
+            return "action";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.matching") && clazz.isA("Matcher") ) {
+            return "matcher";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.selection") && clazz.isA("Selector") ) {
+            return "selector";
+        } else if ( clazz.getPackage().equals("org.apache.cocoon.components.pipeline") && clazz.isA("ProcessingPipeline") ) {
+            return "pipe";
+        } else {
+            return null;
+        }            
+    }
     
     /**
      * Execute generator task.
@@ -167,7 +212,12 @@
         List components = (List)cache.get(this.directory);
         if ( components == null ) {
             // this does the hard work :)
-            super.execute();
+            try {
+                super.execute();
+            }
+            catch (ParseException pe) {
+              log("ParseException: " + pe);
+            }
             components = this.collectInfo();
             cache.put(this.directory, components);
         }
@@ -221,15 +271,7 @@
             final JavaClass javaClass = (JavaClass) it.next();
 
             final DocletTag tag = javaClass.getTagByName( NAME_TAG );
-
-            if ( javaClass.isA(ACTION)
-                || javaClass.isA(GENERATOR)
-                || javaClass.isA(MATCHER)
-                || javaClass.isA(PIPELINE)
-                || javaClass.isA(READER)
-                || javaClass.isA(SELECTOR)
-                || javaClass.isA(SERIALIZER)
-                || javaClass.isA(TRANSFORMER)) {
+            if (classType(javaClass) != null) {
                 allComponentNames.add(javaClass.getFullyQualifiedName());
             }
 
@@ -427,7 +469,7 @@
             }
             System.out.println("==== END of implements ===");
             // END TEST CODE
-            this.type = getType(this.javaClass);
+            this.type = classType(this.javaClass);
         }
         
         /* (non-Javadoc)
@@ -705,48 +747,7 @@
             row.appendChild(secondColumn);
             table.appendChild(row);
         }
-        
-        private String getType(JavaClass clazz) {
-            if ( clazz.isA(GENERATOR) ) {
-                return "generator";
-            } else if ( clazz.isA(TRANSFORMER) ) {
-                return "transformer";
-            } else if ( clazz.isA(READER) ) {
-                return "reader";
-            } else if ( clazz.isA(SERIALIZER) ) {
-                return "serializer";
-            } else if ( clazz.isA(ACTION) ) {
-                return "action";
-            } else if ( clazz.isA(MATCHER) ) {
-                return "matcher";
-            } else if ( clazz.isA(SELECTOR) ) {
-                return "selector";
-            } else if ( clazz.isA(PIPELINE) ) {
-                return "pipe";
-            // Should qdox resolve recursively? ie: HTMLGenerator isA ServiceableGenerator isA AbstractGenerator isA Generator
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.generation") && (clazz.isA("Generator") || clazz.isA("ServiceableGenerator")) ) {
-                return "generator";
-            } else if ( clazz.isA("org.apache.cocoon.generation.ServiceableGenerator") ) {
-                return "generator";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.transformation") && clazz.isA("Transformer") ) {
-                return "transformer";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.reading") && clazz.isA("Reader") ) {
-                return "reader";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.serialization") && clazz.isA("Serializer") ) {
-                return "serializer";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.acting") && clazz.isA("Action") ) {
-                return "action";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.matching") && clazz.isA("Matcher") ) {
-                return "matcher";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.selection") && clazz.isA("Selector") ) {
-                return "selector";
-            } else if ( clazz.getPackage().equals("org.apache.cocoon.components.pipeline") && clazz.isA("ProcessingPipeline") ) {
-                return "selector";
-            } else {
-                throw new BuildException("Sitemap component " + clazz.getFullyQualifiedName() + " does not implement a sitemap component interface.");
-            }            
-        }
-        
+
         private void setValue(Node node, String xpath, String value) {
             try {
                 final Node insertNode = (xpath == null ? node : XPathAPI.selectSingleNode(node, xpath));