Author: markt
Date: Wed Jul  3 14:27:46 2013
New Revision: 1499419

URL: http://svn.apache.org/r1499419
Log:
Noticed requirement for null values to trigger removal when reading the EL 3.0 
spec.

Modified:
    tomcat/trunk/java/org/apache/el/lang/VariableMapperImpl.java
    tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java
    tomcat/trunk/test/javax/el/TestBeanELResolverVarargsInvocation.java

Modified: tomcat/trunk/java/org/apache/el/lang/VariableMapperImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/lang/VariableMapperImpl.java?rev=1499419&r1=1499418&r2=1499419&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/el/lang/VariableMapperImpl.java (original)
+++ tomcat/trunk/java/org/apache/el/lang/VariableMapperImpl.java Wed Jul  3 
14:27:46 2013
@@ -45,7 +45,11 @@ public class VariableMapperImpl extends 
     @Override
     public ValueExpression setVariable(String variable,
             ValueExpression expression) {
-        return this.vars.put(variable, expression);
+        if (expression == null) {
+            return vars.remove(variable);
+        } else {
+            return vars.put(variable, expression);
+        }
     }
 
     @Override

Modified: tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java?rev=1499419&r1=1499418&r2=1499419&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java (original)
+++ tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java Wed Jul  3 
14:27:46 2013
@@ -63,11 +63,15 @@ public final class ELContextImpl extends
         @Override
         public ValueExpression setVariable(String variable,
                 ValueExpression expression) {
-            if (vars == null)
+            if (vars == null) {
                 vars = new HashMap<>();
-            return vars.put(variable, expression);
+            }
+            if (expression == null) {
+                return vars.remove(variable);
+            } else {
+                return vars.put(variable, expression);
+            }
         }
-
     }
 
     private static final ELResolver DefaultResolver;

Modified: tomcat/trunk/test/javax/el/TestBeanELResolverVarargsInvocation.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TestBeanELResolverVarargsInvocation.java?rev=1499419&r1=1499418&r2=1499419&view=diff
==============================================================================
--- tomcat/trunk/test/javax/el/TestBeanELResolverVarargsInvocation.java 
(original)
+++ tomcat/trunk/test/javax/el/TestBeanELResolverVarargsInvocation.java Wed Jul 
 3 14:27:46 2013
@@ -60,7 +60,11 @@ public class TestBeanELResolverVarargsIn
                 @Override
                 public ValueExpression setVariable(String arg0,
                         ValueExpression arg1) {
-                    return vars.put(arg0, arg1);
+                    if (arg1 == null) {
+                        return vars.remove(arg0);
+                    } else {
+                        return vars.put(arg0, arg1);
+                    }
                 }
 
                 @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to