You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2018/08/14 08:52:22 UTC

[camel] branch camel-2.21.x updated: CAMEL-12410: Fixed BigInteger converter from String. Thanks to Viachaslau Tsikhanovich for reporting.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-2.21.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-2.21.x by this push:
     new 43eb9e2  CAMEL-12410: Fixed BigInteger converter from String. Thanks to Viachaslau Tsikhanovich for reporting.
43eb9e2 is described below

commit 43eb9e2e8f658c790ba3668b35db5231639378f6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 14 10:51:05 2018 +0200

    CAMEL-12410: Fixed BigInteger converter from String. Thanks to Viachaslau Tsikhanovich for reporting.
---
 .../src/main/java/org/apache/camel/converter/ObjectConverter.java   | 6 ++++--
 .../test/java/org/apache/camel/converter/ObjectConverterTest.java   | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
index dc1117c..2935480 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
@@ -200,14 +200,16 @@ public final class ObjectConverter {
      */
     @Converter
     public static BigInteger toBigInteger(Object value) {
+        if (value instanceof String) {
+            return new BigInteger((String) value);
+        }
+
         Long num = null;
         if (value instanceof Long) {
             num = (Long) value;
         } else if (value instanceof Number) {
             Number number = (Number) value;
             num = number.longValue();
-        } else if (value instanceof String) {
-            num = Long.valueOf((String) value);
         }
         if (num != null) {
             return BigInteger.valueOf(num);
diff --git a/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java b/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
index 94a7087..7408213 100644
--- a/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
+++ b/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
@@ -128,6 +128,7 @@ public class ObjectConverterTest extends TestCase {
         assertEquals(BigInteger.valueOf(0), ObjectConverter.toBigInteger(Double.NaN));
         assertEquals(BigInteger.valueOf(0), ObjectConverter.toBigInteger(Float.NaN));
         assertEquals(BigInteger.valueOf(4), ObjectConverter.toBigInteger(Long.valueOf("4")));
+        assertEquals(new BigInteger("14350442579497085228"), ObjectConverter.toBigInteger("14350442579497085228"));
     }
 
     public void testToString() {