You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2008/04/10 07:10:14 UTC

svn commit: r646651 - in /myfaces/myfaces-build-tools/branches/builder_plugin: myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/ myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/bu...

Author: lu4242
Date: Wed Apr  9 22:10:12 2008
New Revision: 646651

URL: http://svn.apache.org/viewvc?rev=646651&view=rev
Log:
correct and enhance MakeComponentsMojo.java part 2

Added:
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClass11.vm
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClassMacros11.vm
    myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java   (with props)
Modified:
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/MakeComponentsMojo.java
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/qdox/QdoxModelBuilder.java
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/utils/MyfacesUtils.java
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile-flat.xml
    myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile.xml
    myfaces/myfaces-build-tools/branches/builder_plugin/test/api/pom.xml

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/MakeComponentsMojo.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/MakeComponentsMojo.java?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/MakeComponentsMojo.java (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/MakeComponentsMojo.java Wed Apr  9 22:10:12 2008
@@ -79,25 +79,21 @@
 
     /**
      * @parameter expression="src/main/java-templates"
-     * @required
      */
     private File templateSourceDirectory;
 
     /**
      * @parameter expression="${project.build.directory}/maven-faces-plugin/main/java"
-     * @required
      */
     private File generatedSourceDirectory;
 
     /**
      * @parameter
-     * @required
      */
     private String packageContains;
 
     /**
      * @parameter
-     * @required
      */
     private String typePrefix;
 
@@ -229,8 +225,8 @@
             if (component.getTagClass() != null)
             {
                 File f = new File(mainSourceDirectory, StringUtils.replace(
-                    component.getTagClass(), ".", "/")+".java");
-                
+                    component.getClassName(), ".", "/")+".java");
+                                
                 if (!f.exists() && canGenerateComponent(component))
                 {                
                     log.info("Generating tag class:"+component.getTagClass());

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java Wed Apr  9 22:10:12 2008
@@ -53,8 +53,6 @@
     private Boolean _namingContainer;
     private Boolean _children;
     
-    private Boolean _generateTag;
-
     protected Map _properties;
 
     /**
@@ -163,7 +161,7 @@
                 PropertyMeta parentProp = other.getProperty(srcProp.getName());
                 if (parentProp != null)
                 {
-                    if (!srcProp.isTagExcluded().booleanValue())
+                    if (!srcProp.getTagExcluded().booleanValue())
                     {
                         srcProp.setInheritedTag(Boolean.TRUE);
                     }
@@ -312,21 +310,11 @@
         _namingContainer = namingContainer;
     }
 
-    public Boolean isNamingContainer()
+    public Boolean getNamingContainer()
     {
         return ModelUtils.defaultOf(_namingContainer, false);
     }
 
-    public void setGenerateTag(Boolean _generateTag)
-    {
-        this._generateTag = _generateTag;
-    }
-
-    public Boolean isGenerateTag()
-    {
-        return ModelUtils.defaultOf(_generateTag, false);
-    }
-
     /**
      * Specifies if the component supports child components.
      */
@@ -390,14 +378,31 @@
             _propertyTagList = new ArrayList();
             for (Iterator it = _properties.values().iterator(); it.hasNext();){
                 PropertyMeta prop = (PropertyMeta) it.next();
-                if (!prop.isInheritedTag().booleanValue()){
+                if (!prop.getInheritedTag().booleanValue()){
                     _propertyTagList.add(prop);
                 }
             }
             
         }
         return _propertyTagList;
-    }    
+    }
+    
+    private List _propertyComponentList = null; 
+    
+    public Collection getPropertyComponentList(){
+        if (_propertyComponentList == null){
+            _propertyComponentList = new ArrayList();
+            for (Iterator it = _properties.values().iterator(); it.hasNext();){
+                PropertyMeta prop = (PropertyMeta) it.next();
+                if (!prop.getInherited().booleanValue()){
+                    _propertyComponentList.add(prop);
+                }
+            }
+            
+        }
+        return _propertyComponentList;
+    }
+    
     
     /**
      * Returns the package part of the tag class

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java Wed Apr  9 22:10:12 2008
@@ -36,6 +36,7 @@
     private Boolean _required;
     private Boolean _literalOnly;
     private Boolean _transient;
+    private Boolean _stateHolder;
     private String _description;
     private String _longDescription;
     private String   _defaultValue;
@@ -43,7 +44,9 @@
     
     private Boolean _inherited; //Define if this property is inherited from parent component
     private Boolean _inheritedTag; //Define if this property is inherited from tag component
-    private Boolean _tagExcluded; //Define if this property is excluded from tag and tld    
+    private Boolean _tagExcluded; //Define if this property is excluded from tag and tld
+    
+    private Boolean _generated;
 
     public PropertyMeta()
     {
@@ -59,6 +62,7 @@
         _required = pm._required;
         _literalOnly = pm._literalOnly;
         _transient = pm._transient;
+        _stateHolder = pm._stateHolder;
         _description = pm._description;
         _longDescription = pm._longDescription;
         _defaultValue = pm._defaultValue;
@@ -66,7 +70,9 @@
         
         _inherited = pm._inherited;
         _inheritedTag = pm._inheritedTag;
-        _tagExcluded = pm._tagExcluded;    
+        _tagExcluded = pm._tagExcluded;
+        
+        _generated = pm._generated;
     }
     
     /**
@@ -84,9 +90,16 @@
         out.writeElement("required", pm._required);
         out.writeElement("literalOnly", pm._literalOnly);
         out.writeElement("transient", pm._transient);
+        out.writeElement("stateHolder", pm._stateHolder);
         out.writeElement("desc", pm._description);
         out.writeElement("longDesc", pm._longDescription);
         out.writeElement("defaultValue", pm._defaultValue);
+        if (pm._signature != null)            
+            MethodSignatureMeta.writeXml(out, pm._signature);
+        out.writeElement("inherited", pm._inherited);
+        out.writeElement("inheritedTag", pm._inheritedTag);
+        out.writeElement("tagExcluded", pm._tagExcluded);
+        out.writeElement("generated",pm._generated);
         out.endElement("property");
     }
 
@@ -107,10 +120,15 @@
         digester.addBeanPropertySetter(newPrefix + "/required");
         digester.addBeanPropertySetter(newPrefix + "/literalOnly");
         digester.addBeanPropertySetter(newPrefix + "/transient");
+        digester.addBeanPropertySetter(newPrefix + "/stateHolder");
         digester.addBeanPropertySetter(newPrefix + "/desc", "description");
         digester.addBeanPropertySetter(newPrefix + "/longDesc",
                 "longDescription");
         digester.addBeanPropertySetter(newPrefix + "/defaultValue", "defaultValue");
+        digester.addBeanPropertySetter(newPrefix + "/inherited", "inherited");
+        digester.addBeanPropertySetter(newPrefix + "/inheritedTag", "inheritedTag");
+        digester.addBeanPropertySetter(newPrefix + "/tagExcluded", "tagExcluded");
+        digester.addBeanPropertySetter(newPrefix + "/generated", "generated");
         
         MethodSignatureMeta.addXmlRules(digester, newPrefix);
         
@@ -130,10 +148,13 @@
         _required = ModelUtils.merge(this._required, other._required);
         _literalOnly = ModelUtils.merge(this._literalOnly, other._literalOnly);
         _transient = ModelUtils.merge(this._transient, other._transient);
+        _stateHolder = ModelUtils.merge(this._stateHolder, other._stateHolder);
         _description = ModelUtils.merge(this._description, other._description);
         _longDescription = ModelUtils.merge(this._longDescription, other._longDescription);
         _defaultValue = ModelUtils.merge(this._defaultValue, other._defaultValue);
         _signature = (MethodSignatureMeta) ModelUtils.merge(this._signature, other._signature);
+        _generated = ModelUtils.merge(this._generated, other._generated);
+        
     }
 
     /**
@@ -176,7 +197,7 @@
         _transient = transient_;
     }
 
-    public Boolean isTransient()
+    public Boolean getTransient()
     {
         return ModelUtils.defaultOf(_transient, false);
     }
@@ -191,7 +212,7 @@
         _required = required;
     }
 
-    public Boolean isRequired()
+    public Boolean getRequired()
     {
         return ModelUtils.defaultOf(_required, false);
     }
@@ -205,7 +226,7 @@
         _literalOnly = literalOnly;
     }
 
-    public Boolean isLiteralOnly()
+    public Boolean getLiteralOnly()
     {
         return ModelUtils.defaultOf(_literalOnly, false);
     }
@@ -325,7 +346,7 @@
         _inherited = inherited;
     }
 
-    public Boolean isInherited()
+    public Boolean getInherited()
     {
         return ModelUtils.defaultOf(_inherited, false);
     }
@@ -335,7 +356,7 @@
         _inheritedTag = inheritedTag;
     }
 
-    public Boolean isInheritedTag()
+    public Boolean getInheritedTag()
     {
         return ModelUtils.defaultOf(_inheritedTag, false);
     }
@@ -345,17 +366,43 @@
         _tagExcluded = tagExcluded;
     }
 
-    public Boolean isTagExcluded()
+    public Boolean getTagExcluded()
     {
         return ModelUtils.defaultOf(_tagExcluded, false);
     }
+    
+    public void setGenerated(Boolean generated)
+    {
+        _generated = generated;
+    }
+
+    /**
+     * Indicates if the property should be generated
+     * or not.
+     * 
+     * @return
+     */
+    public Boolean getGenerated()
+    {
+        return ModelUtils.defaultOf(_generated, false);
+    }
+
+    public void setStateHolder(Boolean stateHolder)
+    {
+        _stateHolder = stateHolder;
+    }
+
+    public Boolean getStateHolder()
+    {
+        return ModelUtils.defaultOf(_stateHolder, false);
+    }
 
     /**
      * Returns true if this property is a method binding.
      * <p>
      * TODO: what is this for?
      */
-    public boolean isMethodBinding()
+    public boolean getMethodBinding()
     {
         return ("javax.faces.el.MethodBinding".equals(getClassName()));
     }
@@ -365,7 +412,7 @@
      * <p>
      * TODO: what is this for?
      */
-    public boolean isMethodExpression()
+    public boolean getMethodExpression()
     {
         return ("javax.el.MethodExpression".equals(getClassName()));
     }

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/qdox/QdoxModelBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/qdox/QdoxModelBuilder.java?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/qdox/QdoxModelBuilder.java (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/qdox/QdoxModelBuilder.java Wed Apr  9 22:10:12 2008
@@ -442,7 +442,7 @@
                 componentParentClass = null;
             }
         }
-
+                
         String longDescription = clazz.getComment();
         String descDflt = getFirstSentence(longDescription);
         if ((descDflt == null) || (descDflt.length() < 2))
@@ -532,6 +532,7 @@
     {
         Boolean required = getBoolean(clazz, "required", props, null);
         Boolean transientProp = getBoolean(clazz, "transient", props, null);
+        Boolean stateHolder = getBoolean(clazz, "stateHolder", props, null);
         Boolean literalOnly = getBoolean(clazz, "literalOnly", props, null);
 
         String longDescription = ctx.getComment();
@@ -543,15 +544,21 @@
         String shortDescription = getString(clazz, "desc", props, descDflt);
 
         Type returnType = method.getReturns();
-
+        
         PropertyMeta p = new PropertyMeta();
         p.setName(methodToPropName(method.getName()));
         p.setClassName(returnType.toString());
         p.setRequired(required);
         p.setTransient(transientProp);
+        p.setStateHolder(stateHolder);
         p.setLiteralOnly(literalOnly);
         p.setDescription(shortDescription);
         p.setLongDescription(longDescription);
+        
+        //If the method is abstract this should be generated
+        if (method.isAbstract()){
+            p.setGenerated(Boolean.TRUE);
+        }
 
         component.addProperty(p);
     }

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/utils/MyfacesUtils.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/utils/MyfacesUtils.java?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/utils/MyfacesUtils.java (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/utils/MyfacesUtils.java Wed Apr  9 22:10:12 2008
@@ -46,10 +46,10 @@
 
     public static String getJspPropertyType11(PropertyMeta property)
     {
-        if (property.isMethodExpression())
+        if (property.getMethodExpression())
             return "MethodExpression";
 
-        if (property.isMethodBinding())
+        if (property.getMethodBinding())
             return "MethodExpression";
 
         return "String";
@@ -57,13 +57,13 @@
 
     public static String getJspPropertyType12(PropertyMeta property)
     {
-        if (property.isMethodExpression())
+        if (property.getMethodExpression())
             return "MethodExpression";
 
-        if (property.isMethodBinding())
+        if (property.getMethodBinding())
             return "MethodExpression";
 
-        if (!property.isLiteralOnly().booleanValue())
+        if (!property.getLiteralOnly().booleanValue())
             return "ValueExpression";
         else
             return property.getClassName();
@@ -113,7 +113,7 @@
     {
         return ("javax.faces.convert.Converter".equals(propClass));
     }
-    
+        
     public static String getBoxedClass(String className)
     {
         if ("boolean".equals(className))
@@ -371,7 +371,7 @@
         return Character.toLowerCase(eventName.charAt(0))
                 + eventName.substring(1, eventName.length());
     }
-
+    
     /*
     static public String getAlternatePropertyClass(PropertyMeta property)
     {

Added: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClass11.vm
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClass11.vm?rev=646651&view=auto
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClass11.vm (added)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClass11.vm Wed Apr  9 22:10:12 2008
@@ -0,0 +1,88 @@
+// WARNING: This file was automatically generated. Do not edit it directly,
+//          or you will lose your changes.
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package ${component.packageName};
+
+import javax.faces.component.UIComponent;
+import javax.faces.el.ValueBinding;
+import javax.faces.context.FacesContext;
+import $component.parentClassName;
+$utils.importTagClasses($component)
+
+public class ${utils.getClassFromFullClass($component.className)} extends ${utils.getClassFromFullClass($component.parentClassName)}{
+
+    static public final String COMPONENT_FAMILY =
+        "$component.family";
+    static public final String COMPONENT_TYPE =
+        "$component.type";
+    
+    public ${utils.getClassFromFullClass($component.className)}()
+    {
+#if ($component.rendererType)
+        setRendererType("$component.rendererType");
+#else
+        setRendererType("null");
+#end
+    }
+    
+    public String getFamily()
+    {
+        return COMPONENT_FAMILY;
+    }
+    
+#set ($propertyList = ${component.propertyComponentList})    
+
+    public Object saveState(FacesContext facesContext)
+    {
+#set ($primitiveCount = $propertyList.size() + 1)
+#foreach( $property in $propertyList )
+#if($utils.isPrimitiveClass($property.className))
+#set ($primitiveCount = $primitiveCount + 1)
+#end
+#end
+        Object[] values = new Object[$primitiveCount];
+        values[0] = super.saveState(facesContext);
+#set ($arrayIndex = 0)
+#foreach( $property in $propertyList )
+#set ($field = $property.fieldName)
+#set ($type = $property.className)
+#set ($arrayIndex = $arrayIndex + 1)
+#if ($property.jspName == "validator" && $property.methodBinding )
+        values[$arrayIndex] = saveAttachedState(facesContext,${field}List);
+#elseif ( $property.stateHolder )## || $utils.isConverter($type)
+        values[$arrayIndex] = saveAttachedState(facesContext,$field);
+#elseif($utils.isPrimitiveClass($type))
+        values[$arrayIndex] = ${utils.getBoxedClass($type)}.valueOf($field);
+#else
+        values[$arrayIndex] = $field;
+#end
+#if($utils.isPrimitiveClass($type) && !$property.tagExcluded)
+#set ($arrayIndex = $arrayIndex + 1)
+        values[$arrayIndex] = ${field}Set;
+#end
+#end
+    }
+
+    public void restoreState(FacesContext facesContext, Object state)
+    {
+        Object[] values = (Object[])state;
+        super.restoreState(facesContext,values[0]);
+    }
+}

Added: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClassMacros11.vm
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/main/resources/META-INF/componentClassMacros11.vm?rev=646651&view=auto
==============================================================================
    (empty)

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile-flat.xml
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile-flat.xml?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile-flat.xml (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile-flat.xml Wed Apr  9 22:10:12 2008
@@ -26,6 +26,7 @@
 Some dummy prop1 documentation.
 ]]>
       </longDesc>
+      <generated>true</generated>
     </property>
   </component>
   <component>
@@ -96,6 +97,8 @@
 Some dummy prop1 documentation.
 ]]>
       </longDesc>
+      <inherited>true</inherited>
+      <generated>true</generated>
     </property>
     <property>
       <name>ifaceProp</name>
@@ -108,6 +111,7 @@
 Some dummy ifaceProp documentation.
 ]]>
       </longDesc>
+      <inherited>true</inherited>
     </property>
   </component>
   <converter>

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile.xml
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile.xml?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile.xml (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/myfaces-builder-plugin/src/test/resources/builder/complex/goodfile.xml Wed Apr  9 22:10:12 2008
@@ -26,6 +26,7 @@
 Some dummy prop1 documentation.
 ]]>
       </longDesc>
+      <generated>true</generated>
     </property>
   </component>
   <component>

Modified: myfaces/myfaces-build-tools/branches/builder_plugin/test/api/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/test/api/pom.xml?rev=646651&r1=646650&r2=646651&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/test/api/pom.xml (original)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/test/api/pom.xml Wed Apr  9 22:10:12 2008
@@ -41,6 +41,7 @@
 						</configuration>
 						<goals>
 							<goal>build-metadata</goal>
+							<goal>make-components</goal>
 						</goals>
 					</execution>
 					<execution>

Added: myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java?rev=646651&view=auto
==============================================================================
--- myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java (added)
+++ myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java Wed Apr  9 22:10:12 2008
@@ -0,0 +1,35 @@
+package javax.faces.component.html;
+
+import javax.faces.component.UIComponent;
+
+/**
+ * 
+ * This is a component that inherits from UIComponent 
+ * 
+ * @author Leonardo
+ * @JSFComponent
+ *   class = "javax.faces.component.html.HtmlCommandLink"
+ *   type = "javax.faces.HtmlCommandLink"
+ *   family = "javax.faces.HtmlCommandLink"
+ *   tagClass = "javax.faces.component.html.HtmlCommandLinkTag"
+ *   desc = "base component"
+ */
+abstract class _HtmlCommandLink extends UIComponent
+{
+
+    /**
+     * @JSFProperty
+     */
+    public abstract Object getValue();
+    
+    /**
+     * @JSFProperty
+     */    
+    public abstract boolean isRendered();
+    
+    /**
+     * @JSFProperty
+     *   stateHolder="true"
+     */
+    public abstract String getModel();
+}

Propchange: myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/myfaces-build-tools/branches/builder_plugin/test/api/src/main/java/javax/faces/component/html/_HtmlCommandLink.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL