You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by hu...@apache.org on 2023/10/01 05:09:41 UTC

[plc4x] 01/01: fix(opcua): Add Null Variant

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

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

commit 3bc1fdd006efa5e9d88cf6312072f123ef8f3125
Author: Ben Hutcheson <be...@gmail.com>
AuthorDate: Sun Oct 1 07:08:51 2023 +0200

    fix(opcua): Add Null Variant
---
 .../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']