Author: niallp
Date: Mon Jun 11 08:42:53 2007
New Revision: 546174
URL: http://svn.apache.org/viewvc?view=rev&rev=546174
Log:
Fix for BEANUTILS-283 - ConvertUtilsBean doesn't handle conversion to String
correctly - thanks to Josef Cacek
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/ConvertUtilsTestCase.java
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java?view=diff&rev=546174&r1=546173&r2=546174
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
Mon Jun 11 08:42:53 2007
@@ -542,8 +542,8 @@
}
converted = converter.convert(targetType, value);
}
- if (targetType == String.class && value != null) {
- converted = value.toString();
+ if (targetType == String.class && converted != null) {
+ converted = converted.toString();
}
return converted;
Modified:
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/ConvertUtilsTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/ConvertUtilsTestCase.java?view=diff&rev=546174&r1=546173&r2=546174
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/ConvertUtilsTestCase.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/ConvertUtilsTestCase.java
Mon Jun 11 08:42:53 2007
@@ -21,6 +21,10 @@
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Locale;
+import org.apache.commons.beanutils.converters.DateConverter;
import junit.framework.TestCase;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -607,6 +611,27 @@
ConvertUtils.deregister(Boolean.TYPE);
assertNull("Converter should be
null",ConvertUtils.lookup(Boolean.TYPE));
+ }
+
+ public void testConvertToString() throws Exception {
+
+ ConvertUtilsBean utils = new ConvertUtilsBean();
+
+ // Register a DateConverter using Locale.US
+ DateConverter dateConverter = new DateConverter();
+ dateConverter.setLocale(Locale.US);
+ utils.register(dateConverter, java.util.Date.class);
+
+ java.util.Date today = new java.util.Date();
+ DateFormat fmt = new SimpleDateFormat("M/d/yy"); /* US Short Format */
+ String expected = fmt.format(today);
+
+ assertEquals("date M/d/yy", expected, utils.convert(today,
String.class));
+
+ // Remove the registered DateConverter
+ utils.deregister(java.util.Date.class);
+ assertEquals("Date.toString()", today.toString(), utils.convert(today,
String.class));
+
}
// -------------------------------------------------------- Private Methods
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]