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() {