Author: rdonkin
Date: Fri May 27 14:00:14 2011
New Revision: 1128311

URL: http://svn.apache.org/viewvc?rev=1128311&view=rev
Log:
MAILETDOCS-4 Pushed building descriptors into subclasses, and specialised.

Modified:
    
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
    
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
    
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/MailetdocsReport.java

Modified: 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
URL: 
http://svn.apache.org/viewvc/james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java?rev=1128311&r1=1128310&r2=1128311&view=diff
==============================================================================
--- 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
 (original)
+++ 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
 Fri May 27 14:00:14 2011
@@ -39,12 +39,6 @@ import org.apache.maven.reporting.MavenR
 public abstract class AbstractMailetdocsReport extends AbstractMavenReport {
     
     /**
-     * @parameter expression="${reactorProjects}"
-     * @readonly
-     */
-    private List<MavenProject> reactorProjects; 
-    
-    /**
      * Directory where reports will go.
      * 
      * @parameter expression="${project.reporting.outputDirectory}"
@@ -111,7 +105,7 @@ public abstract class AbstractMailetdocs
 
     private void writeDescriptions() {
         
-        final List<MailetMatcherDescriptor> descriptors = buildDescriptors();
+        final List<MailetMatcherDescriptor> descriptors = 
buildSortedDescriptors();
         
         @SuppressWarnings("unchecked")
         final List<MailetMatcherDescriptor> matchers = 
(List<MailetMatcherDescriptor>) CollectionUtils.select(descriptors,
@@ -151,17 +145,9 @@ public abstract class AbstractMailetdocs
         }
     }
 
-    private List<MailetMatcherDescriptor> buildDescriptors() {
+    private List<MailetMatcherDescriptor> buildSortedDescriptors() {
         
-        final DefaultDescriptorsExtractor extractor = new 
DefaultDescriptorsExtractor();
-        if (project.isExecutionRoot()) {
-            for (final MavenProject project : reactorProjects) {
-                extractor.extract(project, getLog());
-            }
-        } else {
-            extractor.extract(project, getLog());
-        }
-        final List<MailetMatcherDescriptor> descriptors = 
extractor.descriptors();
+        final List<MailetMatcherDescriptor> descriptors = 
buildDescriptors(this.project);
         
         Collections.sort(descriptors, new 
Comparator<MailetMatcherDescriptor>() {
 
@@ -173,6 +159,8 @@ public abstract class AbstractMailetdocs
         return descriptors;
     }
 
+    protected abstract List<MailetMatcherDescriptor> 
buildDescriptors(MavenProject project);
+
     private void outputDescriptorIndex(List<MailetMatcherDescriptor> 
descriptors, String title) {
         
         getSink().section2();

Modified: 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
URL: 
http://svn.apache.org/viewvc/james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java?rev=1128311&r1=1128310&r2=1128311&view=diff
==============================================================================
--- 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
 (original)
+++ 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/AggregateMailetdocsReport.java
 Fri May 27 14:00:14 2011
@@ -19,6 +19,10 @@
 
 package org.apache.james.mailet;
 
+import java.util.List;
+
+import org.apache.maven.project.MavenProject;
+
 
 /**
  * <p>Generates catalog and reports on mailets and matchers.</p>
@@ -33,5 +37,24 @@ package org.apache.james.mailet;
  * @aggregator
  */
 public class AggregateMailetdocsReport extends AbstractMailetdocsReport {
+
+    /**
+     * @parameter expression="${reactorProjects}"
+     * @readonly
+     */
+    private List<MavenProject> reactorProjects;
+
+    protected List<MailetMatcherDescriptor> buildDescriptors(MavenProject 
project) {
+        final DefaultDescriptorsExtractor extractor = new 
DefaultDescriptorsExtractor();
+        if (project.isExecutionRoot()) {
+            for (final MavenProject subproject : reactorProjects) {
+                extractor.extract(subproject, getLog());
+            }
+        } else {
+            extractor.extract(project, getLog());
+        }
+        final List<MailetMatcherDescriptor> descriptors = 
extractor.descriptors();
+        return descriptors;
+    }
     
 }

Modified: 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/MailetdocsReport.java
URL: 
http://svn.apache.org/viewvc/james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/MailetdocsReport.java?rev=1128311&r1=1128310&r2=1128311&view=diff
==============================================================================
--- 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/MailetdocsReport.java
 (original)
+++ 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/MailetdocsReport.java
 Fri May 27 14:00:14 2011
@@ -19,6 +19,10 @@
 
 package org.apache.james.mailet;
 
+import java.util.List;
+
+import org.apache.maven.project.MavenProject;
+
 
 /**
  * <p>Generates catalog and reports on mailets and matchers.</p>
@@ -32,5 +36,10 @@ package org.apache.james.mailet;
  * @requiresDependencyResolution compile
  */
 public class MailetdocsReport extends AbstractMailetdocsReport {
+
+    protected List<MailetMatcherDescriptor> buildDescriptors(final 
MavenProject project) {
+        final List<MailetMatcherDescriptor> descriptors = new 
DefaultDescriptorsExtractor().extract(project, getLog()).descriptors();
+        return descriptors;
+    }
     
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to