You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2013/08/22 21:59:46 UTC

svn commit: r1516574 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration/convert/DefaultConversionHandler.java test/java/org/apache/commons/configuration/convert/TestDefaultConversionHandler.java

Author: oheger
Date: Thu Aug 22 19:59:46 2013
New Revision: 1516574

URL: http://svn.apache.org/r1516574
Log:
Fixed a problem with conversions to primitive data types.

In this case, the Class.cast() method cannot be used.

Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/convert/DefaultConversionHandler.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/convert/TestDefaultConversionHandler.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/convert/DefaultConversionHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/convert/DefaultConversionHandler.java?rev=1516574&r1=1516573&r2=1516574&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/convert/DefaultConversionHandler.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/convert/DefaultConversionHandler.java Thu Aug 22 19:59:46 2013
@@ -280,8 +280,12 @@ public class DefaultConversionHandler im
             return null;
         }
 
-        return targetCls.cast(PropertyConverter.to(targetCls, src,
-                this));
+        // This is a safe cast because PropertyConverter either returns an
+        // object of the correct class or throws an exception.
+        @SuppressWarnings("unchecked")
+        T result = (T) PropertyConverter.to(targetCls, src,
+               this);
+        return result;
     }
 
     /**

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/convert/TestDefaultConversionHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/convert/TestDefaultConversionHandler.java?rev=1516574&r1=1516573&r2=1516574&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/convert/TestDefaultConversionHandler.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/convert/TestDefaultConversionHandler.java Thu Aug 22 19:59:46 2013
@@ -339,4 +339,15 @@ public class TestDefaultConversionHandle
         assertEquals("Wrong minute", 17, cal.get(Calendar.MINUTE));
         assertEquals("Wrong second", 22, cal.get(Calendar.SECOND));
     }
+
+    /**
+     * Tests a conversion to a primitive type.
+     */
+    @Test
+    public void testToPrimitive()
+    {
+        Long value = 20130819214935L;
+        Object result = handler.to(value.toString(), Long.TYPE, null);
+        assertEquals("Wrong conversion result", value, result);
+    }
 }