Author: apetrelli
Date: Wed Apr  1 20:42:59 2009
New Revision: 761052

URL: http://svn.apache.org/viewvc?rev=761052&view=rev
Log:
TILES-388
Added checking for local attribute names set being null.

Modified:
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
    
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/config/defs-wildcard.xml
    
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAOTest.java

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java?rev=761052&r1=761051&r2=761052&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
 Wed Apr  1 20:42:59 2009
@@ -28,6 +28,7 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.tiles.Attribute;
 import org.apache.tiles.Definition;
@@ -350,11 +351,14 @@
         nudef.setTemplateAttribute(replaceVarsInAttribute(d
                 .getTemplateAttribute(), vars));
 
-        for (String attributeName : d.getLocalAttributeNames()) {
-            Attribute attr = d.getLocalAttribute(attributeName);
-            Attribute nuattr = replaceVarsInAttribute(attr, vars);
-
-            nudef.putAttribute(replace(attributeName, vars), nuattr);
+        Set<String> localAttributeNames = d.getLocalAttributeNames();
+        if (localAttributeNames != null && !localAttributeNames.isEmpty()) {
+            for (String attributeName : localAttributeNames) {
+                Attribute attr = d.getLocalAttribute(attributeName);
+                Attribute nuattr = replaceVarsInAttribute(attr, vars);
+    
+                nudef.putAttribute(replace(attributeName, vars), nuattr);
+            }
         }
 
         return nudef;

Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/config/defs-wildcard.xml
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/config/defs-wildcard.xml?rev=761052&r1=761051&r2=761052&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/config/defs-wildcard.xml
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/config/defs-wildcard.xml
 Wed Apr  1 20:42:59 2009
@@ -44,5 +44,6 @@
       <put-attribute name="footer" value="/common/footer.jsp" />
       <put-attribute name="body"   value="doc.portal.body" />
   </definition>
+  <definition name="test.def*.noAttribute" template="/test{1}.jsp" />
 
 </tiles-definitions>

Modified: 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAOTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAOTest.java?rev=761052&r1=761051&r2=761052&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAOTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/test/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAOTest.java
 Wed Apr  1 20:42:59 2009
@@ -652,6 +652,9 @@
         assertEquals("The header attribute is not correct",
                 "/common/headerLayered.jsp", definition.getAttribute("header")
                         .getValue());
+        definition = definitionDao.getDefinition("test.defName.noAttribute", 
null);
+        assertEquals("/testName.jsp", 
definition.getTemplateAttribute().getValue());
+        assertEquals(null, definition.getLocalAttributeNames());
         definition = definitionDao.getDefinition("test.def3", null);
         assertNotNull("The simple definition is null", definition);
     }


Reply via email to