You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by al...@apache.org on 2010/08/22 21:35:12 UTC

svn commit: r987943 - /myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/facelets-taglib20.vm

Author: aliok
Date: Sun Aug 22 19:35:12 2010
New Revision: 987943

URL: http://svn.apache.org/viewvc?rev=987943&view=rev
Log:
Use macros while creating facelets taglib.xml

Modified:
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/facelets-taglib20.vm

Modified: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/facelets-taglib20.vm
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/facelets-taglib20.vm?rev=987943&r1=987942&r2=987943&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/facelets-taglib20.vm (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/resources/META-INF/facelets-taglib20.vm Sun Aug 22 19:35:12 2010
@@ -17,6 +17,46 @@
  * specific language governing permissions and limitations
  * under the License.
 -->
+
+##macro writeAttribute ==============
+#macro( writeAttribute $property )
+        <attribute>
+            <name>$property.name</name>
+            <required>$property.isRequired()</required>
+#if ($property.longDescription)
+            <description><![CDATA[$property.longDescription]]></description>
+#else
+            <description><![CDATA[]]></description>
+#end
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "MethodExpression")
+            <method-signature>${property.deferredMethodSignature}</method-signature>
+#elseif ($type == "ValueExpression")
+#if($property.deferredValueType)
+            <type>$property.deferredValueType</type>
+#end
+#else
+#if ($property.className)         
+            <type>$property.className</type>
+#else
+            <type>java.lang.String</type>
+#end
+#end
+        </attribute>
+#end
+##macro writeAttribute end ==========
+
+
+##macro writeAttributes =============
+#macro( writeAttributes $propertyList )
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+#writeAttribute($property)
+#end
+#end
+#end
+##macro writeAttributes end =========
+
 <facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
@@ -37,6 +77,8 @@ $baseContent
 #if (!$component.isConfigExcluded() && !$component.isComposite())
 ## Check if we don't have a facelet tag taking precedence over this description
 #if (! ${model.findFaceletTagByName($component.name)})
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name) && $utils.getTagPrefix($component.name) == $shortname)
     <tag>
         <tag-name>$utils.getTagName($component.name)</tag-name>
         <component>
@@ -50,11 +92,13 @@ $baseContent
             <handler-class>$component.tagHandler</handler-class>
 #end
         </component>
+#writeAttributes($component.propertyList)
     </tag>
 #end
 #end
 #end
 #end
+#end
 
    <!-- Converter tags -->
 #set ($componentList = ${model.getConverters()})
@@ -63,17 +107,20 @@ $baseContent
     && ($component.name))
 #if ($component.converterId)
 ## Check if we don't have a facelet tag taking precedence over this description
-#if (! ${model.findFaceletTagByName($component.name)}) 
+#if (! ${model.findFaceletTagByName($component.name)})
+#if ($utils.getTagPrefix($component.name) == $shortname) 
     <tag>
         <tag-name>$utils.getTagName($component.name)</tag-name>
         <converter>
             <converter-id>$component.converterId</converter-id>
         </converter>
+#writeAttributes($component.propertyList)
     </tag>
 #end
 #end
 #end
 #end
+#end
 
    <!-- Validator tags -->
 #set ($componentList = ${model.getValidators()})
@@ -83,16 +130,19 @@ $baseContent
 #if ($component.validatorId)
 ## Check if we don't have a facelet tag taking precedence over this description
 #if (! ${model.findFaceletTagByName($component.name)})
+#if ($utils.getTagPrefix($component.name) == $shortname)
     <tag>
         <tag-name>$utils.getTagName($component.name)</tag-name>
         <validator>
             <validator-id>$component.validatorId</validator-id>
         </validator>      
+#writeAttributes($component.propertyList)
     </tag>
 #end
 #end
 #end
 #end
+#end
 
    <!-- Behavior tags -->
 #set ($behaviorList = ${model.getBehaviors()})
@@ -101,17 +151,20 @@ $baseContent
     && ($behavior.name))
 #if ($behavior.behaviorId)
 ## Check if we don't have a facelet tag taking precedence over this description
-#if (! ${model.findFaceletTagByName($behavior.name)}) 
+#if (! ${model.findFaceletTagByName($behavior.name)})
+#if ($utils.getTagPrefix($behavior.name) == $shortname) 
     <tag>
         <tag-name>$utils.getTagName($behavior.name)</tag-name>
         <behavior>
             <behavior-id>$behavior.behaviorId</behavior-id>
         </behavior>
+#writeAttributes($behavior.propertyList)
     </tag>
 #end
 #end
 #end
 #end
+#end
     
    <!-- Single Tags -->
 #set ($tagList = $model.getTags())
@@ -120,14 +173,17 @@ $baseContent
 #if ($tag.tagHandler)
 ## Check if we don't have a facelet tag taking precedence over this description
 #if (! ${model.findFaceletTagByName($tag.name)})
+#if ($utils.getTagPrefix($tag.name) == $shortname)
    <tag>
       <tag-name>$utils.getTagName($tag.name)</tag-name>
       <handler-class>$tag.tagHandler</handler-class>
+#writeAttributes($tag.propertyList)
    </tag>
 #end
 #end
 #end
 #end
+#end
 
     <!-- Facelet Tags -->
 #set ($faceletTagList = $model.getFaceletTags())
@@ -162,8 +218,9 @@ $baseContent
 #else
     <handler-class>$faceletTag.className</handler-class>
 #end
+#writeAttributes($faceletTag.attributeList)
    </tag>
 #end
 #end
 #end
-</facelet-taglib>
+</facelet-taglib>
\ No newline at end of file