Author: markt
Date: Sun Jul 14 17:57:06 2013
New Revision: 1503006
URL: http://svn.apache.org/r1503006
Log:
Special handling to handle the ambiguity of {} which could be an empty Set or
an empty Map
Modified:
tomcat/trunk/java/org/apache/el/lang/ELSupport.java
Modified: tomcat/trunk/java/org/apache/el/lang/ELSupport.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/lang/ELSupport.java?rev=1503006&r1=1503005&r2=1503006&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/el/lang/ELSupport.java (original)
+++ tomcat/trunk/java/org/apache/el/lang/ELSupport.java Sun Jul 14 17:57:06 2013
@@ -21,6 +21,9 @@ import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
import javax.el.ELException;
@@ -417,6 +420,14 @@ public class ELSupport {
return editor.getValue();
}
}
+
+ // Handle special case because the syntax for the empty set is the same
+ // for an empty map. The parser will always parse {} as an empty set.
+ if (obj instanceof Set && type == Map.class &&
+ ((Set<?>) obj).isEmpty()) {
+ return Collections.EMPTY_MAP;
+ }
+
throw new ELException(MessageFactory.get("error.convert",
obj, obj.getClass(), type));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]