Author: drobiazko
Date: Thu Jun 19 14:27:08 2008
New Revision: 669703

URL: http://svn.apache.org/viewvc?rev=669703&view=rev
Log:
TAPESTRY-2181: The Component Parameters Report should indicate if a component 
supports informal parameters

Modified:
    
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ClassDescription.java
    
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
    
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java

Modified: 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ClassDescription.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ClassDescription.java?rev=669703&r1=669702&r2=669703&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ClassDescription.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ClassDescription.java
 Thu Jun 19 14:27:08 2008
@@ -25,14 +25,17 @@
     private final String className;
 
     private final String description;
+    
+    private final boolean supportsInformalParameters;
 
     private final Map<String, ParameterDescription> parameters = newMap();
 
-    public ClassDescription(String className, String superClassName, String 
description)
+    public ClassDescription(String className, String superClassName, String 
description, boolean supportsInformalParameters)
     {
         this.className = className;
         this.superClassName = superClassName;
         this.description = description;
+        this.supportsInformalParameters = supportsInformalParameters;
     }
 
     public String getClassName()
@@ -55,4 +58,9 @@
         return superClassName;
     }
 
+       public boolean isSupportsInformalParameters()
+       {
+               return supportsInformalParameters;
+       }
+
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java?rev=669703&r1=669702&r2=669703&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
 Thu Jun 19 14:27:08 2008
@@ -403,7 +403,9 @@
                 addChild(row, "td", pd.getDescription());
             }
         }
-
+        
+        if(cd.isSupportsInformalParameters())
+               addChild(section, "p", "Informal parameters: supported");
 
         addExternalDocumentation(body, docSearchPath, className);
 
@@ -740,8 +742,9 @@
 
             String className = element.getAttributeValue("name");
             String superClassName = element.getAttributeValue("super-class");
+            String supportsInformalParameters = 
element.getAttributeValue("supports-informal-parameters");
 
-            ClassDescription cd = new ClassDescription(className, 
superClassName, description);
+            ClassDescription cd = new ClassDescription(className, 
superClassName, description, Boolean.valueOf(supportsInformalParameters));
 
             result.put(className, cd);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java?rev=669703&r1=669702&r2=669703&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ParametersDoclet.java
 Thu Jun 19 14:27:08 2008
@@ -78,9 +78,11 @@
             }
 
             if (!found) return;
+            
+            Map<String, String> annotationValues = findAnnotation(classDoc, 
"SupportsInformalParameters");
 
-            println("<class name=\"%s\" super-class=\"%s\">", 
classDoc.qualifiedTypeName(),
-                    classDoc.superclass().qualifiedTypeName());
+            println("<class name=\"%s\" super-class=\"%s\"  
supports-informal-parameters=\"%s\">", classDoc.qualifiedTypeName(),
+                    classDoc.superclass().qualifiedTypeName(), 
annotationValues!=null);
             print("<description>");
             printDescription(classDoc);
             println("</description>", classDoc.commentText());
@@ -91,7 +93,7 @@
 
                 if (!fd.isPrivate()) continue;
 
-                Map<String, String> annotationValues = 
findParameterAnnotation(fd);
+                annotationValues = findAnnotation(fd, "Parameter");
 
                 if (annotationValues == null) continue;
 
@@ -120,12 +122,12 @@
             return defaultValue;
         }
 
-        private Map<String, String> findParameterAnnotation(FieldDoc fd)
+        private Map<String, String> findAnnotation(ProgramElementDoc doc, 
String name)
         {
-            for (AnnotationDesc annotation : fd.annotations())
+               for (AnnotationDesc annotation : doc.annotations())
             {
                 if (annotation.annotationType().qualifiedTypeName().equals(
-                        "org.apache.tapestry5.annotations.Parameter"))
+                        "org.apache.tapestry5.annotations."+name))
                 {
                     Map<String, String> result = new HashMap<String, String>();
 


Reply via email to