Skip to content

Commit 14f4f66

Browse files
committed
Set empty opt14 nodeids to null, to fix conversion
1 parent 0f31c03 commit 14f4f66

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

opt14/src/main/java/com/nedap/archie/opt14/DefinitionConverter.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.nedap.archie.opt14;
22

3+
import com.google.common.base.Strings;
34
import com.nedap.archie.aom.ArchetypeHRID;
45
import com.nedap.archie.aom.ArchetypeSlot;
56
import com.nedap.archie.aom.CArchetypeRoot;
@@ -28,16 +29,20 @@ public void convert(Template template, OPERATIONALTEMPLATE opt14) {
2829

2930
private CComplexObject convert(CCOMPLEXOBJECT cComplexObject14) {
3031
CComplexObject cComplexObject = new CComplexObject();
31-
cComplexObject.setNodeId(cComplexObject14.getNodeId());
32-
cComplexObject.setRmTypeName(cComplexObject14.getRmTypeName());
33-
cComplexObject.setOccurrences(BaseTypesConverter.convertMultiplicity(cComplexObject14.getOccurrences()));
32+
setObjectBasics(cComplexObject14, cComplexObject);
3433

3534
for (CATTRIBUTE attribute14 : cComplexObject14.getAttributes()) {
3635
cComplexObject.addAttribute(convert(attribute14));
3736
}
3837
return cComplexObject;
3938
}
4039

40+
private void setObjectBasics(COBJECT cComplexObject14, CObject cComplexObject) {
41+
cComplexObject.setNodeId(Strings.isNullOrEmpty(cComplexObject14.getNodeId()) ? null : cComplexObject14.getNodeId());
42+
cComplexObject.setRmTypeName(cComplexObject14.getRmTypeName());
43+
cComplexObject.setOccurrences(BaseTypesConverter.convertMultiplicity(cComplexObject14.getOccurrences()));
44+
}
45+
4146
private CAttribute convert(CATTRIBUTE attribute14) {
4247
CAttribute attribute = new CAttribute();
4348
attribute.setRmAttributeName(attribute14.getRmAttributeName());
@@ -78,10 +83,8 @@ private CObject convert(COBJECT cobject14) {
7883

7984
private CObject convertSlot(ARCHETYPESLOT cobject14) {
8085
ArchetypeSlot archetypeSlot = new ArchetypeSlot();
81-
archetypeSlot.setNodeId(cobject14.getNodeId());
82-
archetypeSlot.setRmTypeName(cobject14.getRmTypeName());
86+
setObjectBasics(cobject14, archetypeSlot);
8387

84-
archetypeSlot.setOccurrences(BaseTypesConverter.convertMultiplicity(cobject14.getOccurrences()));
8588
//TODO: assertions for include/exclude, should be straightforward
8689
return archetypeSlot;
8790
}
@@ -98,9 +101,7 @@ private CObject convertRoot(CARCHETYPEROOT cRoot14) {
98101

99102
CArchetypeRoot root = new CArchetypeRoot();
100103
root.setArchetypeRef(overlay.getArchetypeId().getFullId());
101-
root.setNodeId(cRoot14.getNodeId());
102-
root.setOccurrences(BaseTypesConverter.convertMultiplicity(cRoot14.getOccurrences()));
103-
root.setRmTypeName(cRoot14.getRmTypeName());
104+
setObjectBasics(cRoot14, root);
104105
return root;
105106
}
106107

0 commit comments

Comments
 (0)