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

Commit 5bad8a0

Browse files
committed
building blocks for parsing
1 parent b0f9bdf commit 5bad8a0

56 files changed

Lines changed: 446 additions & 57 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ public class I4AASDeserializer implements Deserializer {
3333
@Override
3434
public AssetAdministrationShellEnvironment read(String value) throws DeserializationException {
3535
try {
36-
UANodeSet unmarshallAsString = new UANodeSetUnmarshaller(value).unmarshallAsString();
37-
UANode aasEnv = findAASEnvironment(unmarshallAsString);
38-
return new EnvironmentParser(aasEnv, new ParserContext()).parse();
36+
UANodeSet uaNodeSet = new UANodeSetUnmarshaller().unmarshall(value);
37+
UANode aasEnv = findAASEnvironment(uaNodeSet);
38+
return new EnvironmentParser(aasEnv, new ParserContext(uaNodeSet)).parse();
3939
} catch (JAXBException e) {
4040
throw new DeserializationException("Deserialization failed due to a JAXBException.", e);
4141
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import io.adminshell.aas.v3.dataformat.SerializationException;
2323
import io.adminshell.aas.v3.dataformat.Serializer;
2424
import io.adminshell.aas.v3.dataformat.i4aas.mappers.EnvironmentMapper;
25-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
25+
import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext;
2626
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
2727

2828
public class I4AASSerializer implements Serializer {

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

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.adminshell.aas.v3.dataformat.i4aas;
1717

18+
import java.io.InputStream;
1819
import java.io.StringReader;
1920
import java.io.StringWriter;
2021

@@ -29,17 +30,20 @@
2930

3031
public class UANodeSetUnmarshaller {
3132

33+
private JAXBContext jaxbCtx;
34+
private Unmarshaller unmarshaller;
3235

33-
private String nodeset;
34-
35-
public UANodeSetUnmarshaller(String nodeset) {
36-
this.nodeset = nodeset;
36+
public UANodeSetUnmarshaller() throws JAXBException {
37+
jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(
38+
new Class[] { UANodeSet.class, ListOfExtensionObject.class, AASKeyDataType.class }, null);
39+
unmarshaller = jaxbCtx.createUnmarshaller();
3740
}
3841

39-
public UANodeSet unmarshallAsString() throws JAXBException {
40-
JAXBContext jaxbCtx = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {UANodeSet.class, ListOfExtensionObject.class, AASKeyDataType.class}, null);
41-
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
42-
return (UANodeSet) unmarshaller.unmarshal(new StringReader(nodeset));
42+
public UANodeSet unmarshall(String input) throws JAXBException {
43+
return (UANodeSet) unmarshaller.unmarshal(new StringReader(input));
4344
}
4445

46+
public UANodeSet unmarshall(InputStream input) throws JAXBException {
47+
return (UANodeSet) unmarshaller.unmarshal(input);
48+
}
4549
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils;
2222
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier;
23-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2423
import io.adminshell.aas.v3.model.AdministrativeInformation;
2524

2625
public class AdministrationMapper extends I4AASMapper<AdministrativeInformation, UAObject>

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import org.opcfoundation.ua._2011._03.uanodeset.UAObject;
2121
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier;
22-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2322
import io.adminshell.aas.v3.model.AssetAdministrationShell;
2423
import io.adminshell.aas.v3.model.AssetInformation;
2524
import io.adminshell.aas.v3.model.DataTypeIEC61360;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import io.adminshell.aas.v3.dataformat.i4aas.mappers.sme.FileMapper;
2222
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils;
2323
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier;
24-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2524
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier;
2625
import io.adminshell.aas.v3.model.AssetInformation;
2726
import io.adminshell.aas.v3.model.AssetKind;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.opcfoundation.ua._2011._03.uanodeset.UAVariable;
2222

2323
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils;
24-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2524
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier;
2625

2726
public class BooleanPropertyMapper extends I4AASMapper<Boolean, UAVariable> {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.opcfoundation.ua._2008._02.types.ObjectFactory;
2121
import org.opcfoundation.ua._2011._03.uanodeset.UAVariable;
2222

23-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2423
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.UaIdentifier;
2524

2625
public class ByteStringPropertyMapper extends I4AASMapper<byte[], UAVariable> {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.opcfoundation.ua._2011._03.uanodeset.UAObject;
1919

2020
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier;
21-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2221
import io.adminshell.aas.v3.model.ConceptDescription;
2322
import io.adminshell.aas.v3.model.IdentifierType;
2423
import io.adminshell.aas.v3.model.Reference;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASUtils;
2222
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.I4AASIdentifier;
23-
import io.adminshell.aas.v3.dataformat.i4aas.mappers.utils.MappingContext;
2423
import io.adminshell.aas.v3.model.DataSpecificationIEC61360;
2524
import io.adminshell.aas.v3.model.DataTypeIEC61360;
2625
import io.adminshell.aas.v3.model.Reference;

0 commit comments

Comments
 (0)