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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org