Author: lukaszlenart
Date: Thu Jun  9 05:29:38 2011
New Revision: 1133658

URL: http://svn.apache.org/viewvc?rev=1133658&view=rev
Log:
WW-3644 - check if evaluated expression is not null

Modified:
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java?rev=1133658&r1=1133657&r2=1133658&view=diff
==============================================================================
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
 Thu Jun  9 05:29:38 2011
@@ -32,7 +32,6 @@ import java.util.Map;
 
 /**
  * Abstract base class for all UI tags.
- *
  */
 public abstract class AbstractUITag extends ComponentTagSupport implements 
DynamicAttributes {
     protected String cssClass;
@@ -80,7 +79,7 @@ public abstract class AbstractUITag exte
     protected String tooltipIconPath;
 
     // dynamic attributes.
-    protected Map<String,Object> dynamicAttributes = new 
HashMap<String,Object>();
+    protected Map<String, Object> dynamicAttributes = new HashMap<String, 
Object>();
 
     protected void populateParams() {
         super.populateParams();
@@ -292,7 +291,16 @@ public abstract class AbstractUITag exte
 
     public void setDynamicAttribute(String uri, String localName, Object 
value) throws JspException {
         if (value != null && value instanceof String) {
-            dynamicAttributes.put(localName, findValue(value.toString()));
+            evaluateValue(localName, value);
+        } else {
+            dynamicAttributes.put(localName, value);
+        }
+    }
+
+    private void evaluateValue(String localName, Object value) {
+        Object evaluatedValue = findValue(value.toString());
+        if (evaluatedValue != null) {
+            dynamicAttributes.put(localName, evaluatedValue);
         } else {
             dynamicAttributes.put(localName, value);
         }


Reply via email to