Author: apetrelli
Date: Mon Nov 16 20:11:22 2009
New Revision: 880940

URL: http://svn.apache.org/viewvc?rev=880940&view=rev
Log:
TILES-486
Added factory method in Attribute and used into InsertDefinitionModel and 
InsertTemplateModel.

Modified:
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/Attribute.java
    
tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/AttributeTest.java
    
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java
    
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertTemplateModel.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?rev=880940&r1=880939&r2=880940&view=diff
==============================================================================
--- 
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 
Mon Nov 16 20:11:22 2009
@@ -578,4 +578,17 @@
     public Attribute clone() {
         return new Attribute(this);
     }
+
+    public static Attribute createTemplateAttribute(String template,
+            String templateExpression, String templateType, String role) {
+        Attribute templateAttribute = createTemplateAttribute(template);
+        templateAttribute.setRole(role);
+        if (templateType != null) {
+            templateAttribute.setRenderer(templateType);
+        }
+        templateAttribute
+                .setExpressionObject(Expression
+                        
.createExpressionFromDescribedExpression(templateExpression));
+        return templateAttribute;
+    }
 }

Modified: 
tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/AttributeTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/AttributeTest.java?rev=880940&r1=880939&r2=880940&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/AttributeTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-api/src/test/java/org/apache/tiles/AttributeTest.java
 Mon Nov 16 20:11:22 2009
@@ -20,6 +20,8 @@
  */
 package org.apache.tiles;
 
+import java.util.Set;
+
 import junit.framework.TestCase;
 
 /**
@@ -51,4 +53,19 @@
         assertEquals("myrole", attribute.getRole());
         assertEquals("myrenderer", attribute.getRenderer());
     }
+
+    /**
+     * Tests {...@link Attribute#createTemplateAttribute(String, String, 
String, String)}.
+     */
+    public void testCreateTemplateAttribute() {
+        Attribute attribute = Attribute.createTemplateAttribute("myTemplate",
+                "MYLANG:myExpression", "myType", "myRole");
+        assertEquals("myTemplate", attribute.getValue());
+        assertEquals("MYLANG", attribute.getExpressionObject().getLanguage());
+        assertEquals("myExpression", 
attribute.getExpressionObject().getExpression());
+        assertEquals("myType", attribute.getRenderer());
+        Set<String> roles = attribute.getRoles();
+        assertEquals(1, roles.size());
+        assertTrue(roles.contains("myRole"));
+    }
 }

Modified: 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java?rev=880940&r1=880939&r2=880940&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java
 (original)
+++ 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java
 Mon Nov 16 20:11:22 2009
@@ -97,9 +97,8 @@
         try {
             AttributeContext attributeContext = container
                     .getAttributeContext(requestItems);
-            Attribute templateAttribute = Attribute
-                    .createTemplateAttribute(template);
-            templateAttribute.setRole(role);
+            Attribute templateAttribute = 
Attribute.createTemplateAttribute(template,
+                    templateExpression, templateType, role);
             attributeContext.setPreparer(preparer);
             attributeContext.setTemplateAttribute(templateAttribute);
             container.render(definitionName, requestItems);

Modified: 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertTemplateModel.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertTemplateModel.java?rev=880940&r1=880939&r2=880940&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertTemplateModel.java
 (original)
+++ 
tiles/framework/trunk/tiles-template/src/main/java/org/apache/tiles/template/InsertTemplateModel.java
 Mon Nov 16 20:11:22 2009
@@ -23,7 +23,6 @@
 
 import org.apache.tiles.Attribute;
 import org.apache.tiles.AttributeContext;
-import org.apache.tiles.Expression;
 import org.apache.tiles.TilesContainer;
 
 /**
@@ -95,15 +94,8 @@
         try {
             AttributeContext attributeContext = container
                     .getAttributeContext(requestItems);
-            Attribute templateAttribute = Attribute
-                    .createTemplateAttribute(template);
-            templateAttribute.setRole(role);
-            if (templateType != null) {
-                templateAttribute.setRenderer(templateType);
-            }
-            templateAttribute
-                    .setExpressionObject(Expression
-                            
.createExpressionFromDescribedExpression(templateExpression));
+            Attribute templateAttribute = 
Attribute.createTemplateAttribute(template,
+                    templateExpression, templateType, role);
             attributeContext.setPreparer(preparer);
             attributeContext.setTemplateAttribute(templateAttribute);
             container.renderContext(requestItems);


Reply via email to