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

hutcheb pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 847feadbfd fix(opcua): Add Null Variant (#1124)
847feadbfd is described below

commit 847feadbfd3acc40c127e9d6b6802328ce42f56c
Author: Ben Hutcheson <[email protected]>
AuthorDate: Wed Oct 11 19:32:42 2023 +0200

    fix(opcua): Add Null Variant (#1124)
---
 .../main/generated/org/apache/plc4x/java/opcua/readwrite/Variant.java | 4 +++-
 protocols/opcua/src/main/xslt/opc-manual.xsl                          | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/Variant.java
 
b/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/Variant.java
index b421579c6f..e4c102e6a0 100644
--- 
a/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/Variant.java
+++ 
b/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/Variant.java
@@ -158,7 +158,9 @@ public abstract class Variant implements Message {
 
     // Switch Field (Depending on the discriminator values, passes the 
instantiation to a sub-type)
     VariantBuilder builder = null;
-    if (EvaluationHelper.equals(VariantType, (byte) 1)) {
+    if (EvaluationHelper.equals(VariantType, (byte) 0)) {
+      builder = VariantNull.staticParseVariantBuilder(readBuffer);
+    } else if (EvaluationHelper.equals(VariantType, (byte) 1)) {
       builder = VariantBoolean.staticParseVariantBuilder(readBuffer, 
arrayLengthSpecified);
     } else if (EvaluationHelper.equals(VariantType, (byte) 2)) {
       builder = VariantSByte.staticParseVariantBuilder(readBuffer, 
arrayLengthSpecified);
diff --git a/protocols/opcua/src/main/xslt/opc-manual.xsl 
b/protocols/opcua/src/main/xslt/opc-manual.xsl
index ed78d13f18..4e40eea68a 100644
--- a/protocols/opcua/src/main/xslt/opc-manual.xsl
+++ b/protocols/opcua/src/main/xslt/opc-manual.xsl
@@ -238,6 +238,8 @@
     [simple bit arrayDimensionsSpecified]
     [discriminator uint 6 VariantType]
     [typeSwitch VariantType,arrayLengthSpecified
+        ['0' VariantNull
+        ]
         ['1' VariantBoolean (bit arrayLengthSpecified)
             [optional int 32 arrayLength 'arrayLengthSpecified']
             [array byte value count 'arrayLength == null ? 1 : arrayLength']

Reply via email to