You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2008/02/15 21:14:21 UTC
svn commit: r628158 - in /commons/proper/beanutils/trunk: pom.xml
src/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java
src/test/org/apache/commons/beanutils/locale/LocaleConvertUtilsTestCase.java
Author: niallp
Date: Fri Feb 15 12:14:20 2008
New Revision: 628158
URL: http://svn.apache.org/viewvc?rev=628158&view=rev
Log:
Fix for BEANUTILS-306 - LocaleConvertUtilsBean.convert throws NPE on null Locale when debug logging is enabled
(NOTE: change surefire plugin configuration logging level to "DEBUG" in pom.xml to test this is fixed)
Modified:
commons/proper/beanutils/trunk/pom.xml
commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java
commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/LocaleConvertUtilsTestCase.java
Modified: commons/proper/beanutils/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/pom.xml?rev=628158&r1=628157&r2=628158&view=diff
==============================================================================
--- commons/proper/beanutils/trunk/pom.xml (original)
+++ commons/proper/beanutils/trunk/pom.xml Fri Feb 15 12:14:20 2008
@@ -180,6 +180,23 @@
-->
<exclude>**/*MemoryTestCase.java</exclude>
</excludes>
+
+ <!-- Configure Logging -->
+ <systemProperties>
+ <property>
+ <name>org.apache.commons.logging.LogFactory</name>
+ <value>org.apache.commons.logging.impl.LogFactoryImpl</value>
+ </property>
+ <property>
+ <name>org.apache.commons.logging.Log</name>
+ <value>org.apache.commons.logging.impl.SimpleLog</value>
+ </property>
+ <property>
+ <name>org.apache.commons.logging.simplelog.defaultlog</name>
+ <value>WARN</value>
+ </property>
+ </systemProperties>
+
</configuration>
</plugin>
<plugin>
Modified: commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java
URL: http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java?rev=628158&r1=628157&r2=628158&view=diff
==============================================================================
--- commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java (original)
+++ commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java Fri Feb 15 12:14:20 2008
@@ -263,7 +263,7 @@
if (log.isDebugEnabled()) {
log.debug("Convert string " + value + " to class " +
- clazz.getName() + " using " + locale.toString() +
+ clazz.getName() + " using " + locale +
" locale and " + pattern + " pattern");
}
@@ -333,7 +333,7 @@
}
if (log.isDebugEnabled()) {
log.debug("Convert String[" + values.length + "] to class " +
- type.getName() + "[] using " + locale.toString() +
+ type.getName() + "[] using " + locale +
" locale and " + pattern + " pattern");
}
Modified: commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/LocaleConvertUtilsTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/LocaleConvertUtilsTestCase.java?rev=628158&r1=628157&r2=628158&view=diff
==============================================================================
--- commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/LocaleConvertUtilsTestCase.java (original)
+++ commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/locale/LocaleConvertUtilsTestCase.java Fri Feb 15 12:14:20 2008
@@ -23,6 +23,7 @@
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.NumberFormat;
+import java.util.Locale;
import junit.framework.TestCase;
import junit.framework.Test;
@@ -593,6 +594,39 @@
stringArray.getClass());
checkStringArray(value, stringArray2);
+ }
+
+ /**
+ * Test conversion of a String using a Locale and pattern.
+ */
+ public void testConvertStringLocaleNull() {
+ Object result = null;
+ try {
+ result = LocaleConvertUtils.convert("123", Integer.class, (Locale)null, "#,###");
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Threw: " + e);
+ }
+ assertNotNull("Null Result", result);
+ assertEquals("Integer Type", Integer.class, result.getClass());
+ assertEquals("Integer Value", new Integer(123), result);
+ }
+
+ /**
+ * Test conversion of a String array using a Locale and pattern.
+ */
+ public void testConvertStringArrayLocaleNull() {
+ Object result = null;
+ try {
+ result = LocaleConvertUtils.convert(new String[] {"123"}, Integer[].class, (Locale)null, "#,###");
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Threw: " + e);
+ }
+ assertNotNull("Null Result", result);
+ assertEquals("Integer Array Type", Integer[].class, result.getClass());
+ assertEquals("Integer Array Length", 1, ((Integer[])result).length);
+ assertEquals("Integer Array Value", new Integer(123), ((Integer[])result)[0]);
}