Author: dkulp
Date: Thu Jul  7 17:44:56 2011
New Revision: 1143933

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

........
  r1127744 | boday | 2011-05-25 20:44:21 -0400 (Wed, 25 May 2011) | 1 line
  
  CAMEL-4011: updated ObjectConverter.toX() methods to check for Double.NaN and 
return NULL instead of 0
........
  r1127988 | boday | 2011-05-26 12:36:01 -0400 (Thu, 26 May 2011) | 1 line
  
  CAMEL-4011: updated ObjectConverter.toX() methods to check for Double.NaN and 
Float.NaN and return NULL instead of 0
........

Modified:
    camel/branches/camel-2.7.x/   (props changed)
    
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
    
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/builder/xml/ExtractXPathWithNamespaceTest.java
    
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul  7 17:44:56 2011
@@ -1 +1 @@
-/camel/trunk:1083696,1087276,1087612,1087856,1088583,1088916-1088917,1089275,1090166,1091518,1091771,1091799,1092068,1092577,1092667,1093978,1095405,1095469,1095471,1095475-1095476,1099417,1102162,1104076,1124497,1131411,1134252,1134501,1135364,1143925
+/camel/trunk:1083696,1087276,1087612,1087856,1088583,1088916-1088917,1089275,1090166,1091518,1091771,1091799,1092068,1092577,1092667,1093978,1095405,1095469,1095471,1095475-1095476,1099417,1102162,1104076,1124497,1127744,1127988,1131411,1134252,1134501,1135364,1143925

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Jul  7 17:44:56 2011
@@ -1 +1 @@
-/camel/trunk:1-1088794,1088916-1088917,1089275,1090166,1091518,1091771,1091799,1092068,1092577,1092667,1093978,1095405,1095469,1095471,1095475-1095476,1099417,1102162,1104076,1124497,1131411,1134252,1134501,1135364,1143925
+/camel/trunk:1-1088794,1088916-1088917,1089275,1090166,1091518,1091771,1091799,1092068,1092577,1092667,1093978,1095405,1095469,1095471,1095475-1095476,1099417,1102162,1104076,1124497,1127744-1127893,1127895-1127988,1131411,1134252,1134501,1135364,1143925

Modified: 
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java?rev=1143933&r1=1143932&r2=1143933&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
 (original)
+++ 
camel/branches/camel-2.7.x/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
 Thu Jul  7 17:44:56 2011
@@ -137,6 +137,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)) {
+                return null;
+            }
             Number number = (Number) value;
             return number.shortValue();
         } else if (value instanceof String) {
@@ -154,6 +157,9 @@ 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)) {
+                return null;
+            }
             Number number = (Number) value;
             return number.intValue();
         } else if (value instanceof String) {
@@ -171,6 +177,9 @@ 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)) {
+                return null;
+            }
             Number number = (Number) value;
             return number.longValue();
         } else if (value instanceof String) {
@@ -188,6 +197,9 @@ public final class ObjectConverter {
         if (value instanceof Float) {
             return (Float) value;
         } else if (value instanceof Number) {
+            if (value.equals(Double.NaN)) {
+                return null;
+            }
             Number number = (Number) value;
             return number.floatValue();
         } else if (value instanceof String) {
@@ -205,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/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/builder/xml/ExtractXPathWithNamespaceTest.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/builder/xml/ExtractXPathWithNamespaceTest.java?rev=1143933&r1=1143932&r2=1143933&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/builder/xml/ExtractXPathWithNamespaceTest.java
 (original)
+++ 
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/builder/xml/ExtractXPathWithNamespaceTest.java
 Thu Jul  7 17:44:56 2011
@@ -16,7 +16,10 @@
  */
 package org.apache.camel.builder.xml;
 
+import junit.framework.Assert;
+
 import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 
@@ -48,11 +51,11 @@ public class ExtractXPathWithNamespaceTe
     public void testXPathWithNamespaceDifferentNamespace() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("<number 
xmlns=\"http://acme.com/cake\";>55</number>");
-        mock.expectedHeaderReceived("foo", 0);
 
         template.sendBody("direct:in", "<number 
xmlns=\"http://acme.com/cake\";>55</number>");
 
         mock.assertIsSatisfied();
+        Assert.assertNull(mock.getExchanges().get(0).getIn().getHeader("foo"));
     }
 
     protected RouteBuilder createRouteBuilder() throws Exception {

Modified: 
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java?rev=1143933&r1=1143932&r2=1143933&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
 (original)
+++ 
camel/branches/camel-2.7.x/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
 Thu Jul  7 17:44:56 2011
@@ -60,6 +60,8 @@ public class ObjectConverterTest extends
         assertEquals(Short.valueOf("4"), 
ObjectConverter.toShort(Integer.valueOf("4")));
         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() {
@@ -67,6 +69,8 @@ public class ObjectConverterTest extends
         assertEquals(Integer.valueOf("4"), 
ObjectConverter.toInteger(Long.valueOf("4")));
         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() {
@@ -74,6 +78,8 @@ public class ObjectConverterTest extends
         assertEquals(Long.valueOf("4"), 
ObjectConverter.toLong(Integer.valueOf("4")));
         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() {
@@ -81,6 +87,8 @@ public class ObjectConverterTest extends
         assertEquals(Float.valueOf("4"), 
ObjectConverter.toFloat(Integer.valueOf("4")));
         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() {
@@ -88,6 +96,8 @@ public class ObjectConverterTest extends
         assertEquals(Double.valueOf("4"), 
ObjectConverter.toDouble(Integer.valueOf("4")));
         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() {


Reply via email to