Author: apetrelli
Date: Tue May  8 03:31:05 2007
New Revision: 536155

URL: http://svn.apache.org/viewvc?view=rev&rev=536155
Log:
TILES-167
Now the attribute type is an enum, defined in the Attribute class file.
The string representation is held only in the "toString" method of 
AttributeType.
All using code has been changed accordingly.

Modified:
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/Definition.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java
    
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinition.java
    
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java
    
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/AddListAttributeTag.java
    
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/PutListAttributeTag.java
    
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/RenderTagSupport.java
    
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java

Modified: 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java 
(original)
+++ 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java 
Tue May  8 03:31:05 2007
@@ -33,24 +33,79 @@
 public class Attribute implements Serializable {
 
     /**
-     * Attribute of type definition.
+     * Attribute types.
      */
-    public static final String DEFINITION = "definition";
+    public static enum AttributeType {
+        /**
+         * Attribute of type string.
+         */
+        STRING("string"),
+
+        /**
+         * Attribute of type definition.
+         */
+        DEFINITION("definition"),
+
+        /**
+         * Attribute of type template.
+         */
+        TEMPLATE("template"),
+
+        /**
+         * Attribute of type object.
+         */
+        OBJECT("object");
+
+        /**
+         * The string representation of the enum element.
+         */
+        private String stringRepresentation;
+
+        /**
+         * Maps the string representation to the attribute type.
+         */
+        private static Map<String, AttributeType> representation2type;
+
+        static {
+            representation2type = new HashMap<String, AttributeType>();
+            representation2type.put("string", AttributeType.STRING);
+            representation2type.put("definition", AttributeType.DEFINITION);
+            representation2type.put("template", AttributeType.TEMPLATE);
+            representation2type.put("object", AttributeType.OBJECT);
+        }
 
-    /**
-     * Attribute of type template.
-     */
-    public static final String TEMPLATE = "template";
+        /**
+         * Returns the type for the given string representation.
+         *
+         * @param stringRepresentation The string representation of the needed
+         * type.
+         * @return The corresponding attribute type, if found, or
+         * <code>null</code> if not.
+         */
+        public static AttributeType getType(String stringRepresentation) {
+            return representation2type.get(stringRepresentation);
+        }
 
-    /**
-     * Attribute of type string.
-     */
-    public static final String STRING = "string";
+        /**
+         * Constructor.
+         *
+         * @param stringRepresentation The string representation of the enum
+         * element.
+         */
+        private AttributeType(String stringRepresentation) {
+            this.stringRepresentation = stringRepresentation;
+        }
 
-    /**
-     * Attribute of type object.
-     */
-    public static final String OBJECT = "object";
+        /**
+         * Returns the string representation of the element.
+         *
+         * @return The string representation.
+         */
+        @Override
+        public String toString() {
+            return stringRepresentation;
+        }
+    };
 
     /**
      * Role associated to this attribute.
@@ -66,7 +121,7 @@
      * The type of the attribute. It can be <code>string</code>,
      * <code>template</code>, <code>definition</code>.
      */
-    private String type = null;
+    private AttributeType type = null;
 
     /**
      * The name of the attribute. If it is <code>null</code>, it should be used
@@ -144,7 +199,7 @@
      * @param role  Asociated role.
      * @param type  Attribute type.
      */
-    public Attribute(Object value, String role, String type) {
+    public Attribute(Object value, String role, AttributeType type) {
         this.value = value;
         this.role = role;
         this.type = type;
@@ -159,7 +214,7 @@
      * @param type  Attribute type.
      */
     public Attribute(String name, Object value, String role,
-            String type) {
+            AttributeType type) {
         this.name = name;
         this.value = value;
         this.role = role;
@@ -212,19 +267,18 @@
      * Returns the type of this attribute.
      *
      * @return The attribute type. It can be <code>string</code>,
-     * <code>template</code>, <code>definition</code>.
+     * <code>template</code>, <code>definition</code>, <code>object</code>.
      */
-    public String getType() {
+    public AttributeType getType() {
         return type;
     }
 
     /**
      * Sets the type of this attribute.
      *
-     * @param type The attribute type. It can be <code>string</code>,
-     * <code>template</code>, <code>definition</code>.
+     * @param type The attribute type.
      */
-    public void setType(String type) {
+    public void setType(AttributeType type) {
         this.type = type;
     }
 

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/Definition.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/Definition.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/Definition.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/Definition.java
 Tue May  8 03:31:05 2007
@@ -24,6 +24,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 import org.apache.tiles.mgmt.TileDefinition;
 
 import java.io.Serializable;
@@ -129,7 +130,7 @@
      * @param type    attribute type: template, string, definition
      * @param role    Determine if content is used by get tag. If user is in 
role, content is used.
      */
-    public void put(String name, Object content, String type, String role) {
+    public void put(String name, Object content, AttributeType type, String 
role) {
         // Is there a type set ?
         // First check direct attribute, and translate it to a valueType.
         // Then, evaluate valueType, and create requested typed attribute.

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsImpl.java
 Tue May  8 03:31:05 2007
@@ -24,6 +24,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 
 import java.util.HashMap;
 import java.util.Iterator;
@@ -176,11 +177,11 @@
      * @return <code>true</code> if the attribute is a definition.
      */
     protected boolean isDefinitionType(Attribute attr) {
-        boolean explicit = (attr.getType() != null && (attr.getType()
-                .equalsIgnoreCase("definition") || attr.getType()
-                .equalsIgnoreCase("instance")));
+        AttributeType type = attr.getType();
 
-        boolean implicit = attr.getType() == null && attr.getValue() != null
+        boolean explicit = type == AttributeType.DEFINITION;
+
+        boolean implicit = type == null && attr.getValue() != null
                 && baseDefinitions.containsKey(attr.getValue().toString());
 
         return explicit || implicit;
@@ -209,7 +210,7 @@
                     Definition subDef =
                         getDefinitionByAttribute(attr, locale);
                     attr.setAttributes(subDef.getAttributes());
-                    attr.setType("definition");
+                    attr.setType(AttributeType.DEFINITION);
                 }
             }
         }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
 Tue May  8 03:31:05 2007
@@ -22,9 +22,13 @@
 package org.apache.tiles.definition.digester;
 
 import org.apache.commons.digester.Digester;
+import org.apache.commons.digester.Rule;
+import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 import org.apache.tiles.definition.Definition;
 import org.apache.tiles.definition.DefinitionsFactoryException;
 import org.apache.tiles.definition.DefinitionsReader;
+import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
 import java.io.IOException;
@@ -133,6 +137,23 @@
     private static final String LIST_HANDLER_CLASS = PACKAGE_NAME + 
".context.ListAttribute";
 
     /**
+     * Digester rule to manage attribute filling.
+     */
+    private static class FillAttributeRule extends Rule {
+
+        /** [EMAIL PROTECTED] */
+        @Override
+        public void begin(String namespace, String name, Attributes attributes)
+                throws Exception {
+            Attribute attribute = (Attribute) digester.peek();
+            attribute.setName(attributes.getValue("name"));
+            attribute.setValue(attributes.getValue("value"));
+            attribute.setType(AttributeType
+                    .getType(attributes.getValue("type")));
+        }
+    }
+
+    /**
      * <code>Digester</code> object used to read Definition data
      * from the source.
      */
@@ -278,7 +299,7 @@
         // SetNext and CallMethod use rule.end() method. So, placing SetNext in
         // first position ensure it will be called last (sic).
         digester.addObjectCreate(PUT_TAG, PUT_ATTRIBUTE_HANDLER_CLASS);
-        digester.addSetProperties(PUT_TAG);
+        digester.addRule(PUT_TAG, new FillAttributeRule());
         digester.addSetNext(PUT_TAG, "addAttribute", 
PUT_ATTRIBUTE_HANDLER_CLASS);
         digester.addCallMethod(PUT_TAG, "setBody", 0);
         // TileDefinition level list rules
@@ -290,7 +311,7 @@
         // We use Attribute class to avoid rewriting a new class.
         // Name part can't be used in listElement attribute.
         digester.addObjectCreate(ADD_LIST_ELE_TAG, 
PUT_ATTRIBUTE_HANDLER_CLASS);
-        digester.addSetProperties(ADD_LIST_ELE_TAG);
+        digester.addRule(ADD_LIST_ELE_TAG, new FillAttributeRule());
         digester.addSetNext(ADD_LIST_ELE_TAG, "add", 
PUT_ATTRIBUTE_HANDLER_CLASS);
         digester.addCallMethod(ADD_LIST_ELE_TAG, "setBody", 0);
 

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
 Tue May  8 03:31:05 2007
@@ -27,6 +27,7 @@
 import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.TilesException;
+import org.apache.tiles.Attribute.AttributeType;
 import org.apache.tiles.context.BasicAttributeContext;
 import org.apache.tiles.context.TilesContextFactory;
 import org.apache.tiles.context.TilesRequestContext;
@@ -433,14 +434,14 @@
         AttributeContext context = getAttributeContext(requestItems);
         TilesRequestContext request = getRequestContext(requestItems);
 
-        String type = calculateType(attr, request);
+        AttributeType type = calculateType(attr, request);
 
-        if (Attribute.OBJECT.equals(type)) {
+        if (AttributeType.OBJECT == type) {
             throw new TilesException(
                     "Cannot insert an attribute of 'object' type");
         }
 
-        if (Attribute.STRING.equals(type)) {
+        if (AttributeType.STRING == type) {
             writer.write(attr.getValue().toString());
             return;
 
@@ -468,7 +469,7 @@
      * @return <code>true</code> if the attribute is a definition.
      */
     private boolean isDefinition(Attribute attr, Object... requestItems) {
-        return Attribute.DEFINITION.equals(attr.getType())
+        return AttributeType.DEFINITION == attr.getType()
                 || isValidDefinition(attr.getValue().toString(), requestItems);
     }
 
@@ -480,22 +481,22 @@
      * @return The calculated attribute type.
      * @throws TilesException If the type is not recognized.
      */
-    private String calculateType(Attribute attr,
+    private AttributeType calculateType(Attribute attr,
             TilesRequestContext request) throws TilesException {
-        String type = attr.getType();
+        AttributeType type = attr.getType();
         if (type == null) {
             Object valueContent = attr.getValue();
             if (valueContent instanceof String) {
                 String valueString = (String) valueContent;
                 if (isValidDefinition(request, valueString)) {
-                    type = Attribute.DEFINITION;
+                    type = AttributeType.DEFINITION;
                 } else if (valueString.startsWith("/")) {
-                    type = Attribute.TEMPLATE;
+                    type = AttributeType.TEMPLATE;
                 } else {
-                    type = Attribute.STRING;
+                    type = AttributeType.STRING;
                 }
             } else {
-                type = Attribute.OBJECT;
+                type = AttributeType.OBJECT;
             }
             if (type == null) {
                 throw new TilesException("Unrecognized type for attribute 
value "

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/DefinitionManager.java
 Tue May  8 03:31:05 2007
@@ -21,6 +21,7 @@
 package org.apache.tiles.impl.mgmt;
 
 import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.definition.Definition;
 import org.apache.tiles.definition.DefinitionsFactory;
@@ -158,7 +159,7 @@
      */
     private boolean isDefinition(Attribute attribute,
             TilesRequestContext request) throws DefinitionsFactoryException {
-        boolean explicit =  Attribute.DEFINITION.equals(attribute.getType());
+        boolean explicit = AttributeType.DEFINITION == attribute.getType();
         boolean implicit = attribute.getType() == null
                 && (getDefinition((String) attribute.getValue(), request) != 
null);
         return explicit || implicit;

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/web/util/TilesDecorationFilter.java
 Tue May  8 03:31:05 2007
@@ -26,6 +26,7 @@
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.TilesException;
+import org.apache.tiles.Attribute.AttributeType;
 import org.apache.tiles.access.TilesAccess;
 
 import javax.servlet.Filter;
@@ -243,7 +244,7 @@
         /** [EMAIL PROTECTED] */
         public void mutate(AttributeContext ctx, ServletRequest req) {
             Attribute attr = new Attribute();
-            attr.setType(Attribute.TEMPLATE);
+            attr.setType(AttributeType.TEMPLATE);
             attr.setName(definitionAttributeName);
             attr.setValue(getRequestBase(req));
             ctx.putAttribute(definitionAttributeName, attr);

Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinition.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinition.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinition.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinition.java
 Tue May  8 03:31:05 2007
@@ -21,6 +21,8 @@
 
 package org.apache.tiles.definition;
 
+import org.apache.tiles.Attribute.AttributeType;
+
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -68,7 +70,7 @@
         Definition def = new Definition();
         def.setName("test1");
         def.setTemplate("/page1.jsp");
-        def.put("attr1", new Definition(), "definition", null);
+        def.put("attr1", new Definition(), AttributeType.DEFINITION, null);
 
         Object attr1 = def.getAttribute("attr1");
         assertNotNull("Null attribute.", attr1);

Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/TestDefinitions.java
 Tue May  8 03:31:05 2007
@@ -28,6 +28,7 @@
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 
 /**
  * Tests the DefinitionsImpl class.
@@ -234,7 +235,7 @@
         Attribute attr = new Attribute();
         attr.setName("attr1");
         attr.setValue("tiles.def2");
-        attr.setType("definition");
+        attr.setType(AttributeType.DEFINITION);
         def.addAttribute(attr);
         defs.put(def.getName(), def);
 

Modified: 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/AddListAttributeTag.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/AddListAttributeTag.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/AddListAttributeTag.java
 (original)
+++ 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/AddListAttributeTag.java
 Tue May  8 03:31:05 2007
@@ -22,6 +22,7 @@
 package org.apache.tiles.jsp.taglib;
 
 import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -92,7 +93,7 @@
     public void processNestedTag(AddAttributeTag nestedTag) {
         Attribute attribute = new Attribute(
             nestedTag.getValue(), nestedTag.getRole(),
-            nestedTag.getType());
+            AttributeType.getType(nestedTag.getType()));
 
         this.addValue(attribute);
     }

Modified: 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/PutListAttributeTag.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/PutListAttributeTag.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/PutListAttributeTag.java
 (original)
+++ 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/PutListAttributeTag.java
 Tue May  8 03:31:05 2007
@@ -22,6 +22,7 @@
 package org.apache.tiles.jsp.taglib;
 
 import org.apache.tiles.Attribute;
+import org.apache.tiles.Attribute.AttributeType;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -93,7 +94,7 @@
     public void processNestedTag(AddAttributeTag nestedTag) {
         Attribute attribute = new Attribute(
             nestedTag.getValue(), nestedTag.getRole(),
-            nestedTag.getType());
+            AttributeType.getType(nestedTag.getType()));
 
         this.addValue(attribute);
     }

Modified: 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/RenderTagSupport.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/RenderTagSupport.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/RenderTagSupport.java
 (original)
+++ 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/RenderTagSupport.java
 Tue May  8 03:31:05 2007
@@ -24,6 +24,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.tiles.Attribute;
 import org.apache.tiles.TilesException;
+import org.apache.tiles.Attribute.AttributeType;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.TryCatchFinally;
@@ -196,7 +197,7 @@
     public void processNestedTag(PutAttributeTag nestedTag) {
         Attribute attribute = new Attribute(
             nestedTag.getValue(), nestedTag.getRole(),
-            nestedTag.getType());
+            AttributeType.getType(nestedTag.getType()));
 
         attributeContext.putAttribute(
             nestedTag.getName(),

Modified: 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java?view=diff&rev=536155&r1=536154&r2=536155
==============================================================================
--- 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
 (original)
+++ 
tiles/framework/trunk/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
 Tue May  8 03:31:05 2007
@@ -27,6 +27,7 @@
 import org.apache.tiles.jsp.taglib.PutAttributeTagParent;
 import org.apache.tiles.mgmt.MutableTilesContainer;
 import org.apache.tiles.mgmt.TileDefinition;
+import org.apache.tiles.Attribute.AttributeType;
 import org.apache.tiles.access.TilesAccess;
 
 import javax.servlet.jsp.JspException;
@@ -230,7 +231,7 @@
      */
     public void processNestedTag(PutAttributeTag nestedTag) throws 
JspException {
         Attribute attr = new Attribute(nestedTag.getValue(),
-            nestedTag.getRole(), nestedTag.getType());
+            nestedTag.getRole(), AttributeType.getType(nestedTag.getType()));
         attr.setName(nestedTag.getName());
         attributes.put(nestedTag.getName(), attr);
     }


Reply via email to