You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2009/12/13 23:48:20 UTC

svn commit: r890139 - in /tomcat/trunk: java/org/apache/el/lang/ELSupport.java test/org/apache/el/lang/TestELSupport.java

Author: markt
Date: Sun Dec 13 22:48:20 2009
New Revision: 890139

URL: http://svn.apache.org/viewvc?rev=890139&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43656
Correctly coerce null to zero when Number is the required type.

Modified:
    tomcat/trunk/java/org/apache/el/lang/ELSupport.java
    tomcat/trunk/test/org/apache/el/lang/TestELSupport.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=890139&r1=890138&r2=890139&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/el/lang/ELSupport.java (original)
+++ tomcat/trunk/java/org/apache/el/lang/ELSupport.java Sun Dec 13 22:48:20 2009
@@ -284,6 +284,9 @@
         if (Float.TYPE == type || Float.class.equals(type)) {
             return new Float(number.floatValue());
         }
+        if (Number.class.equals(type)) {
+            return number;
+        }
 
         throw new IllegalArgumentException(MessageFactory.get("error.convert",
                 number, number.getClass(), type));

Modified: tomcat/trunk/test/org/apache/el/lang/TestELSupport.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/lang/TestELSupport.java?rev=890139&r1=890138&r2=890139&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/el/lang/TestELSupport.java (original)
+++ tomcat/trunk/test/org/apache/el/lang/TestELSupport.java Sun Dec 13 22:48:20 2009
@@ -62,6 +62,11 @@
         assertEquals(input, output);
     }
 
+    public void testCoerceNullToNumber() {
+        Object output = ELSupport.coerceToType(null, Number.class);
+        assertEquals(Long.valueOf(0), output);
+    }
+
     private static void testIsSame(Object value) {
         assertEquals(value, ELSupport.coerceToNumber(value, value.getClass()));
     }



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