View Issue Details

IDProjectCategoryView StatusLast Update
000949410000-014: PubSubSpecpublic2024-06-12 14:21
ReporterMatthias Damm Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.05.03 
Target Version1.05.04 RC1Fixed in Version1.05.04 RC1 
Summary0009494: Adjust to JSON encoding changes in Part 6
Description

We removed the special handling of Variant and ExtensionObject for NonReversible encoding from Part 6.

The assumtion is that nothing changes for Part 14 on the top level of DataSetMessage fields. The DataType is known from the DataSetMetaData. Therefore the envelope of Variant and ExtensionObject can be skipped at this level.

If the DataSetMessage field would contain another Variant and ExtensionObject (type is unknown from DataSetMetaData), the Part 6 defined Variant and ExtensionObject encoding is used.

We need to add these special rules to Part 14.

TagsNo tags attached.
Commit Version1.05.04 RC
Fix Due Date2024-03-31

Activities

Matthias Damm

2024-06-12 14:16

developer   ~0021323

Replaced 'reversible' with 'CompactEncoding '
Replaced 'non-reversible' with 'VerboseEncoding'

Table 110 – JsonDataSetMessageContentMask values
Updated text for ReversibleFieldEncoding:
If this flag is set, the DataSetMessage fields are encoded in the CompactEncoding JSON encoding. If the flag is not set, the DataSetMessage fields are encoded in the VerboseEncoding.
If the ReversibleFieldEncoding flag is not set in the DataSetMessageContentMask, the Variant at the top level of a field is encoded as a JSON value containing only the value of the Body field. If this Variant contains an ExtensionObject, the ExtensionObject shall be encoded as a JSON value containing only the value of the Body field. This also applies to the Variant in a DataValue at the top level of a field.

7.2.5.4 DataSetMessage
Added
The format of the field values in the Payload depend on the setting of the DataSetFieldContentMask and the ReversibleFieldEncoding flag in the DataSetMessageContentMask.
If the DataSetFieldContentMask is 0 or the RawData flag is set, the DataSetMessage fields are encoded as Variant. Otherwise the fields are encoded as DataValue. If the KeyFrameCount is 0, the DataSetFieldContentMask shall be 0.
If the ReversibleFieldEncoding flag is not set in the DataSetMessageContentMask, the Variant at the top level of a field is encoded as a JSON value containing only the value of the Body field. If this Variant contains an ExtensionObject, the ExtensionObject shall be encoded as a JSON value containing only the value of the Body field. This also applies to the Variant in a DataValue at the top level of a field.

Jim Luth

2024-06-12 14:21

administrator   ~0021325

Agreed to changes in Virtual F2F.

Issue History

Date Modified Username Field Change
2024-03-21 20:21 Matthias Damm New Issue
2024-03-21 20:21 Matthias Damm Status new => assigned
2024-03-21 20:21 Matthias Damm Assigned To => Matthias Damm
2024-03-21 20:21 Jim Luth Commit Version => 1.05.04 RC
2024-03-21 20:21 Jim Luth Fix Due Date => 2024-03-31
2024-06-12 14:16 Matthias Damm Status assigned => resolved
2024-06-12 14:16 Matthias Damm Resolution open => fixed
2024-06-12 14:16 Matthias Damm Fixed in Version => 1.05.04 RC1
2024-06-12 14:16 Matthias Damm Note Added: 0021323
2024-06-12 14:21 Jim Luth Status resolved => closed
2024-06-12 14:21 Jim Luth Note Added: 0021325