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;