Skip to content
This repository was archived by the owner on Feb 15, 2024. It is now read-only.

Commit ae6e841

Browse files
committed
minor fixes
1 parent f9ca0c0 commit ae6e841

6 files changed

Lines changed: 51 additions & 9 deletions

File tree

dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasKindMapper.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,26 @@
22

33
import org.opcfoundation.ua._2011._03.uanodeset.UAObject;
44
import org.opcfoundation.ua._2011._03.uanodeset.UAVariable;
5+
import org.slf4j.Logger;
6+
import org.slf4j.LoggerFactory;
57

8+
import io.adminshell.aas.v3.dataformat.core.serialization.EmbeddedDataSpecificationSerializer;
69
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
710
import io.adminshell.aas.v3.model.HasKind;
11+
import io.adminshell.aas.v3.model.ModelingKind;
812

913
public interface HasKindMapper {
1014

15+
static final Logger logger = LoggerFactory.getLogger(HasKindMapper.class);
16+
1117
default void mapKind(HasKind kind, UAObject target, MappingContext ctx) {
12-
if (kind.getKind() != null) {
13-
UAVariable mappedKind = new I4AASEnumMapper(kind.getKind(), ctx).map();
14-
I4AASMapper.attachAsProperty(target, mappedKind);
18+
ModelingKind modelingKind = kind.getKind();
19+
if (modelingKind == null) {
20+
logger.warn("Missing ModelingKind attribute, fallback to 'Instance'");
21+
modelingKind = ModelingKind.INSTANCE;
1522
}
23+
UAVariable mappedKind = new I4AASEnumMapper(modelingKind, ctx).map();
24+
I4AASMapper.attachAsProperty(target, mappedKind);
1625
}
1726

1827
}

dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/HasSemanticsMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ default void mapSemantics(HasSemantics source, UAObject target, MappingContext c
2626
UANode nodeForIdentification = ctx.getNodeIdForIdentification(key.getValue());
2727

2828

29-
if (nodeForIdentification == null) {
29+
if (nodeForIdentification == null && key.getValue() != null && !key.getValue().isBlank()) {
3030
nodeForIdentification = fixedConceptDescription(ctx, key);
3131
}
3232

@@ -70,7 +70,7 @@ public String getIdentifier() {
7070
}
7171
@Override
7272
public IdentifierType getIdType() {
73-
return IdentifierType.valueOf(key.getIdType().name());
73+
return key.getIdType() == null ? null : IdentifierType.valueOf(key.getIdType().name());
7474
}
7575
});
7676

dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/StringPropertyMapper.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ protected UAVariable createTargetObject() {
3434

3535
@Override
3636
protected void mapAndAttachChildren() {
37-
// TODO Auto-generated method stub
38-
3937
}
4038

4139
}

dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/BlobMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ protected void mapAndAttachChildren() {
2727
super.mapAndAttachChildren();
2828
String mimeType = source.getMimeType();
2929
if (mimeType != null) {
30-
UAVariable map = new StringPropertyMapper("MimeType", mimeType, ctx, ctx.getI4aasNsIndex()).map();
30+
UAVariable map = new MimeTypeMapper(mimeType, ctx).map();
3131
attachAsProperty(target, map);
3232
}
3333
byte[] value = source.getValue();

dataformat-uanodeset/src/main/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/sme/FileMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ protected void mapAndAttachChildren() {
4040
attachAsProperty(target, map);
4141
}
4242
if (source.getValue() != null) {
43-
UAVariable map = new StringPropertyMapper("Value", source.getValue(), ctx, ctx.getI4aasNsIndex()).map();
43+
UAVariable map = new PathTypeMapper(source.getValue(), ctx).map();
4444
attachAsProperty(target, map);
4545
}
4646
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package io.adminshell.aas.v3.dataformat.i4aas.mappers.sme;
2+
3+
import javax.xml.bind.JAXBElement;
4+
5+
import org.opcfoundation.ua._2008._02.types.ObjectFactory;
6+
import org.opcfoundation.ua._2011._03.uanodeset.UAVariable;
7+
import io.adminshell.aas.v3.dataformat.i4aas.mappers.I4AASMapper;
8+
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils;
9+
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4aasId;
10+
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
11+
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaId;
12+
13+
public class PathTypeMapper extends I4AASMapper<String, UAVariable> {
14+
15+
public PathTypeMapper(String src, MappingContext ctx) {
16+
super(src, ctx);
17+
}
18+
19+
@Override
20+
protected UAVariable createTargetObject() {
21+
JAXBElement<String> idStringValue = new ObjectFactory().createString(source);
22+
org.opcfoundation.ua._2011._03.uanodeset.UAVariable.Builder<Void> idVarBuilder = UAVariable.builder()
23+
.withValue().withAny(idStringValue).end().withDisplayName(createLocalizedText("Value"))
24+
.withDataType(I4aasId.AASPathDataType.getName()).withNodeId(ctx.newModelNodeIdAsString())
25+
.withBrowseName(createI4AASBrowseName("Value")).withAccessLevel(3L);
26+
target = idVarBuilder.build();
27+
addTypeReferenceFor(target, UaId.PropertyType);
28+
return target;
29+
}
30+
31+
@Override
32+
protected void mapAndAttachChildren() {
33+
}
34+
35+
}

0 commit comments

Comments
 (0)