Author: boday
Date: Thu May 26 16:36:01 2011
New Revision: 1127988
URL: http://svn.apache.org/viewvc?rev=1127988&view=rev
Log:
CAMEL-4011: updated ObjectConverter.toX() methods to check for Double.NaN and
Float.NaN and return NULL instead of 0
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java?rev=1127988&r1=1127987&r2=1127988&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
Thu May 26 16:36:01 2011
@@ -137,7 +137,7 @@ public final class ObjectConverter {
if (value instanceof Short) {
return (Short) value;
} else if (value instanceof Number) {
- if (value.equals(Double.NaN)) {
+ if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
return null;
}
Number number = (Number) value;
@@ -157,7 +157,7 @@ public final class ObjectConverter {
if (value instanceof Integer) {
return (Integer) value;
} else if (value instanceof Number) {
- if (value.equals(Double.NaN)) {
+ if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
return null;
}
Number number = (Number) value;
@@ -177,7 +177,7 @@ public final class ObjectConverter {
if (value instanceof Long) {
return (Long) value;
} else if (value instanceof Number) {
- if (value.equals(Double.NaN)) {
+ if (value.equals(Float.NaN) || value.equals(Double.NaN)) {
return null;
}
Number number = (Number) value;
@@ -217,6 +217,9 @@ public final class ObjectConverter {
if (value instanceof Double) {
return (Double) value;
} else if (value instanceof Number) {
+ if (value.equals(Float.NaN)) {
+ return null;
+ }
Number number = (Number) value;
return number.doubleValue();
} else if (value instanceof String) {
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java?rev=1127988&r1=1127987&r2=1127988&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
Thu May 26 16:36:01 2011
@@ -61,6 +61,7 @@ public class ObjectConverterTest extends
assertEquals(Short.valueOf("4"), ObjectConverter.toShort("4"));
assertEquals(null, ObjectConverter.toShort(new Date()));
assertEquals(null, ObjectConverter.toShort(Double.NaN));
+ assertEquals(null, ObjectConverter.toShort(Float.NaN));
}
public void testToInteger() {
@@ -69,6 +70,7 @@ public class ObjectConverterTest extends
assertEquals(Integer.valueOf("4"), ObjectConverter.toInteger("4"));
assertEquals(null, ObjectConverter.toInteger(new Date()));
assertEquals(null, ObjectConverter.toInteger(Double.NaN));
+ assertEquals(null, ObjectConverter.toInteger(Float.NaN));
}
public void testToLong() {
@@ -77,6 +79,7 @@ public class ObjectConverterTest extends
assertEquals(Long.valueOf("4"), ObjectConverter.toLong("4"));
assertEquals(null, ObjectConverter.toLong(new Date()));
assertEquals(null, ObjectConverter.toLong(Double.NaN));
+ assertEquals(null, ObjectConverter.toLong(Float.NaN));
}
public void testToFloat() {
@@ -85,6 +88,7 @@ public class ObjectConverterTest extends
assertEquals(Float.valueOf("4"), ObjectConverter.toFloat("4"));
assertEquals(null, ObjectConverter.toFloat(new Date()));
assertEquals(null, ObjectConverter.toFloat(Double.NaN));
+ assertEquals(Float.NaN, ObjectConverter.toFloat(Float.NaN));
}
public void testToDouble() {
@@ -93,6 +97,7 @@ public class ObjectConverterTest extends
assertEquals(Double.valueOf("4"), ObjectConverter.toDouble("4"));
assertEquals(null, ObjectConverter.toDouble(new Date()));
assertEquals(Double.NaN, ObjectConverter.toDouble(Double.NaN));
+ assertEquals(null, ObjectConverter.toDouble(Float.NaN));
}
public void testToString() {