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:00 UTC

[camel] branch master 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 master
in repository https://gitbox.apache.org/repos/asf/camel.git


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

commit 0c504c7b0c7604df5bfb2ce7af4c8ede96fbb391
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 5eeaa0f..ca8983a 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() {