You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2008/06/19 23:27:09 UTC

svn commit: r669703 - in /tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo: ClassDescription.java ComponentReport.java ParametersDoclet.java

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>();