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

cdutz pushed a commit to branch feature/knxnet-ip
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/feature/knxnet-ip by this push:
     new f93eaa5  - Fixed some invalid handling of BigIntegers
f93eaa5 is described below

commit f93eaa59297d3407ac939d7ace62f2e4d9ee2a40
Author: Christofer Dutz <[email protected]>
AuthorDate: Tue Dec 10 16:52:20 2019 +0100

    - Fixed some invalid handling of BigIntegers
---
 .../org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java  | 6 +++---
 .../src/main/resources/templates/java/io-template.ftlh              | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
 
b/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
index d61a28a..9e67df1 100644
--- 
a/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
+++ 
b/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
@@ -212,7 +212,7 @@ public class JavaLanguageTemplateHelper implements 
FreemarkerLanguageTemplateHel
                 if (integerTypeReference.getSizeInBits() <= 32) {
                     return "io.readUnsignedLong(" + 
integerTypeReference.getSizeInBits() + ")";
                 }
-                return "io.readUnsignedBigInteger" + 
integerTypeReference.getSizeInBits() + ")";
+                return "io.readUnsignedBigInteger(" + 
integerTypeReference.getSizeInBits() + ")";
             }
             case INT: {
                 IntegerTypeReference integerTypeReference = 
(IntegerTypeReference) simpleTypeReference;
@@ -275,7 +275,7 @@ public class JavaLanguageTemplateHelper implements 
FreemarkerLanguageTemplateHel
                 if (integerTypeReference.getSizeInBits() <= 32) {
                     return "io.writeUnsignedLong(" + 
integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + 
").longValue())";
                 }
-                return "io.writeUnsignedBigInteger" + 
integerTypeReference.getSizeInBits() + ", (BigInteger) " + fieldName + ")";
+                return "io.writeUnsignedBigInteger(" + 
integerTypeReference.getSizeInBits() + ", BigInteger.valueOf( " + fieldName + 
"))";
             }
             case INT: {
                 IntegerTypeReference integerTypeReference = 
(IntegerTypeReference) simpleTypeReference;
@@ -291,7 +291,7 @@ public class JavaLanguageTemplateHelper implements 
FreemarkerLanguageTemplateHel
                 if (integerTypeReference.getSizeInBits() <= 64) {
                     return "io.writeLong(" + 
integerTypeReference.getSizeInBits() + ", ((Number) " + fieldName + 
").longValue())";
                 }
-                return "io.writeBigInteger(" + 
integerTypeReference.getSizeInBits() + ", (BigInteger) " + fieldName + ")";
+                return "io.writeBigInteger(" + 
integerTypeReference.getSizeInBits() + ", BigInteger.valueOf( " + fieldName + 
"))";
             }
             case FLOAT:
             case UFLOAT: {
diff --git 
a/build-utils/language-java/src/main/resources/templates/java/io-template.ftlh 
b/build-utils/language-java/src/main/resources/templates/java/io-template.ftlh
index e6e891a..cf7b880 100644
--- 
a/build-utils/language-java/src/main/resources/templates/java/io-template.ftlh
+++ 
b/build-utils/language-java/src/main/resources/templates/java/io-template.ftlh
@@ -47,6 +47,7 @@ import org.slf4j.LoggerFactory;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.math.BigInteger;
 import java.util.*;
 import java.util.function.Supplier;
 

Reply via email to