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]

Reply via email to