Author: rdonkin
Date: Mon May  9 19:46:08 2011
New Revision: 1101169

URL: http://svn.apache.org/viewvc?rev=1101169&view=rev
Log:
MAILETDOCS-3 Factor out descriptor building.

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

Modified: 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
URL: 
http://svn.apache.org/viewvc/james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java?rev=1101169&r1=1101168&r2=1101169&view=diff
==============================================================================
--- 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
 (original)
+++ 
james/mailet/maven-mailetdocs-plugin/trunk/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
 Mon May  9 19:46:08 2011
@@ -87,34 +87,14 @@ public class DefaultDescriptorsExtractor
             final Class<?> matcherClass = 
classLoader.loadClass(MATCHER_CLASS_NAME);
             
             if (allInterfaces.contains(mailetClass)) {
-                Object m = klass.newInstance();
-                String mailetInfo = (String) klass.getMethod(
-                        "getMailetInfo", null).invoke(m, null);
-                log.info("Found a Mailet: " + klass.getName());
-                MailetMatcherDescriptor mmdesc = new MailetMatcherDescriptor();
-                mmdesc.setName(nextClass.getName());
-                mmdesc.setFullyQualifiedName(nameOfNextClass);
-                mmdesc.setType(MailetMatcherDescriptor.TYPE_MAILET);
-                if (mailetInfo != null && mailetInfo.length() > 0) {
-                    mmdesc.setInfo(mailetInfo);
-                }
-                mmdesc.setClassDocs(nextClass.getComment());
-                res.add(mmdesc);
+                final MailetMatcherDescriptor descriptor = describeMailet(log, 
nextClass,
+                        nameOfNextClass, klass);
+                res.add(descriptor);
 
             } else if (allInterfaces.contains(matcherClass)) {
-                Object m = klass.newInstance();
-                String matcherInfo = (String) klass.getMethod(
-                        "getMatcherInfo", null).invoke(m, null);
-                log.info("Found a Matcher: " + klass.getName());
-                MailetMatcherDescriptor mmdesc = new MailetMatcherDescriptor();
-                mmdesc.setName(nextClass.getName());
-                mmdesc.setFullyQualifiedName(nameOfNextClass);
-                mmdesc.setType(MailetMatcherDescriptor.TYPE_MATCHER);
-                if (matcherInfo != null && matcherInfo.length() > 0) {
-                    mmdesc.setInfo(matcherInfo);
-                }
-                mmdesc.setClassDocs(nextClass.getComment());
-                res.add(mmdesc);
+                final MailetMatcherDescriptor descriptor = describeMatcher(log,
+                        nextClass, nameOfNextClass, klass);
+                res.add(descriptor);
             } else if (allInterfaces.size() > 0) {
                 for (int k = 0; k < allInterfaces.size(); k++) {
                     log.debug("I: " + ((Class) 
allInterfaces.get(k)).getName());
@@ -143,6 +123,48 @@ public class DefaultDescriptorsExtractor
     }
 
 
+    private MailetMatcherDescriptor describeMatcher(Log log,
+            final JavaClass nextClass, final String nameOfNextClass,
+            final Class<?> klass) throws InstantiationException,
+            IllegalAccessException, InvocationTargetException,
+            NoSuchMethodException {
+        Object m = klass.newInstance();
+        String matcherInfo = (String) klass.getMethod(
+                "getMatcherInfo", null).invoke(m, null);
+        log.info("Found a Matcher: " + klass.getName());
+        MailetMatcherDescriptor result = new MailetMatcherDescriptor();
+        result.setName(nextClass.getName());
+        result.setFullyQualifiedName(nameOfNextClass);
+        result.setType(MailetMatcherDescriptor.TYPE_MATCHER);
+        if (matcherInfo != null && matcherInfo.length() > 0) {
+            result.setInfo(matcherInfo);
+        }
+        result.setClassDocs(nextClass.getComment());
+        return result;
+    }
+
+
+    private MailetMatcherDescriptor describeMailet(Log log,
+            final JavaClass nextClass, final String nameOfNextClass,
+            final Class<?> klass) throws InstantiationException,
+            IllegalAccessException, InvocationTargetException,
+            NoSuchMethodException {
+        Object m = klass.newInstance();
+        String mailetInfo = (String) klass.getMethod(
+                "getMailetInfo", null).invoke(m, null);
+        log.info("Found a Mailet: " + klass.getName());
+        MailetMatcherDescriptor mmdesc = new MailetMatcherDescriptor();
+        mmdesc.setName(nextClass.getName());
+        mmdesc.setFullyQualifiedName(nameOfNextClass);
+        mmdesc.setType(MailetMatcherDescriptor.TYPE_MAILET);
+        if (mailetInfo != null && mailetInfo.length() > 0) {
+            mmdesc.setInfo(mailetInfo);
+        }
+        mmdesc.setClassDocs(nextClass.getComment());
+        return mmdesc;
+    }
+
+
     private void logInterfacesImplemented(final Log log, final JavaClass 
nextClass) {
         if (log.isDebugEnabled()) {
             final List<JavaClass> implementedInterfaces = 
getAllInterfacesQdox(nextClass);



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


Reply via email to