Prosys OPC UA Java SDK 3.1.2
This is a new bug fix release of the SDK.
Main fixes are for the TypeDictionary system introduced in 3.0.0 for handling unknown custom Structures and for generated code for custom Structures having array fields.
OPC Foundation Java Stack changes
- No changes, using version 1.3.343 (same as in SDK 3.0.0 and 3.1.0)
Changes to common classes
- Fixed: StructureUtils.clone helper for generated code now properly deep-clones arrays instead of logging errors, this affected generated code for custom Structures that have array fields. Note that also the bundled generated code for the DI and GDS companion specification information models were affected.
Changes to Client SDK
- Fixed: DynamicStructure.hashCode and equals now works properly, previously was incorrect if DynamicStructure had array fields
- Fixed: DynamicStructure.clone is now implemented, array fields are deep-cloned
Changes to Server SDK
- Fixed: When creating instances of a VariableType that has a non-null Structure as Value, the parts of the Structure are set correctly to the created sub-nodes for the Variable during NodeManagerUaNode.createInstance.
We recommend regenerating code with 3.1.2 codegen.
- Fixed: TypeDefinitionId annotation is generated for Structures and Enumerations. This affected sub-node creation for Variable nodes with custom Structures having custom Enumeration fields.
- Fixed: Generated code for handling Union deserialization now handles null, i.e. SwitchField value is 0, situation correctly.
- Fixed: Generating Ids on model with large number of types will split the initialization to multiple files (if over 3000 NodeIds at the moment) to avoid "Code too large" compilation errors. Public API of the generated Ids java file is the same, this only affect internal initialization.
Changes to SampleConsoleClient sample
Changes to SampleConsoleServer sample