Skip to content

Commit 74900a6

Browse files
Abstract Arrays and Enumeration Values addressed (#117)
* Solution for Issue 112 Arrays containing elements of a derived type are not converted correctly. * Add Structure Testing * Testing Complete * Add Typeonly to Enumerations in AttributeTypeLibrary * Testing for Enumerations * Testing complete for Enumerations
1 parent e6a5ba4 commit 74900a6

File tree

8 files changed

+5759
-3363
lines changed

8 files changed

+5759
-3363
lines changed

NodeSetToAML.cs

Lines changed: 393 additions & 85 deletions
Large diffs are not rendered by default.

SystemTest/NodeSetFiles/InstanceLevel.xml

Lines changed: 4270 additions & 3257 deletions
Large diffs are not rendered by default.

SystemTest/NodeSetFiles/LevelOne.xml

Lines changed: 159 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,70 @@
3131
<Alias Alias="LocalizedText">i=21</Alias>
3232
<Alias Alias="DataValue">i=23</Alias>
3333
<Alias Alias="DiagnosticInfo">i=25</Alias>
34-
<Alias Alias="HasEncoding">i=38</Alias>
34+
<Alias Alias="HasModellingRule">i=37</Alias>
35+
<Alias Alias="HasEncoding">i=38</Alias>
3536
<Alias Alias="HasTypeDefinition">i=40</Alias>
3637
<Alias Alias="HasSubtype">i=45</Alias>
3738
<Alias Alias="HasProperty">i=46</Alias>
3839
<Alias Alias="HasComponent">i=47</Alias>
3940
<Alias Alias="IdType">i=256</Alias>
40-
<Alias Alias="NumericRange">i=291</Alias>
41+
<Alias Alias="NodeClass">i=257</Alias>
42+
<Alias Alias="NumericRange">i=291</Alias>
4143
<Alias Alias="PublishedVariableDataType">i=14273</Alias>
4244
<Alias Alias="DataSetMetaDataType">i=14523</Alias>
43-
</Aliases>
45+
<Alias Alias="NegotiationStatus">i=24216</Alias>
46+
<Alias Alias="AbstractionOne">ns=1;i=3007</Alias>
47+
<Alias Alias="AbstractionTwo">ns=1;i=3010</Alias>
48+
</Aliases>
4449
<Extensions>
4550
<Extension>
4651
<ua:ModelInfo Tool="UaModeler" Hash="DuPGKAwEHXQ1SZQJiUlj2g==" Version="1.6.8"/>
4752
</Extension>
4853
</Extensions>
49-
<UADataType NodeId="ns=1;i=3003" BrowseName="1:ComprehensiveScalarType">
54+
<UADataType IsAbstract="true" NodeId="ns=1;i=3007" BrowseName="1:AbstractionOne">
55+
<DisplayName>AbstractionOne</DisplayName>
56+
<References>
57+
<Reference ReferenceType="HasSubtype" IsForward="false">i=22</Reference>
58+
</References>
59+
<Definition Name="1:AbstractionOne">
60+
<Field DataType="Double" Name="ParentOne"/>
61+
</Definition>
62+
</UADataType>
63+
<UADataType NodeId="ns=1;i=3014" BrowseName="1:AbstractionStructureOne">
64+
<DisplayName>AbstractionStructureOne</DisplayName>
65+
<References>
66+
<Reference ReferenceType="HasSubtype" IsForward="false">i=22</Reference>
67+
<Reference ReferenceType="HasEncoding">ns=1;i=5008</Reference>
68+
<Reference ReferenceType="HasEncoding">ns=1;i=5010</Reference>
69+
<Reference ReferenceType="HasEncoding">ns=1;i=5009</Reference>
70+
</References>
71+
<Definition Name="1:AbstractionStructureOne">
72+
<Field AllowSubTypes="true" DataType="AbstractionOne" Name="AbstractionOne"/>
73+
<Field AllowSubTypes="true" DataType="AbstractionTwo" Name="AbstractionTwo"/>
74+
</Definition>
75+
</UADataType>
76+
<UADataType NodeId="ns=1;i=3008" BrowseName="1:AbstractionSub">
77+
<DisplayName>AbstractionSub</DisplayName>
78+
<References>
79+
<Reference ReferenceType="HasSubtype" IsForward="false">i=22</Reference>
80+
<Reference ReferenceType="HasEncoding">ns=1;i=5011</Reference>
81+
<Reference ReferenceType="HasEncoding">ns=1;i=5013</Reference>
82+
<Reference ReferenceType="HasEncoding">ns=1;i=5012</Reference>
83+
</References>
84+
<Definition Name="1:AbstractionSub">
85+
<Field AllowSubTypes="true" DataType="AbstractionOne" Name="AbstractionOne"/>
86+
</Definition>
87+
</UADataType>
88+
<UADataType IsAbstract="true" NodeId="ns=1;i=3010" BrowseName="1:AbstractionTwo">
89+
<DisplayName>AbstractionTwo</DisplayName>
90+
<References>
91+
<Reference ReferenceType="HasSubtype" IsForward="false">i=22</Reference>
92+
</References>
93+
<Definition Name="1:AbstractionTwo">
94+
<Field DataType="Int32" Name="ParentTwo"/>
95+
</Definition>
96+
</UADataType>
97+
<UADataType NodeId="ns=1;i=3003" BrowseName="1:ComprehensiveScalarType">
5098
<DisplayName>ComprehensiveScalarType</DisplayName>
5199
<References>
52100
<Reference ReferenceType="HasSubtype" IsForward="false">i=22</Reference>
@@ -81,7 +129,50 @@
81129
<Field DataType="DiagnosticInfo" Name="DiagnosticInfo"/>
82130
</Definition>
83131
</UADataType>
84-
<UAObject SymbolicName="http___opcfoundation_org_UA_FX_AML_TESTING_LevelOne_" NodeId="ns=1;i=5004" BrowseName="1:http://opcfoundation.org/UA/FX/AML/TESTING/LevelOne/">
132+
133+
<UADataType NodeId="ns=1;i=3009" BrowseName="1:EnumerationStructure">
134+
<DisplayName>EnumerationStructure</DisplayName>
135+
<References>
136+
<Reference ReferenceType="HasEncoding">ns=1;i=5014</Reference>
137+
<Reference ReferenceType="HasEncoding">ns=1;i=5016</Reference>
138+
<Reference ReferenceType="HasEncoding">ns=1;i=5015</Reference>
139+
<Reference ReferenceType="HasSubtype" IsForward="false">i=22</Reference>
140+
</References>
141+
<Definition Name="1:EnumerationStructure">
142+
<Field DataType="NodeClass" Name="One"/>
143+
<Field DataType="NegotiationStatus" ValueRank="1" ArrayDimensions="0" Name="Two"/>
144+
</Definition>
145+
</UADataType>
146+
147+
<UAObjectType NodeId="ns=1;i=1003" BrowseName="1:AbstractLevelOne">
148+
<DisplayName>AbstractLevelOne</DisplayName>
149+
<References>
150+
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
151+
<Reference ReferenceType="HasComponent">ns=1;i=6008</Reference>
152+
<Reference ReferenceType="HasComponent">ns=1;i=6009</Reference>
153+
</References>
154+
</UAObjectType>
155+
<UAVariable DataType="AbstractionOne" ParentNodeId="ns=1;i=1003" NodeId="ns=1;i=6008" BrowseName="1:One" AccessLevel="3">
156+
<DisplayName>One</DisplayName>
157+
<References>
158+
<Reference ReferenceType="HasModellingRule">i=78</Reference>
159+
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
160+
<Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1003</Reference>
161+
</References>
162+
</UAVariable>
163+
<UAVariable DataType="AbstractionTwo" ParentNodeId="ns=1;i=1003" NodeId="ns=1;i=6009" BrowseName="1:Two" AccessLevel="3">
164+
<DisplayName>Two</DisplayName>
165+
<References>
166+
<Reference ReferenceType="HasModellingRule">i=78</Reference>
167+
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
168+
<Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1003</Reference>
169+
</References>
170+
</UAVariable>
171+
172+
173+
174+
175+
<UAObject SymbolicName="http___opcfoundation_org_UA_FX_AML_TESTING_LevelOne_" NodeId="ns=1;i=5004" BrowseName="1:http://opcfoundation.org/UA/FX/AML/TESTING/LevelOne/">
85176
<DisplayName>http://opcfoundation.org/UA/FX/AML/TESTING/LevelOne/</DisplayName>
86177
<References>
87178
<Reference ReferenceType="HasTypeDefinition">i=11616</Reference>
@@ -177,4 +268,67 @@
177268
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3003</Reference>
178269
</References>
179270
</UAObject>
271+
<UAObject SymbolicName="DefaultBinary" NodeId="ns=1;i=5008" BrowseName="Default Binary">
272+
<DisplayName>Default Binary</DisplayName>
273+
<References>
274+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
275+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3014</Reference>
276+
</References>
277+
</UAObject>
278+
<UAObject SymbolicName="DefaultXml" NodeId="ns=1;i=5009" BrowseName="Default XML">
279+
<DisplayName>Default XML</DisplayName>
280+
<References>
281+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
282+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3014</Reference>
283+
</References>
284+
</UAObject>
285+
<UAObject SymbolicName="DefaultJson" NodeId="ns=1;i=5010" BrowseName="Default JSON">
286+
<DisplayName>Default JSON</DisplayName>
287+
<References>
288+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
289+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3014</Reference>
290+
</References>
291+
</UAObject>
292+
<UAObject SymbolicName="DefaultBinary" NodeId="ns=1;i=5011" BrowseName="Default Binary">
293+
<DisplayName>Default Binary</DisplayName>
294+
<References>
295+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
296+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3008</Reference>
297+
</References>
298+
</UAObject>
299+
<UAObject SymbolicName="DefaultXml" NodeId="ns=1;i=5012" BrowseName="Default XML">
300+
<DisplayName>Default XML</DisplayName>
301+
<References>
302+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
303+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3008</Reference>
304+
</References>
305+
</UAObject>
306+
<UAObject SymbolicName="DefaultJson" NodeId="ns=1;i=5013" BrowseName="Default JSON">
307+
<DisplayName>Default JSON</DisplayName>
308+
<References>
309+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
310+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3008</Reference>
311+
</References>
312+
</UAObject>
313+
<UAObject SymbolicName="DefaultBinary" NodeId="ns=1;i=5014" BrowseName="Default Binary">
314+
<DisplayName>Default Binary</DisplayName>
315+
<References>
316+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
317+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3009</Reference>
318+
</References>
319+
</UAObject>
320+
<UAObject SymbolicName="DefaultXml" NodeId="ns=1;i=5015" BrowseName="Default XML">
321+
<DisplayName>Default XML</DisplayName>
322+
<References>
323+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
324+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3009</Reference>
325+
</References>
326+
</UAObject>
327+
<UAObject SymbolicName="DefaultJson" NodeId="ns=1;i=5016" BrowseName="Default JSON">
328+
<DisplayName>Default JSON</DisplayName>
329+
<References>
330+
<Reference ReferenceType="HasTypeDefinition">i=76</Reference>
331+
<Reference ReferenceType="HasEncoding" IsForward="false">ns=1;i=3009</Reference>
332+
</References>
333+
</UAObject>
180334
</UANodeSet>

0 commit comments

Comments
 (0)