You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2012/02/26 22:06:48 UTC

svn commit: r1293935 - in /camel/branches/camel-2.9.x: ./ camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java

Author: bvahdat
Date: Sun Feb 26 21:06:48 2012
New Revision: 1293935

URL: http://svn.apache.org/viewvc?rev=1293935&view=rev
Log:
Merged revisions 1293828 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk

........
  r1293828 | bvahdat | 2012-02-26 14:00:41 +0100 (So, 26 Feb 2012) | 1 line
  
  CAMEL-4959: Did "Refactor to Method" for the case if the to be converted value is NaN. Although did tiny cleanup by the other converter methods.
........

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Feb 26 21:06:48 2012
@@ -1 +1 @@
-/camel/trunk:1243046,1243057,1243234,1244518,1244644,1244859,1244861,1244864,1244870,1244872,1245021,1291555,1291727,1291848,1291864,1292114,1292384,1292725,1292760,1292767,1293079,1293268,1293288,1293330,1293590,1293852
+/camel/trunk:1243046,1243057,1243234,1244518,1244644,1244859,1244861,1244864,1244870,1244872,1245021,1291555,1291727,1291848,1291864,1292114,1292384,1292725,1292760,1292767,1293079,1293268,1293288,1293330,1293590,1293828,1293852

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java?rev=1293935&r1=1293934&r2=1293935&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java Sun Feb 26 21:06:48 2012
@@ -80,9 +80,9 @@ public final class ObjectConverter {
         if (value instanceof Byte) {
             return (Byte) value;
         } else if (value instanceof Number) {
-            if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
+            if (isNaN(value)) {
                 // return zero for a NaN value
-                return Byte.valueOf("0");
+                return Byte.valueOf((byte) 0);
             }
             Number number = (Number) value;
             return number.byteValue();
@@ -100,11 +100,11 @@ public final class ObjectConverter {
 
     @Converter
     public static char toChar(String value) {
-        // must be 1 length string
+        // must be string with the length of 1
         if (value == null || value.length() != 1) {
             throw new IllegalArgumentException("String must have exactly a length of 1: " + value);
         }
-        return value.toCharArray()[0];
+        return value.charAt(0);
     }
 
     @Converter
@@ -139,9 +139,9 @@ public final class ObjectConverter {
         if (value instanceof Short) {
             return (Short) value;
         } else if (value instanceof Number) {
-            if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
+            if (isNaN(value)) {
                 // return zero for a NaN value
-                return Short.valueOf("0");
+                return Short.valueOf((short) 0);
             }
             Number number = (Number) value;
             return number.shortValue();
@@ -160,7 +160,7 @@ public final class ObjectConverter {
         if (value instanceof Integer) {
             return (Integer) value;
         } else if (value instanceof Number) {
-            if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
+            if (isNaN(value)) {
                 // return zero for a NaN value
                 return Integer.valueOf(0);
             }
@@ -181,7 +181,7 @@ public final class ObjectConverter {
         if (value instanceof Long) {
             return (Long) value;
         } else if (value instanceof Number) {
-            if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
+            if (isNaN(value)) {
                 // return zero for a NaN value
                 return Long.valueOf(0);
             }
@@ -202,7 +202,7 @@ public final class ObjectConverter {
         if (value instanceof Float) {
             return (Float) value;
         } else if (value instanceof Number) {
-            if (value.equals(Double.NaN) || value.equals(Float.NaN)) {
+            if (isNaN(value)) {
                 return Float.NaN;
             }
             Number number = (Number) value;
@@ -222,7 +222,7 @@ public final class ObjectConverter {
         if (value instanceof Double) {
             return (Double) value;
         } else if (value instanceof Number) {
-            if (value.equals(Double.NaN) || value.equals(Float.NaN)) {
+            if (isNaN(value)) {
                 return Double.NaN;
             }
             Number number = (Number) value;
@@ -234,6 +234,11 @@ public final class ObjectConverter {
         }
     }
 
+    private static boolean isNaN(Object value) {
+        // 'value' should have been already checked to be 'instanceof Number', that's 'value != null'
+        return value.equals(Float.NaN) || value.equals(Double.NaN);
+    }
+
     // add fast type converters from most common used
 
     @Converter
@@ -283,7 +288,7 @@ public final class ObjectConverter {
 
     @Converter
     public static Boolean toBoolean(String value) {
-        return "true".equalsIgnoreCase(value.toString()) ? Boolean.TRUE : Boolean.FALSE;
+        return Boolean.parseBoolean(value);
     }
 
 }