From e8ec54a90e218d60639fa848923ebb76f4bd5675 Mon Sep 17 00:00:00 2001
From: Daespen <87071295+Daespen@users.noreply.github.com>
Date: Fri, 10 Sep 2021 12:14:41 +0200
Subject: [PATCH 1/5] Increase revision to 1.0.4
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 324ced99..1112c4bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
validator
- 1.0.3
+ 1.0.4
${revision}
11
11
From 8e5ba45ff955284bc2cbeea2e29f53e27b1c1a0b Mon Sep 17 00:00:00 2001
From: Daespen <87071295+Daespen@users.noreply.github.com>
Date: Wed, 1 Sep 2021 11:07:46 +0200
Subject: [PATCH 2/5] Fix AASX dataformat to make use of Serializer default
charset
---
.../adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java | 4 ++--
.../io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java
index f66f8419..be79613f 100644
--- a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java
+++ b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXDeserializer.java
@@ -18,7 +18,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
-import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -31,6 +30,7 @@
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import io.adminshell.aas.v3.dataformat.DeserializationException;
+import io.adminshell.aas.v3.dataformat.Serializer;
import io.adminshell.aas.v3.dataformat.xml.XmlDeserializer;
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
import io.adminshell.aas.v3.model.File;
@@ -125,7 +125,7 @@ private String getXMLResourceString(OPCPackage aasxPackage) throws InvalidFormat
// Read the content from the PackagePart
InputStream stream = xmlPart.getInputStream();
StringWriter writer = new StringWriter();
- IOUtils.copy(stream, writer, StandardCharsets.UTF_8);
+ IOUtils.copy(stream, writer, Serializer.DEFAULT_CHARSET);
return writer.toString();
}
diff --git a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java
index ed5b261a..5de4da07 100644
--- a/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java
+++ b/dataformat-aasx/src/main/java/io/adminshell/aas/v3/dataformat/aasx/AASXSerializer.java
@@ -101,7 +101,7 @@ public void write(AssetAdministrationShellEnvironment environment, Collection
Date: Wed, 1 Sep 2021 09:57:10 +0200
Subject: [PATCH 3/5] Fix AASSimple in XML-Dataformat
- unifies XML-AASSimple with JSON
- XML-Mapper uses NON_NULL by default instead of NON_EMPTY
- AnnotationIntrospector for XML-Mapper adds NON_EMPTY to collections
---
.../XmlDataformatAnnotationIntrospector.java | 30 +-
.../aas/v3/dataformat/xml/XmlSerializer.java | 2 +-
.../serialization/LangStringsSerializer.java | 4 -
.../NoEntryWrapperListSerializer.java | 21 +-
.../aas/v3/dataformat/xml/AASSimple.java | 343 +++++++++++-------
.../src/test/resources/xmlExample.xml | 15 +-
.../xmlExampleWithModifiedPrefix.xml | 15 +-
7 files changed, 273 insertions(+), 157 deletions(-)
diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java
index 5d0346c3..f9f0ced2 100644
--- a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java
+++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlDataformatAnnotationIntrospector.java
@@ -15,18 +15,28 @@
*/
package io.adminshell.aas.v3.dataformat.xml;
+import java.util.Collection;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.introspect.Annotated;
import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
+import com.fasterxml.jackson.databind.introspect.AnnotatedMethod;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector;
+import io.adminshell.aas.v3.dataformat.core.ReflectionHelper;
+
/**
* This class helps to dynamically decide how to de-/serialize classes and
* properties defined in the AAS model library. It will automatically add a default namespace
* to property names and set a default property order for contained elements.
+ *
+ * Will also add @JsonInclude(JsonInclude.Include.NON_EMPTY) to all getter methods returning any type of
+ * Collection<?> defined in the AAS model
*/
public class XmlDataformatAnnotationIntrospector extends JacksonXmlAnnotationIntrospector {
private static final long serialVersionUID = 1L;
+ private static final String GETTER_PREFIX = "get";
protected String myDefaultNamespace = "";
public XmlDataformatAnnotationIntrospector() {
@@ -57,4 +67,22 @@ public String[] findSerializationPropertyOrder(AnnotatedClass ac) {
}
return order;
}
-}
+
+ @Override
+ public JsonInclude.Value findPropertyInclusion(Annotated a) {
+ JsonInclude.Value result = super.findPropertyInclusion(a);
+ if (result != JsonInclude.Value.empty()) {
+ return result;
+ }
+ if (AnnotatedMethod.class.isAssignableFrom(a.getClass())) {
+ AnnotatedMethod method = (AnnotatedMethod) a;
+ if (method.getParameterCount() == 0
+ && method.getName().startsWith(GETTER_PREFIX)
+ && Collection.class.isAssignableFrom(method.getRawReturnType())
+ && ReflectionHelper.isModelInterfaceOrDefaultImplementation(method.getDeclaringClass())) {
+ return result.withValueInclusion(JsonInclude.Include.NON_EMPTY);
+ }
+ }
+ return result;
+ }
+}
\ No newline at end of file
diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java
index 142d0323..4a4cdbbb 100644
--- a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java
+++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializer.java
@@ -58,7 +58,7 @@ protected void buildMapper() {
mapper = XmlMapper.builder()
.enable(SerializationFeature.INDENT_OUTPUT)
.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
- .serializationInclusion(JsonInclude.Include.NON_EMPTY)
+ .serializationInclusion(JsonInclude.Include.NON_NULL)
.annotationIntrospector(new XmlDataformatAnnotationIntrospector())
.defaultUseWrapper(false)
.addModule(buildEnumModule())
diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java
index ebe4c0bc..524bdba9 100644
--- a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java
+++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/LangStringsSerializer.java
@@ -18,8 +18,4 @@
import io.adminshell.aas.v3.model.LangString;
public class LangStringsSerializer extends NoEntryWrapperListSerializer {
- public LangStringsSerializer() {
- super();
- this.setObjectForMinCardinality(new LangString());
- }
}
\ No newline at end of file
diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java
index e8aba104..cb7f7622 100644
--- a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java
+++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/NoEntryWrapperListSerializer.java
@@ -29,7 +29,6 @@
* @param serialized class within the list
*/
public class NoEntryWrapperListSerializer extends JsonSerializer> {
- protected T placeholderEntry;
private String outerWrapperName;
/**
@@ -41,19 +40,9 @@ public void setOuterWrapper(String outerWrapper) {
this.outerWrapperName = outerWrapper;
}
- /**
- * Sets an empty object that is used for serialized lists with minimum cardinality of 1
- *
- * @param emptyOject The placeholder in case the list is empty, but needs to have a size of 1.
- */
- public void setObjectForMinCardinality(T emptyOject) {
- this.placeholderEntry = emptyOject;
- }
-
@Override
public void serialize(List list, JsonGenerator gen, SerializerProvider serializers)
- throws IOException {
- addOptionalPlaceholder(list);
+ throws IOException {
writeList(list, (ToXmlGenerator) gen);
}
@@ -85,14 +74,8 @@ private void writeOuterWrapperEnd(ToXmlGenerator xgen) throws IOException {
}
}
- private void addOptionalPlaceholder(List list) {
- if (list.isEmpty() && placeholderEntry != null) {
- list.add(placeholderEntry);
- }
- }
-
@Override
public boolean isEmpty(SerializerProvider provider, List value) {
return value == null || value.isEmpty();
}
-}
+}
\ No newline at end of file
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java
index fb731369..bfd6bc49 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java
+++ b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java
@@ -51,11 +51,11 @@ public class AASSimple {
public static final java.io.File FILE = new java.io.File("src/test/resources/xmlExample.xml");
public static final java.io.File FILE_WITH_TEST_NAMESPACE = new java.io.File("src/test/resources/xmlExampleWithModifiedPrefix.xml");
- // AAS
+ //AAS
public static final String AAS_ID = "ExampleMotor";
public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
- // SUBMODEL_TECHNICAL_DATA
+ //SUBMODEL_TECHNICAL_DATA
public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = "MaxRotationSpeed";
public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData";
public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184";
@@ -65,7 +65,7 @@ public class AASSimple {
public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000";
public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer";
- // SUBMODEL_DOCUMENTATION
+ //SUBMODEL_DOCUMENTATION
private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation";
private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152";
private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document";
@@ -79,135 +79,213 @@ public class AASSimple {
private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf";
private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf";
- // SUBMODEL_OPERATIONAL_DATA
+ //SUBMODEL_OPERATIONAL_DATA
private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData";
private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935";
private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = "http://customer.com/cd/1/1/18EBD56F6B43D895";
private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = "RotationSpeed";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "Variable";
+ private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "VARIABLE";
private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370";
private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer";
public AASSimple() {
}
- public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder().idShort(AAS_ID)
- .identification(
- new DefaultIdentifier.Builder().idType(IdentifierType.IRI).identifier(AAS_IDENTIFIER).build())
- .assetInformation(new DefaultAssetInformation.Builder().assetKind(AssetKind.INSTANCE)
+ public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder()
+ .idShort(AAS_ID)
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier(AAS_IDENTIFIER)
+ .build())
+ .assetInformation(new DefaultAssetInformation.Builder()
+ .assetKind(AssetKind.INSTANCE)
.globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.ASSET)
- .value("http://customer.com/assets/KHBVZJSQKIY").idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET)
+ .value("http://customer.com/assets/KHBVZJSQKIY")
+ .idType(KeyType.IRI)
+ .build())
.build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key("EquipmentID")
+ .specificAssetId(new DefaultIdentifierKeyValuePair.Builder()
+ .key("EquipmentID")
.value("538fd1b3-f99f-4a52-9c75-72e9fa921270")
.externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("http://customer.com/Systems/ERP/012").idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://customer.com/Systems/ERP/012")
+ .idType(KeyType.IRI)
+ .build())
.build())
.build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key("DeviceID")
+ .specificAssetId(new DefaultIdentifierKeyValuePair.Builder()
+ .key("DeviceID")
.value("QjYgPggjwkiHk4RrQiYSLg==")
.externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("http://customer.com/Systems/IoT/1").idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://customer.com/Systems/IoT/1")
+ .idType(KeyType.IRI)
+ .build())
.build())
- .build())
- .defaultThumbnail(new DefaultFile.Builder().kind(ModelingKind.INSTANCE).idShort("thumbnail")
+ .build()
+ )
+ .defaultThumbnail(new DefaultFile.Builder()
+ .kind(ModelingKind.INSTANCE)
+ .idShort("thumbnail")
.mimeType("image/png")
.value("https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png")
.build())
- .build())
+ .build()
+ )
.submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
- .value("http.//i40.customer.com/type/1/1/7A7104BDAB57E184").idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("http.//i40.customer.com/type/1/1/7A7104BDAB57E184")
+ .idType(KeyType.IRI)
+ .build())
.build())
.submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
- .value("http://i40.customer.com/instance/1/1/AC69B1CB44F07935").idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("http://i40.customer.com/instance/1/1/AC69B1CB44F07935")
+ .idType(KeyType.IRI)
+ .build())
.build())
.submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
- .value("http://i40.customer.com/type/1/1/1A7B62B529F19152").idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("http://i40.customer.com/type/1/1/1A7B62B529F19152")
+ .idType(KeyType.IRI)
+ .build())
.build())
.build();
- public static final Asset ASSET = new DefaultAsset.Builder().idShort("ServoDCMotor")
- .identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI)
- .identifier("http://customer.com/assets/KHBVZJSQKIY").build())
+ public static final Asset ASSET = new DefaultAsset.Builder()
+ .idShort("ServoDCMotor")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("http://customer.com/assets/KHBVZJSQKIY")
+ .build())
.build();
public static final Submodel SUBMODEL_TECHNICAL_DATA = new DefaultSubmodel.Builder()
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID).idType(KeyType.IRDI).build()).build())
- .kind(ModelingKind.INSTANCE).idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_TECHNICAL_DATA_ID)
- .idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID)
+ .idType(KeyType.IRDI)
+ .build())
+ .build())
+ .kind(ModelingKind.INSTANCE)
+ .idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT)
+ .identification(new DefaultIdentifier.Builder()
+ .identifier(SUBMODEL_TECHNICAL_DATA_ID)
+ .idType(IdentifierType.IRI)
+ .build())
+ .submodelElement(new DefaultProperty.Builder()
+ .kind(ModelingKind.INSTANCE)
.semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRDI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY)
+ .idType(KeyType.IRDI)
+ .build())
.build())
.idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY).value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE).build())
+ .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY)
+ .value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE)
+ .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE)
+ .build())
.build();
- public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE)
+ public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder()
+ .kind(ModelingKind.INSTANCE)
.idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_OPERATIONAL_DATA_ID)
- .idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
+ .identification(new DefaultIdentifier.Builder()
+ .identifier(SUBMODEL_OPERATIONAL_DATA_ID)
+ .idType(IdentifierType.IRI)
+ .build())
+ .submodelElement(new DefaultProperty.Builder()
+ .kind(ModelingKind.INSTANCE)
.semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY)
+ .idType(KeyType.IRI)
+ .build())
.build())
.idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT)
.category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY)
.value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE).build())
+ .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE)
+ .build())
.build();
- public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE)
+ public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder()
+ .kind(ModelingKind.INSTANCE)
.idShort(SUBMODEL_DOCUMENTATION_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_DOCUMENTATION_ID)
- .idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID).idType(KeyType.IRI).build())
+ .identification(new DefaultIdentifier.Builder()
+ .identifier(SUBMODEL_DOCUMENTATION_ID)
+ .idType(IdentifierType.IRI)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID)
+ .idType(KeyType.IRI)
+ .build())
.build())
.idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT)
- .value(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID).idType(KeyType.IRI).build())
+ .value(new DefaultProperty.Builder()
+ .kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID)
+ .idType(KeyType.IRI)
+ .build())
.build())
.idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT)
.value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE)
- .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE).build())
- .value(new DefaultFile.Builder().kind(ModelingKind.INSTANCE)
+ .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE)
+ .build())
+ .value(new DefaultFile.Builder()
+ .kind(ModelingKind.INSTANCE)
.semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID).idType(KeyType.IRI).build())
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID)
+ .idType(KeyType.IRI)
+ .build())
.build())
.idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT)
- .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE).value(SUBMODEL_DOCUMENTATION_FILE_VALUE)
+ .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE)
+ .value(SUBMODEL_DOCUMENTATION_FILE_VALUE)
.build())
- .ordered(false).allowDuplicates(false).build())
+ .ordered(false)
+ .allowDuplicates(false)
+ .build())
.build();
public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = new DefaultConceptDescription.Builder()
.idShort("Title")
.identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title").idType(IdentifierType.IRI)
+ .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title")
+ .idType(IdentifierType.IRI)
.build())
.embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
.dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("Title", "EN")).preferredName(new LangString("Titel", "DE"))
- .shortName(new LangString("Title", "EN")).shortName(new LangString("Titel", "DE"))
+ .preferredName(new LangString("Title", "EN"))
+ .preferredName(new LangString("Titel", "DE"))
+ .shortName(new LangString("Title", "EN"))
+ .shortName(new LangString("Titel", "DE"))
+ .unit("")
+ .sourceOfDefinition("")
.dataType(DataTypeIEC61360.STRING_TRANSLATABLE)
- .definition(new LangString("SprachabhängigerTiteldesDokuments.", "DE")).build())
+ .definition(new LangString("SprachabhängigerTiteldesDokuments.", "DE"))
+ .build())
.build())
.build();
@@ -215,93 +293,110 @@ public AASSimple() {
.idShort("DigitalFile")
.identification(new DefaultIdentifier.Builder()
.identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile")
- .idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(
- new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString("DigitalFile", "EN"))
+ .idType(IdentifierType.IRI)
+ .build())
+ .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString("DigitalFile", "EN"))
.preferredName(new LangString("DigitaleDatei", "DE"))
.shortName(new LangString("DigitalFile", "EN"))
.shortName(new LangString("DigitaleDatei", "DE"))
+ .unit("")
+ .sourceOfDefinition("")
.dataType(DataTypeIEC61360.STRING)
- .definition(new LangString(
- "Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden.",
- "DE"))
+ .definition(new LangString("Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden.", "DE"))
.build())
.build())
.build();
public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort("MaxRotationSpeed").category("Property")
- .administration(new DefaultAdministrativeInformation.Builder().version("1").revision("2").build())
- .identification(new DefaultIdentifier.Builder().identifier("0173-1#02-BAA120#008")
- .idType(IdentifierType.IRDI).build())
- .embeddedDataSpecifications(
- Arrays.asList(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("max.Drehzahl", "de"))
- .preferredName(new LangString("Max.rotationspeed", "en")).unit("1/min")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#05-AAA650#002").idType(KeyType.IRDI).build())
+ .idShort("MaxRotationSpeed")
+ .category("PROPERTY")
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("")
+ .revision("2")
+ .build())
+ .identification(new DefaultIdentifier.Builder()
+ .identifier("0173-1#02-BAA120#008")
+ .idType(IdentifierType.IRDI)
+ .build())
+ .embeddedDataSpecifications(Arrays.asList(new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString("max.Drehzahl", "de"))
+ .preferredName(new LangString("Max.rotationspeed", "en"))
+ .unit("1/min")
+ .unitId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("0173-1#05-AAA650#002")
+ .idType(KeyType.IRDI)
.build())
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString(
- "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf",
- "de"))
- .definition(new LangString(
- "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated",
- "en"))
.build())
- .build()))
+ .sourceOfDefinition("")
+ .dataType(DataTypeIEC61360.REAL_MEASURE)
+ .definition(new LangString("HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf", "de"))
+ .definition(new LangString("Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated", "en"))
+ .build())
+ .build()))
.build();
public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort("RotationSpeed").category("Property")
- .identification(new DefaultIdentifier.Builder().identifier("http://customer.com/cd/1/1/18EBD56F6B43D895")
- .idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(
- new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(
- new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("AktuelleDrehzahl", "DE"))
- .preferredName(new LangString("Actualrotationspeed", "EN"))
- .shortName(new LangString("AktuelleDrehzahl", "DE"))
- .shortName(new LangString("ActualRotationSpeed", "EN")).unit("1/min")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#05-AAA650#002").idType(KeyType.IRDI).build())
- .build())
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString(
- "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird",
- "DE"))
- .definition(new LangString(
- "Actual rotationspeed with which the motor or feedingunit is operated",
- "EN"))
+ .idShort("RotationSpeed")
+ .category("PROPERTY")
+ .identification(new DefaultIdentifier.Builder()
+ .identifier("http://customer.com/cd/1/1/18EBD56F6B43D895")
+ .idType(IdentifierType.IRI)
+ .build())
+ .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString("AktuelleDrehzahl", "DE"))
+ .preferredName(new LangString("Actualrotationspeed", "EN"))
+ .shortName(new LangString("AktuelleDrehzahl", "DE"))
+ .shortName(new LangString("ActualRotationSpeed", "EN"))
+ .unit("1/min")
+ .unitId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("0173-1#05-AAA650#002")
+ .idType(KeyType.IRDI)
.build())
+ .build())
+ .sourceOfDefinition("")
+ .dataType(DataTypeIEC61360.REAL_MEASURE)
+ .definition(new LangString("Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird", "DE"))
+ .definition(new LangString("Actual rotationspeed with which the motor or feedingunit is operated", "EN"))
.build())
+ .build())
.build();
public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = new DefaultConceptDescription.Builder()
.idShort("Document")
.identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document").idType(IdentifierType.IRI).build())
+ .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document")
+ .idType(IdentifierType.IRI)
+ .build())
.embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
.dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .shortName(new LangString("Document", "EN")).shortName(new LangString("Dokument", "DE"))
- .sourceOfDefinition("[ISO15519-1:2010]").dataType(DataTypeIEC61360.STRING)
- .definition(new LangString(
- "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.",
- "DE"))
+ .shortName(new LangString("Document", "EN"))
+ .shortName(new LangString("Dokument", "DE"))
+ .unit("")
+ .sourceOfDefinition("[ISO15519-1:2010]")
+ .dataType(DataTypeIEC61360.STRING)
+ .definition(new LangString("Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.", "DE"))
.build())
.build())
.build();
public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(AAS).submodels(SUBMODEL_TECHNICAL_DATA).submodels(SUBMODEL_DOCUMENTATION)
- .submodels(SUBMODEL_OPERATIONAL_DATA).conceptDescriptions(CONCEPT_DESCRIPTION_TITLE)
+ .assetAdministrationShells(AAS)
+ .submodels(SUBMODEL_TECHNICAL_DATA)
+ .submodels(SUBMODEL_DOCUMENTATION)
+ .submodels(SUBMODEL_OPERATIONAL_DATA)
+ .conceptDescriptions(CONCEPT_DESCRIPTION_TITLE)
.conceptDescriptions(CONCEPT_DESCRIPTION_DIGITALFILE)
.conceptDescriptions(CONCEPT_DESCRIPTION_MAXROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED).conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT)
+ .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED)
+ .conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT)
.build();
}
diff --git a/dataformat-xml/src/test/resources/xmlExample.xml b/dataformat-xml/src/test/resources/xmlExample.xml
index 2f66fd34..91e0752f 100644
--- a/dataformat-xml/src/test/resources/xmlExample.xml
+++ b/dataformat-xml/src/test/resources/xmlExample.xml
@@ -79,6 +79,8 @@
Title
Titel
+
+
@@ -106,6 +108,8 @@
DigitalFile
DigitaleDatei
+
+
@@ -117,9 +121,9 @@
MaxRotationSpeed
- Property
+ PROPERTY
- 1
+
2
0173-1#02-BAA120#008
@@ -132,6 +136,7 @@
0173-1#05-AAA650#002
+
RealMeasure
HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf
@@ -152,7 +157,7 @@
RotationSpeed
- Property
+ PROPERTY
http://customer.com/cd/1/1/18EBD56F6B43D895
@@ -163,6 +168,7 @@
0173-1#05-AAA650#002
+
RealMeasure
Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird
@@ -191,6 +197,7 @@
+
[ISO15519-1:2010]
String
@@ -293,7 +300,7 @@
RotationSpeed
- Variable
+ VARIABLE
Instance
diff --git a/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml b/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml
index 695964e9..1461860b 100644
--- a/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml
+++ b/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml
@@ -79,6 +79,8 @@
Title
Titel
+
+
@@ -106,6 +108,8 @@
DigitalFile
DigitaleDatei
+
+
@@ -117,9 +121,9 @@
MaxRotationSpeed
- Property
+ PROPERTY
- 1
+
2
0173-1#02-BAA120#008
@@ -132,6 +136,7 @@
0173-1#05-AAA650#002
+
RealMeasure
HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf
@@ -152,7 +157,7 @@
RotationSpeed
- Property
+ PROPERTY
http://customer.com/cd/1/1/18EBD56F6B43D895
@@ -163,6 +168,7 @@
0173-1#05-AAA650#002
+
RealMeasure
Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird
@@ -191,6 +197,7 @@
+
[ISO15519-1:2010]
String
@@ -293,7 +300,7 @@
RotationSpeed
- Variable
+ VARIABLE
Instance
From 19ca9b247401a721b06b8db5b5653951c8ea0331 Mon Sep 17 00:00:00 2001
From: Daespen <87071295+Daespen@users.noreply.github.com>
Date: Wed, 1 Sep 2021 11:11:21 +0200
Subject: [PATCH 4/5] Add common test classes to core project
---
dataformat-aasx/pom.xml | 7 +
.../deserialization/AASXDeserializerTest.java | 2 +-
.../aasx/deserialization/ValidationTest.java | 30 +-
.../aasx/serialization/AASSimple.java | 183 -
.../serialization/AASXSerializerTest.java | 2 +
.../src/test/resources/jsonExample.json | 88 +-
dataformat-core/pom.xml | 21 +-
.../aas/v3/dataformat/core}/AASFull.java | 3216 +++++++++--------
.../aas/v3/dataformat/core}/AASSimple.java | 6 +-
.../v3/dataformat/core}/CustomProperty.java | 2 +-
.../dataformat/core}/CustomSubProperty.java | 40 +-
.../v3/dataformat/core}/CustomSubmodel.java | 2 +-
.../v3/dataformat/core}/CustomSubmodel2.java | 2 +-
.../io/adminshell/aas/v3/model/ClassA.java | 40 +-
.../io/adminshell/aas/v3/model/ClassB.java | 40 +-
.../aas/v3/model/DummyInterface.java | 40 +-
.../aas/v3/model/TypedProperty.java | 40 +-
.../aas/v3/model/TypedSubProperty.java | 40 +-
dataformat-json/pom.xml | 7 +
.../aas/v3/dataformat/json/AASSimple.java | 374 --
.../v3/dataformat/json/CustomProperty.java | 198 -
.../v3/dataformat/json/CustomSubmodel.java | 22 -
.../v3/dataformat/json/CustomSubmodel2.java | 22 -
.../dataformat/json/JsonDeserializerTest.java | 15 +-
.../json/JsonReferableDeserializerTest.java | 21 +-
.../json/JsonReferableSerializerTest.java | 20 +-
.../dataformat/json/JsonSerializerTest.java | 10 +-
.../ReflectionAnnotationIntrospectorTest.java | 25 +-
dataformat-xml/pom.xml | 7 +
.../aas/v3/dataformat/xml/AASFull.java | 1645 ---------
.../dataformat/xml/XMLDeserializerTest.java | 6 +-
.../v3/dataformat/xml/XmlSerializerTest.java | 12 +-
32 files changed, 1919 insertions(+), 4266 deletions(-)
delete mode 100644 dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASSimple.java
rename {dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json => dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core}/AASFull.java (97%)
rename {dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml => dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core}/AASSimple.java (98%)
rename {dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml => dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core}/CustomProperty.java (99%)
rename {dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json => dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core}/CustomSubProperty.java (91%)
rename {dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml => dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core}/CustomSubmodel.java (94%)
rename {dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml => dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core}/CustomSubmodel2.java (94%)
rename {dataformat-json => dataformat-core}/src/test/java/io/adminshell/aas/v3/model/ClassA.java (97%)
rename {dataformat-json => dataformat-core}/src/test/java/io/adminshell/aas/v3/model/ClassB.java (97%)
rename {dataformat-json => dataformat-core}/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java (97%)
rename {dataformat-json => dataformat-core}/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java (97%)
rename {dataformat-json => dataformat-core}/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java (97%)
delete mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASSimple.java
delete mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomProperty.java
delete mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel.java
delete mode 100644 dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel2.java
delete mode 100644 dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASFull.java
diff --git a/dataformat-aasx/pom.xml b/dataformat-aasx/pom.xml
index d656709c..253da29d 100644
--- a/dataformat-aasx/pom.xml
+++ b/dataformat-aasx/pom.xml
@@ -17,6 +17,13 @@
${revision}
compile
+
+ io.admin-shell.aas
+ dataformat-core
+ ${revision}
+ tests
+ test
+
io.admin-shell.aas
model
diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java
index fa689589..426e3039 100644
--- a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java
+++ b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/AASXDeserializerTest.java
@@ -38,7 +38,7 @@
import io.adminshell.aas.v3.dataformat.aasx.AASXDeserializer;
import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer;
import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile;
-import io.adminshell.aas.v3.dataformat.aasx.serialization.AASSimple;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
public class AASXDeserializerTest {
diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java
index 83a7d66b..78047786 100644
--- a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java
+++ b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/deserialization/ValidationTest.java
@@ -16,26 +16,30 @@
package io.adminshell.aas.v3.dataformat.aasx.deserialization;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import io.adminshell.aas.v3.dataformat.DeserializationException;
-import io.adminshell.aas.v3.dataformat.SerializationException;
-import io.adminshell.aas.v3.dataformat.aasx.AASXDeserializer;
-import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer;
-import io.adminshell.aas.v3.dataformat.aasx.AASXValidator;
-import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile;
-import io.adminshell.aas.v3.dataformat.aasx.serialization.AASSimple;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.parsers.ParserConfigurationException;
+
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.xml.sax.SAXException;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
+import io.adminshell.aas.v3.dataformat.DeserializationException;
+import io.adminshell.aas.v3.dataformat.SerializationException;
+import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer;
+import io.adminshell.aas.v3.dataformat.aasx.AASXValidator;
+import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
public class ValidationTest {
diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASSimple.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASSimple.java
deleted file mode 100644
index 3e02999d..00000000
--- a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASSimple.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.aasx.serialization;
-
-import java.util.Arrays;
-
-import io.adminshell.aas.v3.model.Asset;
-import io.adminshell.aas.v3.model.AssetAdministrationShell;
-import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.AssetKind;
-import io.adminshell.aas.v3.model.ConceptDescription;
-import io.adminshell.aas.v3.model.DataTypeIEC61360;
-import io.adminshell.aas.v3.model.IdentifierType;
-import io.adminshell.aas.v3.model.KeyElements;
-import io.adminshell.aas.v3.model.KeyType;
-import io.adminshell.aas.v3.model.LangString;
-import io.adminshell.aas.v3.model.ModelingKind;
-import io.adminshell.aas.v3.model.Submodel;
-import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation;
-import io.adminshell.aas.v3.model.impl.DefaultAsset;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.impl.DefaultAssetInformation;
-import io.adminshell.aas.v3.model.impl.DefaultConceptDescription;
-import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360;
-import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification;
-import io.adminshell.aas.v3.model.impl.DefaultFile;
-import io.adminshell.aas.v3.model.impl.DefaultIdentifier;
-import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair;
-import io.adminshell.aas.v3.model.impl.DefaultKey;
-import io.adminshell.aas.v3.model.impl.DefaultProperty;
-import io.adminshell.aas.v3.model.impl.DefaultReference;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
-
-public class AASSimple {
-
- public static final java.io.File FILE = new java.io.File("src/test/resources/xmlExample.xml");
-
- // AAS
- public static final String AAS_ID = "ExampleMotor";
- public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
-
- // SUBMODEL_TECHNICAL_DATA
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = "MaxRotationSpeed";
- public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData";
- public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID = "0173-1#01-AFZ615#016";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY = "0173-1#02-BAA120#008";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY = "Parameter";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer";
-
- // SUBMODEL_DOCUMENTATION
- private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation";
- private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT = "Title";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUE = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE = "langString";
- private static final String SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile";
- private static final String SUBMODEL_DOCUMENTATION_FILE_ID_SHORT = "DigitalFile_PDF";
- private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf";
- private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf";
-
- // SUBMODEL_OPERATIONAL_DATA
- private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData";
- private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935";
- private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = "http://customer.com/cd/1/1/18EBD56F6B43D895";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = "RotationSpeed";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "Variable";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer";
-
- public AASSimple() {
- }
-
- public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder().idShort(AAS_ID).identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI).identifier(AAS_IDENTIFIER).build())
- .assetInformation(new DefaultAssetInformation.Builder().assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.ASSET).value("http://customer.com/assets/KHBVZJSQKIY").idType(KeyType.IRI).build()).build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key("EquipmentID").value("538fd1b3-f99f-4a52-9c75-72e9fa921270")
- .externalSubjectId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE).value("http://customer.com/Systems/ERP/012").idType(KeyType.IRI).build()).build()).build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key("DeviceID").value("QjYgPggjwkiHk4RrQiYSLg==")
- .externalSubjectId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE).value("http://customer.com/Systems/IoT/1").idType(KeyType.IRI).build()).build()).build())
- .defaultThumbnail(new DefaultFile.Builder().kind(ModelingKind.INSTANCE).idShort("thumbnail").mimeType("image/png").value("https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png").build())
- .build())
- .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL).value("http.//i40.customer.com/type/1/1/7A7104BDAB57E184").idType(KeyType.IRI).build()).build())
- .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL).value("http://i40.customer.com/instance/1/1/AC69B1CB44F07935").idType(KeyType.IRI).build()).build())
- .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL).value("http://i40.customer.com/type/1/1/1A7B62B529F19152").idType(KeyType.IRI).build()).build()).build();
-
- public static final Asset ASSET = new DefaultAsset.Builder().idShort("ServoDCMotor").identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI).identifier("http://customer.com/assets/KHBVZJSQKIY").build()).build();
-
- public static final Submodel SUBMODEL_TECHNICAL_DATA = new DefaultSubmodel.Builder()
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE).value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID).idType(KeyType.IRDI).build()).build()).kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT).identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_TECHNICAL_DATA_ID).idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION).value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRDI).build()).build())
- .idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT).category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY).value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE).valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE).build())
- .build();
-
- public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE).idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_OPERATIONAL_DATA_ID).idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION).value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRI).build()).build())
- .idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT).category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY).value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE).valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE).build())
- .build();
-
- public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE).idShort(SUBMODEL_DOCUMENTATION_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_DOCUMENTATION_ID).idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION).value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID).idType(KeyType.IRI).build()).build())
- .idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT)
- .value(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION).value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID).idType(KeyType.IRI).build()).build())
- .idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT).value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE).valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE).build())
- .value(new DefaultFile.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION).value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID).idType(KeyType.IRI).build()).build())
- .idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT).mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE).value(SUBMODEL_DOCUMENTATION_FILE_VALUE).build())
- .ordered(false).allowDuplicates(false).build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = new DefaultConceptDescription.Builder().idShort("Title")
- .identification(new DefaultIdentifier.Builder().identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title").idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString("Title", "EN")).preferredName(new LangString("Titel", "DE")).shortName(new LangString("Title", "EN"))
- .shortName(new LangString("Titel", "DE")).dataType(DataTypeIEC61360.STRING_TRANSLATABLE).definition(new LangString("SprachabhaengigerTiteldesDokuments.", "DE")).build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_DIGITALFILE = new DefaultConceptDescription.Builder().idShort("DigitalFile")
- .identification(new DefaultIdentifier.Builder().identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile").idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString("DigitalFile", "EN"))
- .preferredName(new LangString("DigitaleDatei", "DE")).shortName(new LangString("DigitalFile", "EN")).shortName(new LangString("DigitaleDatei", "DE")).dataType(DataTypeIEC61360.STRING)
- .definition(new LangString("Eine Datei, die die Document Version repraesentiert. Neben der obligatorischen PDF Datei koennen weitere Dateien angegeben werden.", "DE")).build()).build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = new DefaultConceptDescription.Builder().idShort("MaxRotationSpeed").category("Property")
- .administration(new DefaultAdministrativeInformation.Builder().version("1").revision("2").build()).identification(new DefaultIdentifier.Builder().identifier("0173-1#02-BAA120#008").idType(IdentifierType.IRDI).build())
- .embeddedDataSpecifications(Arrays.asList(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString("max.Drehzahl", "de")).preferredName(new LangString("Max.rotationspeed", "en")).unit("1/min")
- .unitId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE).value("0173-1#05-AAA650#002").idType(KeyType.IRDI).build()).build()).dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("HoechstezulaessigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf", "de"))
- .definition(new LangString("Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated", "en")).build())
- .build()))
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = new DefaultConceptDescription.Builder().idShort("RotationSpeed").category("Property")
- .identification(new DefaultIdentifier.Builder().identifier("http://customer.com/cd/1/1/18EBD56F6B43D895").idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString("AktuelleDrehzahl", "DE"))
- .preferredName(new LangString("Actualrotationspeed", "EN")).shortName(new LangString("AktuelleDrehzahl", "DE")).shortName(new LangString("ActualRotationSpeed", "EN")).unit("1/min")
- .unitId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE).value("0173-1#05-AAA650#002").idType(KeyType.IRDI).build()).build()).dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird", "DE")).definition(new LangString("Actual rotationspeed with which the motor or feedingunit is operated", "EN"))
- .build()).build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = new DefaultConceptDescription.Builder().idShort("Document")
- .identification(new DefaultIdentifier.Builder().identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document").idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder().shortName(new LangString("Document", "EN"))
- .shortName(new LangString("Dokument", "DE")).sourceOfDefinition("[ISO15519-1:2010]").dataType(DataTypeIEC61360.STRING)
- .definition(new LangString("Feste und geordnete Menge von fuer die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.", "DE")).build())
- .build())
- .build();
-
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder().assetAdministrationShells(AAS).submodels(SUBMODEL_TECHNICAL_DATA).submodels(SUBMODEL_DOCUMENTATION)
- .submodels(SUBMODEL_OPERATIONAL_DATA).conceptDescriptions(CONCEPT_DESCRIPTION_TITLE).conceptDescriptions(CONCEPT_DESCRIPTION_DIGITALFILE).conceptDescriptions(CONCEPT_DESCRIPTION_MAXROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED).conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT).build();
-
-}
diff --git a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java
index 8b64fc05..e5d3af9b 100644
--- a/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java
+++ b/dataformat-aasx/src/test/java/io/adminshell/aas/v3/dataformat/aasx/serialization/AASXSerializerTest.java
@@ -15,6 +15,7 @@
*/
package io.adminshell.aas.v3.dataformat.aasx.serialization;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -35,6 +36,7 @@
import io.adminshell.aas.v3.dataformat.SerializationException;
import io.adminshell.aas.v3.dataformat.aasx.AASXSerializer;
import io.adminshell.aas.v3.dataformat.aasx.InMemoryFile;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
public class AASXSerializerTest {
diff --git a/dataformat-aasx/src/test/resources/jsonExample.json b/dataformat-aasx/src/test/resources/jsonExample.json
index 92cd78ea..a42fd26b 100644
--- a/dataformat-aasx/src/test/resources/jsonExample.json
+++ b/dataformat-aasx/src/test/resources/jsonExample.json
@@ -6,7 +6,7 @@
},
"idShort": "ExampleMotor",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "http://customer.com/aas/9175_7013_7091_9168"
},
"assetInformation": {
@@ -16,7 +16,7 @@
{
"type": "Asset",
"value": "http://customer.com/assets/KHBVZJSQKIY",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -29,7 +29,7 @@
{
"type": "GlobalReference",
"value": "http://customer.com/Systems/ERP/012",
- "idType": "IRI"
+ "idType": "Iri"
}
]
}
@@ -42,7 +42,7 @@
{
"type": "GlobalReference",
"value": "http://customer.com/Systems/IoT/1",
- "idType": "IRI"
+ "idType": "Iri"
}
]
}
@@ -64,7 +64,7 @@
{
"type": "Submodel",
"value": "http.//i40.customer.com/type/1/1/7A7104BDAB57E184",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -73,7 +73,7 @@
{
"type": "Submodel",
"value": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -82,25 +82,13 @@
{
"type": "Submodel",
"value": "http://i40.customer.com/type/1/1/1A7B62B529F19152",
- "idType": "IRI"
+ "idType": "Iri"
}
]
}
]
}
],
- "assets": [
- {
- "modelType": {
- "name": "Asset"
- },
- "idShort": "ServoDCMotor",
- "identification": {
- "idType": "IRI",
- "id": "http://customer.com/assets/KHBVZJSQKIY"
- }
- }
- ],
"submodels": [
{
"modelType": {
@@ -111,14 +99,14 @@
{
"type": "GlobalReference",
"value": "0173-1#01-AFZ615#016",
- "idType": "IRDI"
+ "idType": "Irdi"
}
]
},
"kind": "Instance",
"idShort": "TechnicalData",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "http://i40.customer.com/type/1/1/7A7104BDAB57E184"
},
"submodelElements": [
@@ -132,12 +120,12 @@
{
"type": "ConceptDescription",
"value": "0173-1#02-BAA120#008",
- "idType": "IRDI"
+ "idType": "Irdi"
}
]
},
"idShort": "MaxRotationSpeed",
- "category": "PARAMETER",
+ "category": "Parameter",
"value": "5000",
"valueType": "integer"
}
@@ -150,7 +138,7 @@
"kind": "Instance",
"idShort": "Documentation",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "http://i40.customer.com/type/1/1/1A7B62B529F19152"
},
"submodelElements": [
@@ -164,7 +152,7 @@
{
"type": "ConceptDescription",
"value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -180,7 +168,7 @@
{
"type": "ConceptDescription",
"value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -198,7 +186,7 @@
{
"type": "ConceptDescription",
"value": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -206,9 +194,7 @@
"mimeType": "application/pdf",
"value": "/aasx/OperatingManual.pdf"
}
- ],
- "ordered": false,
- "allowDuplicates": false
+ ]
}
]
},
@@ -219,7 +205,7 @@
"kind": "Instance",
"idShort": "OperationalData",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "http://i40.customer.com/instance/1/1/AC69B1CB44F07935"
},
"submodelElements": [
@@ -233,7 +219,7 @@
{
"type": "ConceptDescription",
"value": "http://customer.com/cd/1/1/18EBD56F6B43D895",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -252,7 +238,7 @@
},
"idShort": "Title",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title"
},
"embeddedDataSpecifications": [
@@ -262,7 +248,7 @@
{
"type": "GlobalReference",
"value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -289,7 +275,7 @@
],
"unit": "",
"sourceOfDefinition": "",
- "dataType": "STRING_TRANSLATABLE",
+ "dataType": "StringTranslatable",
"definition": [
{
"language": "DE",
@@ -306,7 +292,7 @@
},
"idShort": "DigitalFile",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile"
},
"embeddedDataSpecifications": [
@@ -316,7 +302,7 @@
{
"type": "GlobalReference",
"value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -343,7 +329,7 @@
],
"unit": "",
"sourceOfDefinition": "",
- "dataType": "STRING",
+ "dataType": "String",
"definition": [
{
"language": "DE",
@@ -365,7 +351,7 @@
"revision": "2"
},
"identification": {
- "idType": "IRDI",
+ "idType": "Irdi",
"id": "0173-1#02-BAA120#008"
},
"embeddedDataSpecifications": [
@@ -375,7 +361,7 @@
{
"type": "GlobalReference",
"value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -396,12 +382,12 @@
{
"type": "GlobalReference",
"value": "0173-1#05-AAA650#002",
- "idType": "IRDI"
+ "idType": "Irdi"
}
]
},
"sourceOfDefinition": "",
- "dataType": "REAL_MEASURE",
+ "dataType": "RealMeasure",
"definition": [
{
"language": "de",
@@ -423,7 +409,7 @@
"idShort": "RotationSpeed",
"category": "PROPERTY",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "http://customer.com/cd/1/1/18EBD56F6B43D895"
},
"embeddedDataSpecifications": [
@@ -433,7 +419,7 @@
{
"type": "GlobalReference",
"value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
@@ -464,12 +450,12 @@
{
"type": "GlobalReference",
"value": "0173-1#05-AAA650#002",
- "idType": "IRDI"
+ "idType": "Irdi"
}
]
},
"sourceOfDefinition": "",
- "dataType": "REAL_MEASURE",
+ "dataType": "RealMeasure",
"definition": [
{
"language": "DE",
@@ -490,7 +476,7 @@
},
"idShort": "Document",
"identification": {
- "idType": "IRI",
+ "idType": "Iri",
"id": "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document"
},
"embeddedDataSpecifications": [
@@ -500,13 +486,13 @@
{
"type": "GlobalReference",
"value": "http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0",
- "idType": "IRI"
+ "idType": "Iri"
}
]
},
"dataSpecificationContent": {
- "preferredName": [
- ],
+ "preferredName": [
+ ],
"shortName": [
{
"language": "EN",
@@ -519,7 +505,7 @@
],
"unit": "",
"sourceOfDefinition": "[ISO15519-1:2010]",
- "dataType": "STRING",
+ "dataType": "String",
"definition": [
{
"language": "DE",
diff --git a/dataformat-core/pom.xml b/dataformat-core/pom.xml
index 53405642..bf4f8adb 100644
--- a/dataformat-core/pom.xml
+++ b/dataformat-core/pom.xml
@@ -1,7 +1,7 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
io.admin-shell.aas
@@ -61,6 +61,23 @@
11
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.1.1
+
+
+ **/logback.xml
+
+
+
+
+
+ test-jar
+
+
+
+
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASFull.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java
similarity index 97%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASFull.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java
index 47559d4b..b99aa534 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASFull.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASFull.java
@@ -1,1589 +1,1627 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.json;
-
-import io.adminshell.aas.v3.model.*;
-import io.adminshell.aas.v3.model.impl.*;
-import java.util.Base64;
-import java.util.List;
-
-public class AASFull {
-
- public static final java.io.File FILE = new java.io.File("src/test/resources/test_demo_full_example.json");
-
- public static final AssetAdministrationShell AAS_1 = new DefaultAssetAdministrationShell.Builder()
- .idShort("TestAssetAdministrationShell")
- .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .derivedFrom(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET_ADMINISTRATION_SHELL)
- .idType(KeyType.IRI)
- .value("https://acplt.org/TestAssetAdministrationShell2")
- .build())
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset")
- .build())
- .build())
- .billOfMaterial((new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .build()))
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://acplt.org/Submodels/Assets/TestAsset/Identification")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_2 = new DefaultAssetAdministrationShell.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell_Mandatory")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Mandatory")
- .build())
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Mandatory")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel2_Mandatory")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_3 = new DefaultAssetAdministrationShell.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell2_Mandatory")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Mandatory")
- .build())
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_4 = new DefaultAssetAdministrationShell.Builder()
- .idShort("TestAssetAdministrationShell")
- .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Missing")
- .build())
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Missing")
- .idType(KeyType.IRI)
- .build())
- .build())
- .view(new DefaultView.Builder()
- .idShort("ExampleView")
- .containedElement((new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Missing")
- .idType(KeyType.IRI)
- .build()))
- .build())
- .build())
- .view(new DefaultView.Builder()
- .idShort("ExampleView2")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_1 = new DefaultSubmodel.Builder()
- .idShort("Identification")
- .description(new LangString("An example asset identification submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/Submodels/Assets/TestAsset/Identification")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/AssetIdentification")
- .build())
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .idShort("ManufacturerName")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#02-AAO677#002")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .value("100")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("int")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .value("50")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("int")
- .type("http://acplt.org/Qualifier/ExampleQualifier2")
- .build())
- .value("ACPLT")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .idShort("InstanceId")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("978-8234-234-342")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_2 = new DefaultSubmodel.Builder()
- .idShort("BillOfMaterial")
- .description(new LangString("An example bill of material submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/BillOfMaterial")
- .build())
- .build())
- .submodelElement(new DefaultEntity.Builder()
- .idShort("ExampleEntity")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .statement(new DefaultProperty.Builder()
- .idShort("ExampleProperty2")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue2")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .statement(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .entityType(EntityType.CO_MANAGED_ENTITY)
- .build())
- .submodelElement(new DefaultEntity.Builder()
- .idShort("ExampleEntity2")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .entityType(EntityType.SELF_MANAGED_ENTITY)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset2")
- .build())
- .build())
- .build())
- .build();
-
- public static final Submodel SUBMODEL_3 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty2")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty2")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .annotation(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("ExampleProperty3")
- .category("Parameter")
- .value("some example annotation")
- .valueType("string")
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
- .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleMultiLanguageValueId")
- .build())
- .build())
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .valueType("int")
- .min("0")
- .max("100")
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .mimeType("application/pdf")
- .value(Base64.getDecoder().decode("AQIDBAU="))
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("/TestFile.pdf")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE).value(
- "http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_4 = new DefaultSubmodel.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Mandatory")
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .value(null)
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .valueType("int")
- .min(null)
- .max(null)
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .value(null)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .build())
- .ordered(false)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered2")
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_5 = new DefaultSubmodel.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel2_Mandatory")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_6 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0").build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .annotation(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("ExampleProperty")
- .category("Parameter")
- .value("some example annotation")
- .valueType("string")
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
- .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .valueType("int")
- .min("0")
- .max("100")
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .mimeType("application/pdf")
- .value(Base64.getDecoder().decode("AQIDBAU="))
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("/TestFile.pdf")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_7 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Template")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder().idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE).value(
- "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .valueType("int")
- .min(null)
- .max("100")
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange2")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .valueType("int")
- .min("0")
- .max(null)
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .ordered(false)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered2")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .ordered(false)
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_1 = new DefaultConceptDescription.Builder()
- .idShort("TestConceptDescription")
- .description(new LangString("An example concept description for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .isCaseOf(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription")
- .build())
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_2 = new DefaultConceptDescription.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription_Mandatory")
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_3 = new DefaultConceptDescription.Builder()
- .idShort("TestConceptDescription")
- .description(new LangString("An example concept description for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_4 = new DefaultConceptDescription.Builder()
- .idShort("TestSpec_01")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/DataSpecifciations/Example/Identification")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .isCaseOf(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ReferenceElements/ConceptDescriptionX")
- .build())
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("Test Specification", "de"))
- .preferredName(new LangString("TestSpecification", "en-us"))
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("Dies ist eine Data Specification für Testzwecke", "de"))
- .definition(new LangString("This is a DataSpecification for testing purposes", "en-us"))
- .shortName(new LangString("Test Spec", "de"))
- .shortName(new LangString("TestSpec", "en-us"))
- .unit("SpaceUnit")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/Units/SpaceUnit")
- .build())
- .build())
- .sourceOfDefinition("http://acplt.org/DataSpec/ExampleDef")
- .symbol("SU")
- .valueFormat("string")
- .value("TEST")
- .levelType(LevelType.MIN)
- .levelType(LevelType.MAX)
- .valueList(new DefaultValueList.Builder()
- .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- // TODO valueType
- .build())
- .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
- .value("exampleValue2")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId2")
- .build())
- .build())
- // TODO valueType
- .build())
- .build())
- .build())
- .build()
- )
- .build();
-
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(List.of(
- AAS_1,
- AAS_2,
- AAS_3,
- AAS_4))
- .submodels(List.of(
- SUBMODEL_1,
- SUBMODEL_2,
- SUBMODEL_3,
- SUBMODEL_4,
- SUBMODEL_5,
- SUBMODEL_6,
- SUBMODEL_7))
- .conceptDescriptions(List.of(
- CONCEPT_DESCRIPTION_1,
- CONCEPT_DESCRIPTION_2,
- CONCEPT_DESCRIPTION_3,
- CONCEPT_DESCRIPTION_4))
- .build();
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.dataformat.core;
+
+import java.util.Base64;
+import java.util.List;
+
+import io.adminshell.aas.v3.model.AssetAdministrationShell;
+import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
+import io.adminshell.aas.v3.model.AssetKind;
+import io.adminshell.aas.v3.model.ConceptDescription;
+import io.adminshell.aas.v3.model.DataTypeIEC61360;
+import io.adminshell.aas.v3.model.EntityType;
+import io.adminshell.aas.v3.model.IdentifierType;
+import io.adminshell.aas.v3.model.KeyElements;
+import io.adminshell.aas.v3.model.KeyType;
+import io.adminshell.aas.v3.model.LangString;
+import io.adminshell.aas.v3.model.LevelType;
+import io.adminshell.aas.v3.model.ModelingKind;
+import io.adminshell.aas.v3.model.Submodel;
+import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation;
+import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement;
+import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell;
+import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
+import io.adminshell.aas.v3.model.impl.DefaultAssetInformation;
+import io.adminshell.aas.v3.model.impl.DefaultBasicEvent;
+import io.adminshell.aas.v3.model.impl.DefaultBlob;
+import io.adminshell.aas.v3.model.impl.DefaultCapability;
+import io.adminshell.aas.v3.model.impl.DefaultConceptDescription;
+import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360;
+import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification;
+import io.adminshell.aas.v3.model.impl.DefaultEntity;
+import io.adminshell.aas.v3.model.impl.DefaultFile;
+import io.adminshell.aas.v3.model.impl.DefaultIdentifier;
+import io.adminshell.aas.v3.model.impl.DefaultKey;
+import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty;
+import io.adminshell.aas.v3.model.impl.DefaultOperation;
+import io.adminshell.aas.v3.model.impl.DefaultOperationVariable;
+import io.adminshell.aas.v3.model.impl.DefaultProperty;
+import io.adminshell.aas.v3.model.impl.DefaultQualifier;
+import io.adminshell.aas.v3.model.impl.DefaultRange;
+import io.adminshell.aas.v3.model.impl.DefaultReference;
+import io.adminshell.aas.v3.model.impl.DefaultReferenceElement;
+import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement;
+import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
+import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
+import io.adminshell.aas.v3.model.impl.DefaultValueList;
+import io.adminshell.aas.v3.model.impl.DefaultValueReferencePair;
+import io.adminshell.aas.v3.model.impl.DefaultView;
+
+public class AASFull {
+ public static final AssetAdministrationShell AAS_1 = new DefaultAssetAdministrationShell.Builder()
+ .idShort("TestAssetAdministrationShell")
+ .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_AssetAdministrationShell")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .derivedFrom(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET_ADMINISTRATION_SHELL)
+ .idType(KeyType.IRI)
+ .value("https://acplt.org/TestAssetAdministrationShell2")
+ .build())
+ .build())
+ .assetInformation(new DefaultAssetInformation.Builder()
+ .assetKind(AssetKind.INSTANCE)
+ .globalAssetId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET)
+ .idType(KeyType.IRI)
+ .value("https://acplt.org/Test_Asset")
+ .build())
+ .build())
+ .billOfMaterial((new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
+ .build()))
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("https://acplt.org/Test_Submodel")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("http://acplt.org/Submodels/Assets/TestAsset/Identification")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .build();
+
+ public static final AssetAdministrationShell AAS_2 = new DefaultAssetAdministrationShell.Builder()
+ .idShort("")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_AssetAdministrationShell_Mandatory")
+ .build())
+ .assetInformation(new DefaultAssetInformation.Builder()
+ .assetKind(AssetKind.INSTANCE)
+ .globalAssetId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET)
+ .idType(KeyType.IRI)
+ .value("https://acplt.org/Test_Asset_Mandatory")
+ .build())
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("https://acplt.org/Test_Submodel_Mandatory")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("https://acplt.org/Test_Submodel2_Mandatory")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .build();
+
+ public static final AssetAdministrationShell AAS_3 = new DefaultAssetAdministrationShell.Builder()
+ .idShort("")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_AssetAdministrationShell2_Mandatory")
+ .build())
+ .assetInformation(new DefaultAssetInformation.Builder()
+ .assetKind(AssetKind.INSTANCE)
+ .globalAssetId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET)
+ .idType(KeyType.IRI)
+ .value("https://acplt.org/Test_Asset_Mandatory")
+ .build())
+ .build())
+ .build())
+ .build();
+
+ public static final AssetAdministrationShell AAS_4 = new DefaultAssetAdministrationShell.Builder()
+ .idShort("TestAssetAdministrationShell")
+ .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_AssetAdministrationShell_Missing")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .assetInformation(new DefaultAssetInformation.Builder()
+ .assetKind(AssetKind.INSTANCE)
+ .globalAssetId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET)
+ .idType(KeyType.IRI)
+ .value("https://acplt.org/Test_Asset_Missing")
+ .build())
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("https://acplt.org/Test_Submodel_Missing")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .view(new DefaultView.Builder()
+ .idShort("ExampleView")
+ .containedElement((new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .value("https://acplt.org/Test_Submodel_Missing")
+ .idType(KeyType.IRI)
+ .build()))
+ .build())
+ .build())
+ .view(new DefaultView.Builder()
+ .idShort("ExampleView2")
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_1 = new DefaultSubmodel.Builder()
+ .idShort("Identification")
+ .description(new LangString("An example asset identification submodel for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("http://acplt.org/Submodels/Assets/TestAsset/Identification")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/SubmodelTemplates/AssetIdentification")
+ .build())
+ .build())
+ .submodelElement(new DefaultProperty.Builder()
+ .idShort("ManufacturerName")
+ .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
+ .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("0173-1#02-AAO677#002")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .qualifier(new DefaultQualifier.Builder()
+ .value("100")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("int")
+ .type("http://acplt.org/Qualifier/ExampleQualifier")
+ .build())
+ .qualifier(new DefaultQualifier.Builder()
+ .value("50")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("int")
+ .type("http://acplt.org/Qualifier/ExampleQualifier2")
+ .build())
+ .value("ACPLT")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .submodelElement(new DefaultProperty.Builder()
+ .idShort("InstanceId")
+ .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
+ .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("978-8234-234-342")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_2 = new DefaultSubmodel.Builder()
+ .idShort("BillOfMaterial")
+ .description(new LangString("An example bill of material submodel for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .build())
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.SUBMODEL)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/SubmodelTemplates/BillOfMaterial")
+ .build())
+ .build())
+ .submodelElement(new DefaultEntity.Builder()
+ .idShort("ExampleEntity")
+ .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
+ .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .statement(new DefaultProperty.Builder()
+ .idShort("ExampleProperty2")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("exampleValue2")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .statement(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("exampleValue")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .entityType(EntityType.CO_MANAGED_ENTITY)
+ .build())
+ .submodelElement(new DefaultEntity.Builder()
+ .idShort("ExampleEntity2")
+ .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
+ .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .entityType(EntityType.SELF_MANAGED_ENTITY)
+ .globalAssetId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.ASSET)
+ .idType(KeyType.IRI)
+ .value("https://acplt.org/Test_Asset2")
+ .build())
+ .build())
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_3 = new DefaultSubmodel.Builder()
+ .idShort("TestSubmodel")
+ .description(new LangString("An example submodel for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_Submodel")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
+ .build())
+ .build())
+ .submodelElement(new DefaultRelationshipElement.Builder()
+ .idShort("ExampleRelationshipElement")
+ .category("Parameter")
+ .description(new LangString("Example RelationshipElement object", "en-us"))
+ .description(new LangString("Beispiel RelationshipElement Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty2")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
+ .idShort("ExampleAnnotatedRelationshipElement")
+ .category("Parameter")
+ .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
+ .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty2")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .annotation(new DefaultProperty.Builder()
+ .kind(ModelingKind.INSTANCE)
+ .idShort("ExampleProperty3")
+ .category("Parameter")
+ .value("some example annotation")
+ .valueType("string")
+ .build())
+ .build())
+ .submodelElement(new DefaultOperation.Builder()
+ .idShort("ExampleOperation")
+ .category("Parameter")
+ .description(new LangString("Example Operation object", "en-us"))
+ .description(new LangString("Beispiel Operation Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Operations/ExampleOperation")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .inputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("exampleValue")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .build())
+ .outputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("exampleValue")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .build())
+ .inoutputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("exampleValue")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultCapability.Builder()
+ .idShort("ExampleCapability")
+ .category("Parameter")
+ .description(new LangString("Example Capability object", "en-us"))
+ .description(new LangString("Beispiel Capability Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Capabilities/ExampleCapability")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultBasicEvent.Builder()
+ .idShort("ExampleBasicEvent")
+ .category("Parameter")
+ .description(new LangString("Example BasicEvent object", "en-us"))
+ .description(new LangString("Beispiel BasicEvent Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Events/ExampleBasicEvent")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .observed(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .idType(KeyType.ID_SHORT)
+ .value("ExampleProperty")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionOrdered")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("exampleValue")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ .valueType("string")
+ .build())
+ .value(new DefaultMultiLanguageProperty.Builder()
+ .idShort("ExampleMultiLanguageProperty")
+ .category("Constant")
+ .description(new LangString("Example MultiLanguageProperty object", "en-us"))
+ .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
+ .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleMultiLanguageValueId")
+ .build())
+ .build())
+ .build())
+ .value(new DefaultRange.Builder()
+ .idShort("ExampleRange")
+ .category("Parameter")
+ .description(new LangString("Example Range object", "en-us"))
+ .description(new LangString("Beispiel Range Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Ranges/ExampleRange")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .valueType("int")
+ .min("0")
+ .max("100")
+ .build())
+ .ordered(true)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionUnordered")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new DefaultBlob.Builder()
+ .idShort("ExampleBlob")
+ .category("Parameter")
+ .description(new LangString("Example Blob object", "en-us"))
+ .description(new LangString("Beispiel Blob Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Blobs/ExampleBlob")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .mimeType("application/pdf")
+ .value(Base64.getDecoder().decode("AQIDBAU="))
+ .build())
+ .value(new DefaultFile.Builder()
+ .idShort("ExampleFile")
+ .category("Parameter")
+ .description(new LangString("Example File object", "en-us"))
+ .description(new LangString("Beispiel File Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Files/ExampleFile")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("/TestFile.pdf")
+ .mimeType("application/pdf")
+ .build())
+ .value(new DefaultReferenceElement.Builder()
+ .idShort("ExampleReferenceElement")
+ .category("Parameter")
+ .description(new LangString("Example Reference Element object", "en-us"))
+ .description(new LangString("Beispiel Reference Element Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE).value(
+ "http://acplt.org/ReferenceElements/ExampleReferenceElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .idType(KeyType.ID_SHORT)
+ .value("ExampleProperty")
+ .build())
+ .build())
+ .build())
+ .ordered(false)
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_4 = new DefaultSubmodel.Builder()
+ .idShort("")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_Submodel_Mandatory")
+ .build())
+ .submodelElement(new DefaultRelationshipElement.Builder()
+ .idShort("ExampleRelationshipElement")
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
+ .idShort("ExampleAnnotatedRelationshipElement")
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultOperation.Builder()
+ .idShort("ExampleOperation")
+ .build())
+ .submodelElement(new DefaultCapability.Builder()
+ .idShort("ExampleCapability")
+ .build())
+ .submodelElement(new DefaultBasicEvent.Builder()
+ .idShort("ExampleBasicEvent")
+ .observed(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .idType(KeyType.ID_SHORT)
+ .value("ExampleProperty")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionOrdered")
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .value(null)
+ .valueType("string")
+ .build())
+ .value(new DefaultMultiLanguageProperty.Builder()
+ .idShort("ExampleMultiLanguageProperty")
+ .build())
+ .value(new DefaultRange.Builder()
+ .idShort("ExampleRange")
+ .valueType("int")
+ .min(null)
+ .max(null)
+ .build())
+ .ordered(true)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionUnordered")
+ .value(new DefaultBlob.Builder()
+ .idShort("ExampleBlob")
+ .mimeType("application/pdf")
+ .build())
+ .value(new DefaultFile.Builder()
+ .idShort("ExampleFile")
+ .value(null)
+ .mimeType("application/pdf")
+ .build())
+ .value(new DefaultReferenceElement.Builder()
+ .idShort("ExampleReferenceElement")
+ .build())
+ .ordered(false)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionUnordered2")
+ .ordered(false)
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_5 = new DefaultSubmodel.Builder()
+ .idShort("")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_Submodel2_Mandatory")
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_6 = new DefaultSubmodel.Builder()
+ .idShort("TestSubmodel")
+ .description(new LangString("An example submodel for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_Submodel_Missing")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0").build())
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
+ .build())
+ .build())
+ .submodelElement(new DefaultRelationshipElement.Builder()
+ .idShort("ExampleRelationshipElement")
+ .category("Parameter")
+ .description(new LangString("Example RelationshipElement object", "en-us"))
+ .description(new LangString("Beispiel RelationshipElement Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
+ .idShort("ExampleAnnotatedRelationshipElement")
+ .category("Parameter")
+ .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
+ .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .annotation(new DefaultProperty.Builder()
+ .kind(ModelingKind.INSTANCE)
+ .idShort("ExampleProperty")
+ .category("Parameter")
+ .value("some example annotation")
+ .valueType("string")
+ .build())
+ .build())
+ .submodelElement(new DefaultOperation.Builder()
+ .idShort("ExampleOperation")
+ .category("Parameter")
+ .description(new LangString("Example Operation object", "en-us"))
+ .description(new LangString("Beispiel Operation Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Operations/ExampleOperation")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .inputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .qualifier(new DefaultQualifier.Builder()
+ .valueType("string")
+ .type("http://acplt.org/Qualifier/ExampleQualifier")
+ .build())
+ .value("exampleValue")
+ .valueType("string")
+ .build())
+ .build())
+ .outputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .qualifier(new DefaultQualifier.Builder()
+ .valueType("string")
+ .type("http://acplt.org/Qualifier/ExampleQualifier")
+ .build())
+ .value("exampleValue")
+ .valueType("string")
+ .build())
+ .build())
+ .inoutputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .qualifier(new DefaultQualifier.Builder()
+ .valueType("string")
+ .type("http://acplt.org/Qualifier/ExampleQualifier")
+ .build())
+ .value("exampleValue")
+ .valueType("string")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultCapability.Builder()
+ .idShort("ExampleCapability")
+ .category("Parameter")
+ .description(new LangString("Example Capability object", "en-us"))
+ .description(new LangString("Beispiel Capability Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Capabilities/ExampleCapability")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultBasicEvent.Builder()
+ .idShort("ExampleBasicEvent")
+ .category("Parameter")
+ .description(new LangString("Example BasicEvent object", "en-us"))
+ .description(new LangString("Beispiel BasicEvent Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Events/ExampleBasicEvent")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .observed(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .idType(KeyType.ID_SHORT)
+ .value("ExampleProperty")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionOrdered")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .qualifier(new DefaultQualifier.Builder()
+ .valueType("string")
+ .type("http://acplt.org/Qualifier/ExampleQualifier")
+ .build())
+ .value("exampleValue")
+ .valueType("string")
+ .build())
+ .value(new DefaultMultiLanguageProperty.Builder()
+ .idShort("ExampleMultiLanguageProperty")
+ .category("Constant")
+ .description(new LangString("Example MultiLanguageProperty object", "en-us"))
+ .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
+ .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
+ .build())
+ .value(new DefaultRange.Builder()
+ .idShort("ExampleRange")
+ .category("Parameter")
+ .description(new LangString("Example Range object", "en-us"))
+ .description(new LangString("Beispiel Range Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Ranges/ExampleRange")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .valueType("int")
+ .min("0")
+ .max("100")
+ .build())
+ .ordered(true)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionUnordered")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new DefaultBlob.Builder()
+ .idShort("ExampleBlob")
+ .category("Parameter")
+ .description(new LangString("Example Blob object", "en-us"))
+ .description(new LangString("Beispiel Blob Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Blobs/ExampleBlob")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .mimeType("application/pdf")
+ .value(Base64.getDecoder().decode("AQIDBAU="))
+ .build())
+ .value(new DefaultFile.Builder()
+ .idShort("ExampleFile")
+ .category("Parameter")
+ .description(new LangString("Example File object", "en-us"))
+ .description(new LangString("Beispiel File Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Files/ExampleFile")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value("/TestFile.pdf")
+ .mimeType("application/pdf")
+ .build())
+ .value(new DefaultReferenceElement.Builder()
+ .idShort("ExampleReferenceElement")
+ .category("Parameter")
+ .description(new LangString("Example Reference Element object", "en-us"))
+ .description(new LangString("Beispiel Reference Element Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .value(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .idType(KeyType.ID_SHORT)
+ .value("ExampleProperty")
+ .build())
+ .build())
+ .build())
+ .ordered(false)
+ .build())
+ .build();
+
+ public static final Submodel SUBMODEL_7 = new DefaultSubmodel.Builder()
+ .idShort("TestSubmodel")
+ .description(new LangString("An example submodel for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_Submodel_Template")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .submodelElement(new DefaultRelationshipElement.Builder()
+ .idShort("ExampleRelationshipElement")
+ .category("Parameter")
+ .description(new LangString("Example RelationshipElement object", "en-us"))
+ .description(new LangString("Beispiel RelationshipElement Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultAnnotatedRelationshipElement.Builder().idShort("ExampleAnnotatedRelationshipElement")
+ .category("Parameter")
+ .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
+ .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .first(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .second(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .value("ExampleProperty")
+ .idType(KeyType.ID_SHORT)
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultOperation.Builder()
+ .idShort("ExampleOperation")
+ .category("Parameter")
+ .description(new LangString("Example Operation object", "en-us"))
+ .description(new LangString("Beispiel Operation Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Operations/ExampleOperation")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .inputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(null)
+ .valueType("string")
+ .build())
+ .build())
+ .outputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(null)
+ .valueType("string")
+ .build())
+ .build())
+ .inoutputVariable(new DefaultOperationVariable.Builder()
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(null)
+ .valueType("string")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultCapability.Builder()
+ .idShort("ExampleCapability")
+ .category("Parameter")
+ .description(new LangString("Example Capability object", "en-us"))
+ .description(new LangString("Beispiel Capability Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Capabilities/ExampleCapability")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .build())
+ .submodelElement(new DefaultBasicEvent.Builder()
+ .idShort("ExampleBasicEvent")
+ .category("Parameter")
+ .description(new LangString("Example BasicEvent object", "en-us"))
+ .description(new LangString("Beispiel BasicEvent Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Events/ExampleBasicEvent")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .observed(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.PROPERTY)
+ .idType(KeyType.ID_SHORT)
+ .value("ExampleProperty")
+ .build())
+ .build())
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionOrdered")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(new DefaultProperty.Builder()
+ .idShort("ExampleProperty")
+ .category("Constant")
+ .description(new LangString("Example Property object", "en-us"))
+ .description(new LangString("Beispiel Property Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Properties/ExampleProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(null)
+ .valueType("string")
+ .build())
+ .value(new DefaultMultiLanguageProperty.Builder()
+ .idShort("ExampleMultiLanguageProperty")
+ .category("Constant")
+ .description(new LangString("Example MultiLanguageProperty object", "en-us"))
+ .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE).value(
+ "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .build())
+ .value(new DefaultRange.Builder()
+ .idShort("ExampleRange")
+ .category("Parameter")
+ .description(new LangString("Example Range object", "en-us"))
+ .description(new LangString("Beispiel Range Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Ranges/ExampleRange")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .valueType("int")
+ .min(null)
+ .max("100")
+ .build())
+ .value(new DefaultRange.Builder()
+ .idShort("ExampleRange2")
+ .category("Parameter")
+ .description(new LangString("Example Range object", "en-us"))
+ .description(new LangString("Beispiel Range Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Ranges/ExampleRange")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .valueType("int")
+ .min("0")
+ .max(null)
+ .build())
+ .ordered(true)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionUnordered")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(new DefaultBlob.Builder()
+ .idShort("ExampleBlob")
+ .category("Parameter")
+ .description(new LangString("Example Blob object", "en-us"))
+ .description(new LangString("Beispiel Blob Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Blobs/ExampleBlob")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .mimeType("application/pdf")
+ .build())
+ .value(new DefaultFile.Builder()
+ .idShort("ExampleFile")
+ .category("Parameter")
+ .description(new LangString("Example File object", "en-us"))
+ .description(new LangString("Beispiel File Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/Files/ExampleFile")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .value(null)
+ .mimeType("application/pdf")
+ .build())
+ .value(new DefaultReferenceElement.Builder()
+ .idShort("ExampleReferenceElement")
+ .category("Parameter")
+ .description(new LangString("Example Reference Element object", "en-us"))
+ .description(new LangString("Beispiel Reference Element Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .build())
+ .ordered(false)
+ .build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder()
+ .idShort("ExampleSubmodelCollectionUnordered2")
+ .category("Parameter")
+ .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
+ .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
+ .idType(KeyType.IRI)
+ .build())
+ .build())
+ .kind(ModelingKind.TEMPLATE)
+ .ordered(false)
+ .build())
+ .build();
+
+ public final static ConceptDescription CONCEPT_DESCRIPTION_1 = new DefaultConceptDescription.Builder()
+ .idShort("TestConceptDescription")
+ .description(new LangString("An example concept description for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_ConceptDescription")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .isCaseOf(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription")
+ .build())
+ .build())
+ .build();
+
+ public final static ConceptDescription CONCEPT_DESCRIPTION_2 = new DefaultConceptDescription.Builder()
+ .idShort("")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_ConceptDescription_Mandatory")
+ .build())
+ .build();
+
+ public final static ConceptDescription CONCEPT_DESCRIPTION_3 = new DefaultConceptDescription.Builder()
+ .idShort("TestConceptDescription")
+ .description(new LangString("An example concept description for the test application", "en-us"))
+ .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("https://acplt.org/Test_ConceptDescription_Missing")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .build();
+
+ public final static ConceptDescription CONCEPT_DESCRIPTION_4 = new DefaultConceptDescription.Builder()
+ .idShort("TestSpec_01")
+ .identification(new DefaultIdentifier.Builder()
+ .idType(IdentifierType.IRI)
+ .identifier("http://acplt.org/DataSpecifciations/Example/Identification")
+ .build())
+ .administration(new DefaultAdministrativeInformation.Builder()
+ .version("0.9")
+ .revision("0")
+ .build())
+ .isCaseOf(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ReferenceElements/ConceptDescriptionX")
+ .build())
+ .build())
+ .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString("Test Specification", "de"))
+ .preferredName(new LangString("TestSpecification", "en-us"))
+ .dataType(DataTypeIEC61360.REAL_MEASURE)
+ .definition(new LangString("Dies ist eine Data Specification für Testzwecke", "de"))
+ .definition(new LangString("This is a DataSpecification for testing purposes", "en-us"))
+ .shortName(new LangString("Test Spec", "de"))
+ .shortName(new LangString("TestSpec", "en-us"))
+ .unit("SpaceUnit")
+ .unitId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/Units/SpaceUnit")
+ .build())
+ .build())
+ .sourceOfDefinition("http://acplt.org/DataSpec/ExampleDef")
+ .symbol("SU")
+ .valueFormat("string")
+ .value("TEST")
+ .levelType(LevelType.MIN)
+ .levelType(LevelType.MAX)
+ .valueList(new DefaultValueList.Builder()
+ .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
+ .value("exampleValue")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId")
+ .build())
+ .build())
+ // TODO valueType
+ .build())
+ .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
+ .value("exampleValue2")
+ .valueId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder()
+ .type(KeyElements.GLOBAL_REFERENCE)
+ .idType(KeyType.IRI)
+ .value("http://acplt.org/ValueId/ExampleValueId2")
+ .build())
+ .build())
+ // TODO valueType
+ .build())
+ .build())
+ .build())
+ .build()
+ )
+ .build();
+
+ public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
+ .assetAdministrationShells(List.of(
+ AAS_1,
+ AAS_2,
+ AAS_3,
+ AAS_4))
+ .submodels(List.of(
+ SUBMODEL_1,
+ SUBMODEL_2,
+ SUBMODEL_3,
+ SUBMODEL_4,
+ SUBMODEL_5,
+ SUBMODEL_6,
+ SUBMODEL_7))
+ .conceptDescriptions(List.of(
+ CONCEPT_DESCRIPTION_1,
+ CONCEPT_DESCRIPTION_2,
+ CONCEPT_DESCRIPTION_3,
+ CONCEPT_DESCRIPTION_4))
+ .build();
+}
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java
similarity index 98%
rename from dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java
index bfd6bc49..5e2d7678 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASSimple.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.adminshell.aas.v3.dataformat.xml;
+package io.adminshell.aas.v3.dataformat.core;
import java.util.Arrays;
@@ -47,10 +47,6 @@
import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
public class AASSimple {
-
- public static final java.io.File FILE = new java.io.File("src/test/resources/xmlExample.xml");
- public static final java.io.File FILE_WITH_TEST_NAMESPACE = new java.io.File("src/test/resources/xmlExampleWithModifiedPrefix.xml");
-
//AAS
public static final String AAS_ID = "ExampleMotor";
public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java
similarity index 99%
rename from dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomProperty.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java
index 9a9ba107..cde7790b 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomProperty.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomProperty.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.adminshell.aas.v3.dataformat.xml;
+package io.adminshell.aas.v3.dataformat.core;
import java.util.List;
import java.util.Objects;
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java
similarity index 91%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubProperty.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java
index e6482b3e..99b5e315 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubProperty.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubProperty.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.json;
-
-public class CustomSubProperty extends CustomProperty {
-
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.dataformat.core;
+
+public class CustomSubProperty extends CustomProperty {
+
+}
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomSubmodel.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java
similarity index 94%
rename from dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomSubmodel.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java
index 2ee53385..83151793 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomSubmodel.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.adminshell.aas.v3.dataformat.xml;
+package io.adminshell.aas.v3.dataformat.core;
import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomSubmodel2.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java
similarity index 94%
rename from dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomSubmodel2.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java
index 052b2c7c..c6fd7c68 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/CustomSubmodel2.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/CustomSubmodel2.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.adminshell.aas.v3.dataformat.xml;
+package io.adminshell.aas.v3.dataformat.core;
import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/ClassA.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java
similarity index 97%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/model/ClassA.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java
index 10f5feab..ee121f5b 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/ClassA.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassA.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.model;
-
-public class ClassA {
-
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.model;
+
+public class ClassA {
+
+}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/ClassB.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java
similarity index 97%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/model/ClassB.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java
index d7ea0ab4..7f3054c5 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/ClassB.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/ClassB.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.model;
-
-public class ClassB extends ClassA {
-
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.model;
+
+public class ClassB extends ClassA {
+
+}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java
similarity index 97%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java
index 79d0cb75..4a434dc7 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/DummyInterface.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.model;
-
-public class DummyInterface {
-
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.model;
+
+public class DummyInterface {
+
+}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java
similarity index 97%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java
index 57a92de2..e1143f8b 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedProperty.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.model;
-
-public interface TypedProperty extends Property {
-
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.model;
+
+public interface TypedProperty extends Property {
+
+}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java
similarity index 97%
rename from dataformat-json/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java
rename to dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java
index 3f3864c2..724249ac 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/model/TypedSubProperty.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.model;
-
-public interface TypedSubProperty extends TypedProperty {
-
-}
+/*
+ * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.adminshell.aas.v3.model;
+
+public interface TypedSubProperty extends TypedProperty {
+
+}
diff --git a/dataformat-json/pom.xml b/dataformat-json/pom.xml
index ac748da3..43150ffc 100644
--- a/dataformat-json/pom.xml
+++ b/dataformat-json/pom.xml
@@ -24,6 +24,13 @@
${revision}
compile
+
+ io.admin-shell.aas
+ dataformat-core
+ ${revision}
+ tests
+ test
+
com.fasterxml.jackson.core
jackson-annotations
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASSimple.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASSimple.java
deleted file mode 100644
index c7632903..00000000
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/AASSimple.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.json;
-
-import io.adminshell.aas.v3.model.*;
-import io.adminshell.aas.v3.model.impl.*;
-import java.util.Arrays;
-
-public class AASSimple {
-
- public static final java.io.File FILE = new java.io.File("src/test/resources/jsonExample.json");
-
- //AAS
- public static final String AAS_ID = "ExampleMotor";
- public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
-
- //SUBMODEL_TECHNICAL_DATA
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = "MaxRotationSpeed";
- public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData";
- public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID = "0173-1#01-AFZ615#016";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY = "0173-1#02-BAA120#008";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY = "Parameter";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer";
-
- //SUBMODEL_DOCUMENTATION
- private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation";
- private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT = "Title";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUE = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE = "langString";
- private static final String SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile";
- private static final String SUBMODEL_DOCUMENTATION_FILE_ID_SHORT = "DigitalFile_PDF";
- private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf";
- private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf";
-
- //SUBMODEL_OPERATIONAL_DATA
- private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData";
- private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935";
- private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = "http://customer.com/cd/1/1/18EBD56F6B43D895";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = "RotationSpeed";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "VARIABLE";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer";
-
- public AASSimple() {
- }
-
- public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder()
- .idShort(AAS_ID)
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier(AAS_IDENTIFIER)
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .value("http://customer.com/assets/KHBVZJSQKIY")
- .idType(KeyType.IRI)
- .build())
- .build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder()
- .key("EquipmentID")
- .value("538fd1b3-f99f-4a52-9c75-72e9fa921270")
- .externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://customer.com/Systems/ERP/012")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder()
- .key("DeviceID")
- .value("QjYgPggjwkiHk4RrQiYSLg==")
- .externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://customer.com/Systems/IoT/1")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build()
- )
- .defaultThumbnail(new DefaultFile.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("thumbnail")
- .mimeType("image/png")
- .value("https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png")
- .build())
- .build()
- )
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http.//i40.customer.com/type/1/1/7A7104BDAB57E184")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://i40.customer.com/instance/1/1/AC69B1CB44F07935")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://i40.customer.com/type/1/1/1A7B62B529F19152")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final Asset ASSET = new DefaultAsset.Builder()
- .idShort("ServoDCMotor")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://customer.com/assets/KHBVZJSQKIY")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_TECHNICAL_DATA = new DefaultSubmodel.Builder()
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID)
- .idType(KeyType.IRDI)
- .build())
- .build())
- .kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder()
- .identifier(SUBMODEL_TECHNICAL_DATA_ID)
- .idType(IdentifierType.IRI)
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY)
- .idType(KeyType.IRDI)
- .build())
- .build())
- .idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY)
- .value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder()
- .identifier(SUBMODEL_OPERATIONAL_DATA_ID)
- .idType(IdentifierType.IRI)
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY)
- .value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_DOCUMENTATION_ID_SHORT)
- .identification(new DefaultIdentifier.Builder()
- .identifier(SUBMODEL_DOCUMENTATION_ID)
- .idType(IdentifierType.IRI)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT)
- .value(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE)
- .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE)
- .build())
- .value(new DefaultFile.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT)
- .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE)
- .value(SUBMODEL_DOCUMENTATION_FILE_VALUE)
- .build())
- .ordered(false)
- .allowDuplicates(false)
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = new DefaultConceptDescription.Builder()
- .idShort("Title")
- .identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("Title", "EN"))
- .preferredName(new LangString("Titel", "DE"))
- .shortName(new LangString("Title", "EN"))
- .shortName(new LangString("Titel", "DE"))
- .unit("")
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.STRING_TRANSLATABLE)
- .definition(new LangString("SprachabhängigerTiteldesDokuments.", "DE"))
- .build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_DIGITALFILE = new DefaultConceptDescription.Builder()
- .idShort("DigitalFile")
- .identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("DigitalFile", "EN"))
- .preferredName(new LangString("DigitaleDatei", "DE"))
- .shortName(new LangString("DigitalFile", "EN"))
- .shortName(new LangString("DigitaleDatei", "DE"))
- .unit("")
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.STRING)
- .definition(new LangString("Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden.", "DE"))
- .build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort("MaxRotationSpeed")
- .category("PROPERTY")
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("")
- .revision("2")
- .build())
- .identification(new DefaultIdentifier.Builder()
- .identifier("0173-1#02-BAA120#008")
- .idType(IdentifierType.IRDI)
- .build())
- .embeddedDataSpecifications(Arrays.asList(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("max.Drehzahl", "de"))
- .preferredName(new LangString("Max.rotationspeed", "en"))
- .unit("1/min")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#05-AAA650#002")
- .idType(KeyType.IRDI)
- .build())
- .build())
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf", "de"))
- .definition(new LangString("Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated", "en"))
- .build())
- .build()))
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort("RotationSpeed")
- .category("PROPERTY")
- .identification(new DefaultIdentifier.Builder()
- .identifier("http://customer.com/cd/1/1/18EBD56F6B43D895")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("AktuelleDrehzahl", "DE"))
- .preferredName(new LangString("Actualrotationspeed", "EN"))
- .shortName(new LangString("AktuelleDrehzahl", "DE"))
- .shortName(new LangString("ActualRotationSpeed", "EN"))
- .unit("1/min")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#05-AAA650#002")
- .idType(KeyType.IRDI)
- .build())
- .build())
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird", "DE"))
- .definition(new LangString("Actual rotationspeed with which the motor or feedingunit is operated", "EN"))
- .build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = new DefaultConceptDescription.Builder()
- .idShort("Document")
- .identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .shortName(new LangString("Document", "EN"))
- .shortName(new LangString("Dokument", "DE"))
- .unit("")
- .sourceOfDefinition("[ISO15519-1:2010]")
- .dataType(DataTypeIEC61360.STRING)
- .definition(new LangString("Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.", "DE"))
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(AAS)
- .submodels(SUBMODEL_TECHNICAL_DATA)
- .submodels(SUBMODEL_DOCUMENTATION)
- .submodels(SUBMODEL_OPERATIONAL_DATA)
- .conceptDescriptions(CONCEPT_DESCRIPTION_TITLE)
- .conceptDescriptions(CONCEPT_DESCRIPTION_DIGITALFILE)
- .conceptDescriptions(CONCEPT_DESCRIPTION_MAXROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT)
- .build();
-
-}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomProperty.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomProperty.java
deleted file mode 100644
index dce51d2f..00000000
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomProperty.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.json;
-
-import java.util.List;
-import java.util.Objects;
-
-import io.adminshell.aas.v3.model.*;
-
-public class CustomProperty implements Property {
-
- protected List embeddedDataSpecifications;
-
- protected ModelingKind kind;
-
- protected Reference semanticId;
-
- protected String value;
-
- protected Reference valueId;
-
- protected String valueType;
-
- protected List qualifiers;
-
- protected String category;
-
- protected List descriptions;
-
- protected List displayNames;
-
- protected String idShort;
-
- protected List extensions;
-
- protected CustomProperty() {
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(new Object[] { this.valueType, this.value, this.valueId, this.category, this.descriptions,
- this.displayNames, this.idShort, this.qualifiers, this.embeddedDataSpecifications, this.kind,
- this.semanticId });
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- } else if (obj == null) {
- return false;
- } else if (this.getClass() != obj.getClass()) {
- return false;
- } else {
- CustomProperty other = (CustomProperty) obj;
- return Objects.equals(this.valueType, other.valueType) && Objects.equals(this.value, other.value)
- && Objects.equals(this.valueId, other.valueId) && Objects.equals(this.category, other.category)
- && Objects.equals(this.descriptions, other.descriptions)
- && Objects.equals(this.displayNames, other.displayNames)
- && Objects.equals(this.idShort, other.idShort) && Objects.equals(this.qualifiers, other.qualifiers)
- && Objects.equals(this.embeddedDataSpecifications, other.embeddedDataSpecifications)
- && Objects.equals(this.kind, other.kind) && Objects.equals(this.semanticId, other.semanticId);
- }
- }
-
- @Override
- final public String getValueType() {
- return valueType;
- }
-
- @Override
- final public void setValueType(String valueType) {
- this.valueType = valueType;
- }
-
- @Override
- final public String getValue() {
- return value;
- }
-
- @Override
- final public void setValue(String value) {
- this.value = value;
- }
-
- @Override
- final public Reference getValueId() {
- return valueId;
- }
-
- @Override
- final public void setValueId(Reference valueId) {
- this.valueId = valueId;
- }
-
- @Override
- final public String getCategory() {
- return category;
- }
-
- @Override
- final public void setCategory(String category) {
- this.category = category;
- }
-
- @Override
- final public List getDescriptions() {
- return descriptions;
- }
-
- @Override
- final public void setDescriptions(List descriptions) {
- this.descriptions = descriptions;
- }
-
- @Override
- final public List getDisplayNames() {
- return displayNames;
- }
-
- @Override
- final public void setDisplayNames(List displayNames) {
- this.displayNames = displayNames;
- }
-
- @Override
- final public String getIdShort() {
- return idShort;
- }
-
- @Override
- final public void setIdShort(String idShort) {
- this.idShort = idShort;
- }
-
- @Override
- final public List getQualifiers() {
- return qualifiers;
- }
-
- @Override
- final public void setQualifiers(List qualifiers) {
- this.qualifiers = qualifiers;
- }
-
- @Override
- final public List getEmbeddedDataSpecifications() {
- return embeddedDataSpecifications;
- }
-
- @Override
- final public void setEmbeddedDataSpecifications(List embeddedDataSpecifications) {
- this.embeddedDataSpecifications = embeddedDataSpecifications;
- }
-
- @Override
- final public ModelingKind getKind() {
- return kind;
- }
-
- @Override
- final public void setKind(ModelingKind kind) {
- this.kind = kind;
- }
-
- @Override
- final public Reference getSemanticId() {
- return semanticId;
- }
-
- @Override
- final public void setSemanticId(Reference semanticId) {
- this.semanticId = semanticId;
- }
-
- @Override
- public List getExtensions() {
- return extensions;
- }
-
- @Override
- public void setExtensions(List list) {
- this.extensions = list;
- }
-}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel.java
deleted file mode 100644
index 3d6982d4..00000000
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.json;
-
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-
-public class CustomSubmodel extends DefaultSubmodel {
-
-}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel2.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel2.java
deleted file mode 100644
index f58cbcaa..00000000
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/CustomSubmodel2.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.json;
-
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-
-public class CustomSubmodel2 extends DefaultSubmodel {
-
-}
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java
index 141c2544..68b98f3b 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java
+++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonDeserializerTest.java
@@ -22,6 +22,11 @@
import org.slf4j.LoggerFactory;
import io.adminshell.aas.v3.dataformat.Deserializer;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
+import io.adminshell.aas.v3.dataformat.core.CustomProperty;
+import io.adminshell.aas.v3.dataformat.core.CustomSubmodel;
+import io.adminshell.aas.v3.dataformat.core.CustomSubmodel2;
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
import io.adminshell.aas.v3.model.Property;
import io.adminshell.aas.v3.model.Submodel;
@@ -34,19 +39,19 @@ public class JsonDeserializerTest {
@Test
public void testReadFromFile() throws Exception {
- new JsonDeserializer().read(AASSimple.FILE);
+ new JsonDeserializer().read(JsonSerializerTest.AASFULL_FILE);
}
@Test
public void testSimpleExample() throws Exception {
- AssetAdministrationShellEnvironment env = new JsonDeserializer().read(AASSimple.FILE);
- assertEquals(env, AASSimple.ENVIRONMENT);
+ AssetAdministrationShellEnvironment env = new JsonDeserializer().read(JsonSerializerTest.AASSIMPLE_FILE);
+ assertEquals(AASSimple.ENVIRONMENT, env);
}
@Test
public void testFullExample() throws Exception {
- AssetAdministrationShellEnvironment env = new JsonDeserializer().read(AASFull.FILE);
- assertEquals(env, AASFull.ENVIRONMENT);
+ AssetAdministrationShellEnvironment env = new JsonDeserializer().read(JsonSerializerTest.AASFULL_FILE);
+ assertEquals(AASFull.ENVIRONMENT, env);
}
@Test
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java
index 47f4edeb..433297ff 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java
+++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableDeserializerTest.java
@@ -15,14 +15,7 @@
*/
package io.adminshell.aas.v3.dataformat.json;
-import io.adminshell.aas.v3.dataformat.DeserializationException;
-import io.adminshell.aas.v3.dataformat.Deserializer;
-import io.adminshell.aas.v3.model.*;
-import io.adminshell.aas.v3.model.impl.DefaultProperty;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.IOException;
@@ -30,7 +23,17 @@
import java.util.Arrays;
import java.util.List;
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import io.adminshell.aas.v3.dataformat.DeserializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.model.AssetAdministrationShell;
+import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
+import io.adminshell.aas.v3.model.Submodel;
+import io.adminshell.aas.v3.model.SubmodelElement;
+import io.adminshell.aas.v3.model.SubmodelElementCollection;
public class JsonReferableDeserializerTest {
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java
index aca1509d..103e5650 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java
+++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonReferableSerializerTest.java
@@ -15,8 +15,12 @@
*/
package io.adminshell.aas.v3.dataformat.json;
-import io.adminshell.aas.v3.dataformat.SerializationException;
-import io.adminshell.aas.v3.model.*;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.Arrays;
+import java.util.List;
+
import org.json.JSONException;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
@@ -24,11 +28,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.Arrays;
-import java.util.List;
+import io.adminshell.aas.v3.dataformat.SerializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.model.AssetAdministrationShell;
+import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
+import io.adminshell.aas.v3.model.Referable;
+import io.adminshell.aas.v3.model.Submodel;
+import io.adminshell.aas.v3.model.SubmodelElement;
public class JsonReferableSerializerTest {
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java
index a3e5cec2..c562213f 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java
+++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/JsonSerializerTest.java
@@ -20,6 +20,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
import java.util.Set;
import org.json.JSONException;
@@ -34,11 +35,14 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import io.adminshell.aas.v3.dataformat.SerializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
-import java.nio.file.Files;
public class JsonSerializerTest {
+ public static final java.io.File AASSIMPLE_FILE = new java.io.File("src/test/resources/jsonExample.json");
+ public static final java.io.File AASFULL_FILE = new java.io.File("src/test/resources/test_demo_full_example.json");
private static final Logger logger = LoggerFactory.getLogger(JsonSerializerTest.class);
@@ -64,12 +68,12 @@ public void testSerializeEmpty() throws JsonProcessingException, IOException, Se
@Test
public void testSerializeSimpleExample() throws SerializationException, JSONException, IOException {
- validateAndCompare(AASSimple.FILE, AASSimple.ENVIRONMENT);
+ validateAndCompare(AASSIMPLE_FILE, AASSimple.ENVIRONMENT);
}
@Test
public void testSerializeFullExample() throws SerializationException, JSONException, IOException {
- validateAndCompare(AASFull.FILE, AASFull.ENVIRONMENT);
+ validateAndCompare(AASFULL_FILE, AASFull.ENVIRONMENT);
}
private void validateAndCompare(File expectedFile, AssetAdministrationShellEnvironment environment) throws IOException, SerializationException, JSONException {
diff --git a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java
index 128d3bcd..658b4cc6 100644
--- a/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java
+++ b/dataformat-json/src/test/java/io/adminshell/aas/v3/dataformat/json/ReflectionAnnotationIntrospectorTest.java
@@ -15,6 +15,17 @@
*/
package io.adminshell.aas.v3.dataformat.json;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
@@ -23,6 +34,11 @@
import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
import com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder;
import com.fasterxml.jackson.databind.jsontype.impl.TypeNameIdResolver;
+
+import io.adminshell.aas.v3.dataformat.core.CustomProperty;
+import io.adminshell.aas.v3.dataformat.core.CustomSubProperty;
+import io.adminshell.aas.v3.dataformat.core.CustomSubmodel;
+import io.adminshell.aas.v3.dataformat.core.CustomSubmodel2;
import io.adminshell.aas.v3.dataformat.json.mixins.ReferenceMixin;
import io.adminshell.aas.v3.model.ClassA;
import io.adminshell.aas.v3.model.ClassB;
@@ -33,17 +49,8 @@
import io.adminshell.aas.v3.model.Referable;
import io.adminshell.aas.v3.model.Submodel;
import io.adminshell.aas.v3.model.SubmodelElement;
-import java.util.List;
-import java.util.Map;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import org.junit.Before;
-import org.junit.Test;
import io.adminshell.aas.v3.model.TypedProperty;
import io.adminshell.aas.v3.model.TypedSubProperty;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import org.junit.Ignore;
//review AAS-134: some basic, rather simple tests would be helpful to understand/document the cases for which the introspector is build for
//also some javadoc could help
diff --git a/dataformat-xml/pom.xml b/dataformat-xml/pom.xml
index ee728550..5619dfec 100644
--- a/dataformat-xml/pom.xml
+++ b/dataformat-xml/pom.xml
@@ -23,6 +23,13 @@
dataformat-core
${revision}
+
+ io.admin-shell.aas
+ dataformat-core
+ ${revision}
+ tests
+ test
+
com.fasterxml.jackson.core
jackson-annotations
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASFull.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASFull.java
deleted file mode 100644
index 3e9680dc..00000000
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/AASFull.java
+++ /dev/null
@@ -1,1645 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.xml;
-
-import java.util.Base64;
-import java.util.List;
-
-import io.adminshell.aas.v3.model.AssetAdministrationShell;
-import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.AssetKind;
-import io.adminshell.aas.v3.model.ConceptDescription;
-import io.adminshell.aas.v3.model.DataTypeIEC61360;
-import io.adminshell.aas.v3.model.EntityType;
-import io.adminshell.aas.v3.model.IdentifierType;
-import io.adminshell.aas.v3.model.KeyElements;
-import io.adminshell.aas.v3.model.KeyType;
-import io.adminshell.aas.v3.model.LangString;
-import io.adminshell.aas.v3.model.LevelType;
-import io.adminshell.aas.v3.model.ModelingKind;
-import io.adminshell.aas.v3.model.Submodel;
-import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation;
-import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.impl.DefaultAssetInformation;
-import io.adminshell.aas.v3.model.impl.DefaultBasicEvent;
-import io.adminshell.aas.v3.model.impl.DefaultBlob;
-import io.adminshell.aas.v3.model.impl.DefaultCapability;
-import io.adminshell.aas.v3.model.impl.DefaultConceptDescription;
-import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360;
-import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification;
-import io.adminshell.aas.v3.model.impl.DefaultEntity;
-import io.adminshell.aas.v3.model.impl.DefaultFile;
-import io.adminshell.aas.v3.model.impl.DefaultIdentifier;
-import io.adminshell.aas.v3.model.impl.DefaultKey;
-import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty;
-import io.adminshell.aas.v3.model.impl.DefaultOperation;
-import io.adminshell.aas.v3.model.impl.DefaultOperationVariable;
-import io.adminshell.aas.v3.model.impl.DefaultProperty;
-import io.adminshell.aas.v3.model.impl.DefaultQualifier;
-import io.adminshell.aas.v3.model.impl.DefaultRange;
-import io.adminshell.aas.v3.model.impl.DefaultReference;
-import io.adminshell.aas.v3.model.impl.DefaultReferenceElement;
-import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
-import io.adminshell.aas.v3.model.impl.DefaultValueList;
-import io.adminshell.aas.v3.model.impl.DefaultValueReferencePair;
-import io.adminshell.aas.v3.model.impl.DefaultView;
-
-public class AASFull {
-
- public static final java.io.File FILE = new java.io.File("src/test/resources/test_demo_full_example.xml");
-
- public static final AssetAdministrationShell AAS_1 = new DefaultAssetAdministrationShell.Builder()
- .idShort("TestAssetAdministrationShell")
- .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .derivedFrom(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET_ADMINISTRATION_SHELL)
- .idType(KeyType.IRI)
- .value("https://acplt.org/TestAssetAdministrationShell2")
- .build())
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset")
- .build())
- .build())
- .billOfMaterial((new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .build()))
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://acplt.org/Submodels/Assets/TestAsset/Identification")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_2 = new DefaultAssetAdministrationShell.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell_Mandatory")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Mandatory")
- .build())
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Mandatory")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel2_Mandatory")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_3 = new DefaultAssetAdministrationShell.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell2_Mandatory")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Mandatory")
- .build())
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_4 = new DefaultAssetAdministrationShell.Builder()
- .idShort("TestAssetAdministrationShell")
- .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Missing")
- .build())
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Missing")
- .idType(KeyType.IRI)
- .build())
- .build())
- .view(new DefaultView.Builder()
- .idShort("ExampleView")
- .containedElement((new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Missing")
- .idType(KeyType.IRI)
- .build()))
- .build())
- .build())
- .view(new DefaultView.Builder()
- .idShort("ExampleView2")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_1 = new DefaultSubmodel.Builder()
- .idShort("Identification")
- .description(new LangString("An example asset identification submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/Submodels/Assets/TestAsset/Identification")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/AssetIdentification")
- .build())
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .idShort("ManufacturerName")
- .description(new LangString(
- "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.",
- "en-us"))
- .description(new LangString(
- "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist",
- "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#02-AAO677#002")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .value("100")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("int")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .value("50")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("int")
- .type("http://acplt.org/Qualifier/ExampleQualifier2")
- .build())
- .value("ACPLT")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .idShort("InstanceId")
- .description(new LangString(
- "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.",
- "en-us"))
- .description(new LangString(
- "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist",
- "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("978-8234-234-342")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_2 = new DefaultSubmodel.Builder()
- .idShort("BillOfMaterial")
- .description(new LangString("An example bill of material submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/BillOfMaterial")
- .build())
- .build())
- .submodelElement(new DefaultEntity.Builder()
- .idShort("ExampleEntity")
- .description(new LangString(
- "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.",
- "en-us"))
- .description(new LangString(
- "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist",
- "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .statement(new DefaultProperty.Builder()
- .idShort("ExampleProperty2")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue2")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .statement(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .entityType(EntityType.CO_MANAGED_ENTITY)
- .build())
- .submodelElement(new DefaultEntity.Builder()
- .idShort("ExampleEntity2")
- .description(new LangString(
- "Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.",
- "en-us"))
- .description(new LangString(
- "Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist",
- "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .entityType(EntityType.SELF_MANAGED_ENTITY)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset2")
- .build())
- .build())
- .build())
- .build();
-
- public static final Submodel SUBMODEL_3 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty2")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty2")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .annotation(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("ExampleProperty3")
- .category("Parameter")
- .value("some example annotation")
- .valueType("string")
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
- .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleMultiLanguageValueId")
- .build())
- .build())
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .valueType("int")
- .min("0")
- .max("100")
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .mimeType("application/pdf")
- .value(Base64.getDecoder().decode("AQIDBAU="))
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("/TestFile.pdf")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE).value(
- "http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_4 = new DefaultSubmodel.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Mandatory")
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .value(null)
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .valueType("int")
- .min(null)
- .max(null)
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .value(null)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .build())
- .ordered(false)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered2")
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_5 = new DefaultSubmodel.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel2_Mandatory")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_6 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0").build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .annotation(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("ExampleProperty")
- .category("Parameter")
- .value("some example annotation")
- .valueType("string")
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
- .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .valueType("int")
- .min("0")
- .max("100")
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .mimeType("application/pdf")
- .value(Base64.getDecoder().decode("AQIDBAU="))
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("/TestFile.pdf")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_7 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Template")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder().idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE).value(
- "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .valueType("int")
- .min(null)
- .max("100")
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange2")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .valueType("int")
- .min("0")
- .max(null)
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .ordered(false)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered2")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .ordered(false)
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_1 = new DefaultConceptDescription.Builder()
- .idShort("TestConceptDescription")
- .description(new LangString("An example concept description for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .isCaseOf(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription")
- .build())
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_2 = new DefaultConceptDescription.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription_Mandatory")
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_3 = new DefaultConceptDescription.Builder()
- .idShort("TestConceptDescription")
- .description(new LangString("An example concept description for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_4 = new DefaultConceptDescription.Builder()
- .idShort("TestSpec_01")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/DataSpecifciations/Example/Identification")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .isCaseOf(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ReferenceElements/ConceptDescriptionX")
- .build())
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("Test Specification", "de"))
- .preferredName(new LangString("TestSpecification", "en-us"))
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("Dies ist eine Data Specification für Testzwecke", "de"))
- .definition(new LangString("This is a DataSpecification for testing purposes", "en-us"))
- .shortName(new LangString("Test Spec", "de"))
- .shortName(new LangString("TestSpec", "en-us"))
- .unit("SpaceUnit")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/Units/SpaceUnit")
- .build())
- .build())
- .sourceOfDefinition("http://acplt.org/DataSpec/ExampleDef")
- .symbol("SU")
- .valueFormat("string")
- .value("TEST")
- .levelType(LevelType.MIN)
- .levelType(LevelType.MAX)
- .valueList(new DefaultValueList.Builder()
- .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- // TODO valueType
- .build())
- .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
- .value("exampleValue2")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId2")
- .build())
- .build())
- // TODO valueType
- .build())
- .build())
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(List.of(
- AAS_1,
- AAS_2,
- AAS_3,
- AAS_4))
- .submodels(List.of(
- SUBMODEL_1,
- SUBMODEL_2,
- SUBMODEL_3,
- SUBMODEL_4,
- SUBMODEL_5,
- SUBMODEL_6,
- SUBMODEL_7))
- .conceptDescriptions(List.of(
- CONCEPT_DESCRIPTION_1,
- CONCEPT_DESCRIPTION_2,
- CONCEPT_DESCRIPTION_3,
- CONCEPT_DESCRIPTION_4))
- .build();
-}
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java
index 1a8028ec..3e9291e7 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java
+++ b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XMLDeserializerTest.java
@@ -22,19 +22,21 @@
import org.junit.Test;
import io.adminshell.aas.v3.dataformat.DeserializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
public class XMLDeserializerTest {
@Test
public void deserializeAASSimple() throws Exception {
- AssetAdministrationShellEnvironment env = new XmlDeserializer().read(AASSimple.FILE);
+ AssetAdministrationShellEnvironment env = new XmlDeserializer().read(XmlSerializerTest.AASSIMPLE_FILE);
assertEquals(AASSimple.ENVIRONMENT, env);
}
@Test
public void deserializeAASFull() throws FileNotFoundException, DeserializationException {
- AssetAdministrationShellEnvironment env = new XmlDeserializer().read(AASFull.FILE);
+ AssetAdministrationShellEnvironment env = new XmlDeserializer().read(XmlSerializerTest.AASFULL_FILE);
assertEquals(AASFull.ENVIRONMENT, env);
}
}
diff --git a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java
index 5a846b0f..4e113fcc 100644
--- a/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java
+++ b/dataformat-xml/src/test/java/io/adminshell/aas/v3/dataformat/xml/XmlSerializerTest.java
@@ -37,10 +37,16 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import io.adminshell.aas.v3.dataformat.SerializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
public class XmlSerializerTest {
+ public static final java.io.File AASFULL_FILE = new java.io.File("src/test/resources/test_demo_full_example.xml");
+ public static final java.io.File AASSIMPLE_FILE = new java.io.File("src/test/resources/xmlExample.xml");
+ public static final java.io.File AASSIMPLE_FILE_WITH_TEST_NAMESPACE = new java.io.File("src/test/resources/xmlExampleWithModifiedPrefix.xml");
+
private static final Logger logger = LoggerFactory.getLogger(XmlSerializerTest.class);
@Rule
@@ -66,17 +72,17 @@ public void testSerializeSimpleWithTestNamespacePrefix() throws IOException, Ser
Map nsPrefixes = new HashMap<>(AasXmlNamespaceContext.PREFERRED_PREFIX_CONTEXT);
nsPrefixes.put("test", nsPrefixes.get("aas"));
nsPrefixes.remove("aas");
- validateXmlSerializer(AASSimple.FILE_WITH_TEST_NAMESPACE, AASSimple.ENVIRONMENT, new XmlSerializer(nsPrefixes));
+ validateXmlSerializer(AASSIMPLE_FILE_WITH_TEST_NAMESPACE, AASSimple.ENVIRONMENT, new XmlSerializer(nsPrefixes));
}
@Test
public void testSerializeSimple() throws IOException, SerializationException, SAXException {
- validateXmlSerializer(AASSimple.FILE, AASSimple.ENVIRONMENT);
+ validateXmlSerializer(AASSIMPLE_FILE, AASSimple.ENVIRONMENT);
}
@Test
public void testSerializeFull() throws IOException, SerializationException, SAXException {
- validateXmlSerializer(AASFull.FILE, AASFull.ENVIRONMENT);
+ validateXmlSerializer(AASFULL_FILE, AASFull.ENVIRONMENT);
}
private void validateXmlSerializer(File expectedFile, AssetAdministrationShellEnvironment environment)
From a83f389d9e9242ce62fad73f8a72dcd2cb026b46 Mon Sep 17 00:00:00 2001
From: Daespen <87071295+Daespen@users.noreply.github.com>
Date: Wed, 1 Sep 2021 14:03:45 +0200
Subject: [PATCH 5/5] Use common test classes in dataformat-uanodeset
- AASSimple in dataformat-core replaced with updated AASSimple from uanodeset
- uanodeset now uses AASSimple and AASFull from dataformat-core
- Adds assets to AASEnv in xml- and json- serializer
---
.../aas/v3/dataformat/core/AASSimple.java | 598 +++---
.../src/test/resources/jsonExample.json | 14 +-
dataformat-uanodeset/pom.xml | 7 +
.../aas/v3/dataformat/i4aas/AASFull.java | 1630 -----------------
.../aas/v3/dataformat/i4aas/AASSimple.java | 352 ----
.../v3/dataformat/i4aas/IntegrationTests.java | 1 +
.../v3/dataformat/i4aas/SerializerTest.java | 21 +-
.../i4aas/mappers/SubmodelMapperTest.java | 3 +-
...inistrationShellEnvironmentSerializer.java | 11 +
dataformat-xml/src/main/resources/AAS.xsd | 13 +-
.../src/test/resources/xmlExample.xml | 8 +-
.../xmlExampleWithModifiedPrefix.xml | 12 +-
12 files changed, 346 insertions(+), 2324 deletions(-)
delete mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASFull.java
delete mode 100644 dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASSimple.java
diff --git a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java
index 5e2d7678..27d4fe07 100644
--- a/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java
+++ b/dataformat-core/src/test/java/io/adminshell/aas/v3/dataformat/core/AASSimple.java
@@ -47,352 +47,286 @@
import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
public class AASSimple {
- //AAS
- public static final String AAS_ID = "ExampleMotor";
- public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
- //SUBMODEL_TECHNICAL_DATA
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = "MaxRotationSpeed";
- public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData";
- public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID = "0173-1#01-AFZ615#016";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY = "0173-1#02-BAA120#008";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY = "Parameter";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer";
+ private static final String DOCUMENT_DEF = "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.";
+ private static final String ISO15519_1_2010 = "[ISO15519-1:2010]";
+ private static final String DOKUMENT = "Dokument";
+ private static final String DOCUMENT = "Document";
+ private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document";
+ private static final String ACTUAL_ROTATIONSPEED_WITH_WHICH_THE_MOTOR_OR_FEEDINGUNIT_IS_OPERATED = "Actual rotationspeed with which the motor or feedingunit is operated";
+ private static final String AKTUELLE_DREHZAHL_MITWELCHER_DER_MOTOR_ODER_DIE_SPEISEINHEIT_BETRIEBEN_WIRD = "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird";
+ private static final String ACTUAL_ROTATION_SPEED = "ActualRotationSpeed";
+ private static final String ACTUALROTATIONSPEED = "Actualrotationspeed";
+ private static final String AKTUELLE_DREHZAHL = "AktuelleDrehzahl";
+ private static final String _1_MIN = "1/min";
+ private static final String HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895 = "http://customer.com/cd/1/1/18EBD56F6B43D895";
+ private static final String ROTATION_SPEED = "RotationSpeed";
+ private static final String MAX_ROTATE_DEF_EN = "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated";
+ private static final String MAX_ROTATE_DEF_DE = "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf";
+ private static final String _0173_1_05_AAA650_002 = "0173-1#05-AAA650#002";
+ private static final String MAX_ROTATIONSPEED = "Max.rotationspeed";
+ private static final String MAX_DREHZAHL = "max.Drehzahl";
+ private static final String _0173_1_02_BAA120_008 = "0173-1#02-BAA120#008";
+ private static final String PROPERTY = "PROPERTY";
+ private static final String MAX_ROTATION_SPEED = "MaxRotationSpeed";
+ private static final String DIGITAL_FILE_DEFINITION = "Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden.";
+ private static final String DIGITALE_DATEI = "DigitaleDatei";
+ private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile";
+ private static final String DIGITAL_FILE = "DigitalFile";
+ private static final String SPRACHABHÄNGIGER_TITELDES_DOKUMENTS = "SprachabhängigerTiteldesDokuments.";
+ private static final String TITEL = "Titel";
+ private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title";
+ private static final String TITLE = "Title";
+ private static final String SERVO_DC_MOTOR = "ServoDCMotor";
+ private static final String HTTPS_GITHUB_COM_ADMIN_SHELL_IO_BLOB_MASTER_VERWALTUNGSSCHALE_DETAIL_PART1_PNG = "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png";
+ private static final String IMAGE_PNG = "image/png";
+ private static final String THUMBNAIL = "thumbnail";
+ private static final String HTTP_CUSTOMER_COM_SYSTEMS_IO_T_1 = "http://customer.com/Systems/IoT/1";
+ private static final String QJ_YG_PGGJWKI_HK4_RR_QI_YS_LG = "QjYgPggjwkiHk4RrQiYSLg==";
+ private static final String DEVICE_ID = "DeviceID";
+ private static final String HTTP_CUSTOMER_COM_SYSTEMS_ERP_012 = "http://customer.com/Systems/ERP/012";
+ private static final String _538FD1B3_F99F_4A52_9C75_72E9FA921270 = "538fd1b3-f99f-4a52-9c75-72e9fa921270";
+ private static final String EQUIPMENT_ID = "EquipmentID";
+ private static final String HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY = "http://customer.com/assets/KHBVZJSQKIY";
+ // AAS
+ public static final String AAS_ID = "ExampleMotor";
+ public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
- //SUBMODEL_DOCUMENTATION
- private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation";
- private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT = "Title";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUE = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE = "langString";
- private static final String SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile";
- private static final String SUBMODEL_DOCUMENTATION_FILE_ID_SHORT = "DigitalFile_PDF";
- private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf";
- private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf";
+ // SUBMODEL_TECHNICAL_DATA
+ public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = MAX_ROTATION_SPEED;
+ public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData";
+ public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184";
+ public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID = "0173-1#01-AFZ615#016";
+ public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY = _0173_1_02_BAA120_008;
+ public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY = "Parameter";
+ public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000";
+ public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer";
- //SUBMODEL_OPERATIONAL_DATA
- private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData";
- private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935";
- private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = "http://customer.com/cd/1/1/18EBD56F6B43D895";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = "RotationSpeed";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "VARIABLE";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer";
+ // SUBMODEL_DOCUMENTATION
+ private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation";
+ private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152";
+ private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT;
+ private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT = "OperatingManual";
+ private static final String SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE;
+ private static final String SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT = TITLE;
+ private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUE = "OperatingManual";
+ private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE = "langString";
+ private static final String SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE;
+ private static final String SUBMODEL_DOCUMENTATION_FILE_ID_SHORT = "DigitalFile_PDF";
+ private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf";
+ private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf";
- public AASSimple() {
- }
+ // SUBMODEL_OPERATIONAL_DATA
+ private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData";
+ private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935";
+ private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895;
+ private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = ROTATION_SPEED;
+ private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "VARIABLE";
+ private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370";
+ private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer";
- public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder()
- .idShort(AAS_ID)
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier(AAS_IDENTIFIER)
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .value("http://customer.com/assets/KHBVZJSQKIY")
- .idType(KeyType.IRI)
- .build())
- .build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder()
- .key("EquipmentID")
- .value("538fd1b3-f99f-4a52-9c75-72e9fa921270")
- .externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://customer.com/Systems/ERP/012")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder()
- .key("DeviceID")
- .value("QjYgPggjwkiHk4RrQiYSLg==")
- .externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://customer.com/Systems/IoT/1")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build()
- )
- .defaultThumbnail(new DefaultFile.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("thumbnail")
- .mimeType("image/png")
- .value("https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png")
- .build())
- .build()
- )
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http.//i40.customer.com/type/1/1/7A7104BDAB57E184")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://i40.customer.com/instance/1/1/AC69B1CB44F07935")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://i40.customer.com/type/1/1/1A7B62B529F19152")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
+ public AASSimple() {
+ }
- public static final Asset ASSET = new DefaultAsset.Builder()
- .idShort("ServoDCMotor")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://customer.com/assets/KHBVZJSQKIY")
- .build())
- .build();
+ public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder().idShort(AAS_ID)
+ .identification(
+ new DefaultIdentifier.Builder().idType(IdentifierType.IRI).identifier(AAS_IDENTIFIER).build())
+ .assetInformation(new DefaultAssetInformation.Builder().assetKind(AssetKind.INSTANCE)
+ .globalAssetId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.ASSET)
+ .value(HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY).idType(KeyType.IRI).build()).build())
+ .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key(EQUIPMENT_ID)
+ .value(_538FD1B3_F99F_4A52_9C75_72E9FA921270)
+ .externalSubjectId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
+ .value(HTTP_CUSTOMER_COM_SYSTEMS_ERP_012).idType(KeyType.IRI).build())
+ .build())
+ .build())
+ .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key(DEVICE_ID)
+ .value(QJ_YG_PGGJWKI_HK4_RR_QI_YS_LG)
+ .externalSubjectId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
+ .value(HTTP_CUSTOMER_COM_SYSTEMS_IO_T_1).idType(KeyType.IRI).build())
+ .build())
+ .build())
+ .defaultThumbnail(new DefaultFile.Builder().kind(ModelingKind.INSTANCE).idShort(THUMBNAIL)
+ .mimeType(IMAGE_PNG)
+ .value(HTTPS_GITHUB_COM_ADMIN_SHELL_IO_BLOB_MASTER_VERWALTUNGSSCHALE_DETAIL_PART1_PNG)
+ .build())
+ .build())
+ .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
+ .value(SUBMODEL_TECHNICAL_DATA_ID).idType(KeyType.IRI).build()).build())
+ .submodel(
+ new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.SUBMODEL).value(SUBMODEL_OPERATIONAL_DATA_ID)
+ .idType(KeyType.IRI).build())
+ .build())
+ .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
+ .value(SUBMODEL_DOCUMENTATION_ID).idType(KeyType.IRI).build()).build())
+ .build();
- public static final Submodel SUBMODEL_TECHNICAL_DATA = new DefaultSubmodel.Builder()
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID)
- .idType(KeyType.IRDI)
- .build())
- .build())
- .kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder()
- .identifier(SUBMODEL_TECHNICAL_DATA_ID)
- .idType(IdentifierType.IRI)
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY)
- .idType(KeyType.IRDI)
- .build())
- .build())
- .idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY)
- .value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE)
- .build())
- .build();
+ public static final Asset ASSET = new DefaultAsset.Builder().idShort(SERVO_DC_MOTOR)
+ .identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI)
+ .identifier(HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY).build())
+ .build();
- public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder()
- .identifier(SUBMODEL_OPERATIONAL_DATA_ID)
- .idType(IdentifierType.IRI)
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY)
- .value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE)
- .build())
- .build();
+ public static final Submodel SUBMODEL_TECHNICAL_DATA = new DefaultSubmodel.Builder()
+ .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
+ .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID).idType(KeyType.IRDI).build()).build())
+ .kind(ModelingKind.INSTANCE).idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT)
+ .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_TECHNICAL_DATA_ID)
+ .idType(IdentifierType.IRI).build())
+ .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRDI).build())
+ .build())
+ .idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT)
+ .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY).value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE)
+ .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE).build())
+ .build();
- public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_DOCUMENTATION_ID_SHORT)
- .identification(new DefaultIdentifier.Builder()
- .identifier(SUBMODEL_DOCUMENTATION_ID)
- .idType(IdentifierType.IRI)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT)
- .value(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE)
- .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE)
- .build())
- .value(new DefaultFile.Builder()
- .kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID)
- .idType(KeyType.IRI)
- .build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT)
- .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE)
- .value(SUBMODEL_DOCUMENTATION_FILE_VALUE)
- .build())
- .ordered(false)
- .allowDuplicates(false)
- .build())
- .build();
+ public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE)
+ .idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT)
+ .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_OPERATIONAL_DATA_ID)
+ .idType(IdentifierType.IRI).build())
+ .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRI).build())
+ .build())
+ .idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT)
+ .category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY)
+ .value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE)
+ .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE).build())
+ .build();
- public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = new DefaultConceptDescription.Builder()
- .idShort("Title")
- .identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("Title", "EN"))
- .preferredName(new LangString("Titel", "DE"))
- .shortName(new LangString("Title", "EN"))
- .shortName(new LangString("Titel", "DE"))
- .unit("")
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.STRING_TRANSLATABLE)
- .definition(new LangString("SprachabhängigerTiteldesDokuments.", "DE"))
- .build())
- .build())
- .build();
+ public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE)
+ .idShort(SUBMODEL_DOCUMENTATION_ID_SHORT)
+ .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_DOCUMENTATION_ID)
+ .idType(IdentifierType.IRI).build())
+ .submodelElement(new DefaultSubmodelElementCollection.Builder().kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID).idType(KeyType.IRI).build())
+ .build())
+ .idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT)
+ .value(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder()
+ .type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID).idType(KeyType.IRI).build())
+ .build())
+ .idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT)
+ .value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE)
+ .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE).build())
+ .value(new DefaultFile.Builder().kind(ModelingKind.INSTANCE)
+ .semanticId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
+ .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID).idType(KeyType.IRI).build())
+ .build())
+ .idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT)
+ .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE).value(SUBMODEL_DOCUMENTATION_FILE_VALUE)
+ .build())
+ .ordered(false).allowDuplicates(false).build())
+ .build();
- public static final ConceptDescription CONCEPT_DESCRIPTION_DIGITALFILE = new DefaultConceptDescription.Builder()
- .idShort("DigitalFile")
- .identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("DigitalFile", "EN"))
- .preferredName(new LangString("DigitaleDatei", "DE"))
- .shortName(new LangString("DigitalFile", "EN"))
- .shortName(new LangString("DigitaleDatei", "DE"))
- .unit("")
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.STRING)
- .definition(new LangString("Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden.", "DE"))
- .build())
- .build())
- .build();
+ public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = new DefaultConceptDescription.Builder()
+ .idShort(TITLE)
+ .identification(new DefaultIdentifier.Builder()
+ .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE).idType(IdentifierType.IRI)
+ .build())
+ .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString(TITLE, "EN")).preferredName(new LangString(TITEL, "DE"))
+ .shortName(new LangString(TITLE, "EN")).shortName(new LangString(TITEL, "DE")).unit("")
+ .sourceOfDefinition("").dataType(DataTypeIEC61360.STRING_TRANSLATABLE)
+ .definition(new LangString(SPRACHABHÄNGIGER_TITELDES_DOKUMENTS, "DE")).build())
+ .build())
+ .build();
- public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort("MaxRotationSpeed")
- .category("PROPERTY")
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("")
- .revision("2")
- .build())
- .identification(new DefaultIdentifier.Builder()
- .identifier("0173-1#02-BAA120#008")
- .idType(IdentifierType.IRDI)
- .build())
- .embeddedDataSpecifications(Arrays.asList(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("max.Drehzahl", "de"))
- .preferredName(new LangString("Max.rotationspeed", "en"))
- .unit("1/min")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#05-AAA650#002")
- .idType(KeyType.IRDI)
- .build())
- .build())
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf", "de"))
- .definition(new LangString("Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated", "en"))
- .build())
- .build()))
- .build();
+ public static final ConceptDescription CONCEPT_DESCRIPTION_DIGITALFILE = new DefaultConceptDescription.Builder()
+ .idShort(DIGITAL_FILE)
+ .identification(new DefaultIdentifier.Builder()
+ .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE)
+ .idType(IdentifierType.IRI).build())
+ .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(
+ new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString(DIGITAL_FILE, "EN"))
+ .preferredName(new LangString(DIGITALE_DATEI, "DE"))
+ .shortName(new LangString(DIGITAL_FILE, "EN"))
+ .shortName(new LangString(DIGITALE_DATEI, "DE")).unit("").sourceOfDefinition("")
+ .dataType(DataTypeIEC61360.STRING).definition(new LangString(DIGITAL_FILE_DEFINITION, "DE"))
+ .build())
+ .build())
+ .build();
- public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort("RotationSpeed")
- .category("PROPERTY")
- .identification(new DefaultIdentifier.Builder()
- .identifier("http://customer.com/cd/1/1/18EBD56F6B43D895")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("AktuelleDrehzahl", "DE"))
- .preferredName(new LangString("Actualrotationspeed", "EN"))
- .shortName(new LangString("AktuelleDrehzahl", "DE"))
- .shortName(new LangString("ActualRotationSpeed", "EN"))
- .unit("1/min")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#05-AAA650#002")
- .idType(KeyType.IRDI)
- .build())
- .build())
- .sourceOfDefinition("")
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird", "DE"))
- .definition(new LangString("Actual rotationspeed with which the motor or feedingunit is operated", "EN"))
- .build())
- .build())
- .build();
+ public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = new DefaultConceptDescription.Builder()
+ .idShort(MAX_ROTATION_SPEED).category(PROPERTY)
+ .administration(new DefaultAdministrativeInformation.Builder().version("").revision("2").build())
+ .identification(new DefaultIdentifier.Builder().identifier(_0173_1_02_BAA120_008)
+ .idType(IdentifierType.IRDI).build())
+ .embeddedDataSpecifications(
+ Arrays.asList(
+ new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString(MAX_DREHZAHL, "de"))
+ .preferredName(new LangString(MAX_ROTATIONSPEED, "en")).unit(_1_MIN)
+ .unitId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
+ .value(_0173_1_05_AAA650_002).idType(KeyType.IRDI).build())
+ .build())
+ .sourceOfDefinition("").dataType(DataTypeIEC61360.REAL_MEASURE)
+ .definition(new LangString(MAX_ROTATE_DEF_DE, "de"))
+ .definition(new LangString(MAX_ROTATE_DEF_EN, "en")).build())
+ .build()))
+ .build();
- public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = new DefaultConceptDescription.Builder()
- .idShort("Document")
- .identification(new DefaultIdentifier.Builder()
- .identifier("www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document")
- .idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .shortName(new LangString("Document", "EN"))
- .shortName(new LangString("Dokument", "DE"))
- .unit("")
- .sourceOfDefinition("[ISO15519-1:2010]")
- .dataType(DataTypeIEC61360.STRING)
- .definition(new LangString("Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.", "DE"))
- .build())
- .build())
- .build();
+ public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = new DefaultConceptDescription.Builder()
+ .idShort(ROTATION_SPEED).category(PROPERTY)
+ .identification(new DefaultIdentifier.Builder().identifier(HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895)
+ .idType(IdentifierType.IRI).build())
+ .embeddedDataSpecification(
+ new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(
+ new DefaultDataSpecificationIEC61360.Builder()
+ .preferredName(new LangString(AKTUELLE_DREHZAHL, "DE"))
+ .preferredName(new LangString(ACTUALROTATIONSPEED, "EN"))
+ .shortName(new LangString(AKTUELLE_DREHZAHL, "DE"))
+ .shortName(new LangString(ACTUAL_ROTATION_SPEED, "EN")).unit(_1_MIN)
+ .unitId(new DefaultReference.Builder()
+ .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
+ .value(_0173_1_05_AAA650_002).idType(KeyType.IRDI).build())
+ .build())
+ .sourceOfDefinition("").dataType(DataTypeIEC61360.REAL_MEASURE)
+ .definition(new LangString(
+ AKTUELLE_DREHZAHL_MITWELCHER_DER_MOTOR_ODER_DIE_SPEISEINHEIT_BETRIEBEN_WIRD,
+ "DE"))
+ .definition(new LangString(
+ ACTUAL_ROTATIONSPEED_WITH_WHICH_THE_MOTOR_OR_FEEDINGUNIT_IS_OPERATED,
+ "EN"))
+ .build())
+ .build())
+ .build();
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(AAS)
- .submodels(SUBMODEL_TECHNICAL_DATA)
- .submodels(SUBMODEL_DOCUMENTATION)
- .submodels(SUBMODEL_OPERATIONAL_DATA)
- .conceptDescriptions(CONCEPT_DESCRIPTION_TITLE)
- .conceptDescriptions(CONCEPT_DESCRIPTION_DIGITALFILE)
- .conceptDescriptions(CONCEPT_DESCRIPTION_MAXROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT)
- .build();
+ public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = new DefaultConceptDescription.Builder()
+ .idShort(DOCUMENT)
+ .identification(new DefaultIdentifier.Builder().identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT)
+ .idType(IdentifierType.IRI).build())
+ .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
+ .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
+ .shortName(new LangString(DOCUMENT, "EN")).shortName(new LangString(DOKUMENT, "DE"))
+ .unit("").sourceOfDefinition(ISO15519_1_2010).dataType(DataTypeIEC61360.STRING)
+ .definition(new LangString(
+ DOCUMENT_DEF,
+ "DE"))
+ .build())
+ .build())
+ .build();
+ public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
+ .assetAdministrationShells(AAS).submodels(SUBMODEL_TECHNICAL_DATA).submodels(SUBMODEL_DOCUMENTATION)
+ .submodels(SUBMODEL_OPERATIONAL_DATA).conceptDescriptions(CONCEPT_DESCRIPTION_TITLE)
+ .conceptDescriptions(CONCEPT_DESCRIPTION_DIGITALFILE)
+ .conceptDescriptions(CONCEPT_DESCRIPTION_MAXROTATIONSPEED)
+ .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED).conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT)
+ .assets(ASSET)
+ .build();
}
diff --git a/dataformat-json/src/test/resources/jsonExample.json b/dataformat-json/src/test/resources/jsonExample.json
index a42fd26b..5a4a7d47 100644
--- a/dataformat-json/src/test/resources/jsonExample.json
+++ b/dataformat-json/src/test/resources/jsonExample.json
@@ -63,7 +63,7 @@
"keys": [
{
"type": "Submodel",
- "value": "http.//i40.customer.com/type/1/1/7A7104BDAB57E184",
+ "value": "http://i40.customer.com/type/1/1/7A7104BDAB57E184",
"idType": "Iri"
}
]
@@ -89,6 +89,18 @@
]
}
],
+ "assets": [
+ {
+ "modelType": {
+ "name": "Asset"
+ },
+ "idShort": "ServoDCMotor",
+ "identification": {
+ "idType": "Iri",
+ "id": "http://customer.com/assets/KHBVZJSQKIY"
+ }
+ }
+ ],
"submodels": [
{
"modelType": {
diff --git a/dataformat-uanodeset/pom.xml b/dataformat-uanodeset/pom.xml
index 8b3ad46a..8f0cc17e 100644
--- a/dataformat-uanodeset/pom.xml
+++ b/dataformat-uanodeset/pom.xml
@@ -26,6 +26,13 @@
dataformat-core
${revision}
+
+ io.admin-shell.aas
+ dataformat-core
+ ${revision}
+ tests
+ test
+
org.slf4j
slf4j-api
diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASFull.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASFull.java
deleted file mode 100644
index bfad04ea..00000000
--- a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASFull.java
+++ /dev/null
@@ -1,1630 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.i4aas;
-
-import java.util.Base64;
-import java.util.List;
-
-import io.adminshell.aas.v3.model.AssetAdministrationShell;
-import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.AssetKind;
-import io.adminshell.aas.v3.model.ConceptDescription;
-import io.adminshell.aas.v3.model.DataTypeIEC61360;
-import io.adminshell.aas.v3.model.EntityType;
-import io.adminshell.aas.v3.model.IdentifierType;
-import io.adminshell.aas.v3.model.KeyElements;
-import io.adminshell.aas.v3.model.KeyType;
-import io.adminshell.aas.v3.model.LangString;
-import io.adminshell.aas.v3.model.LevelType;
-import io.adminshell.aas.v3.model.ModelingKind;
-import io.adminshell.aas.v3.model.Submodel;
-import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation;
-import io.adminshell.aas.v3.model.impl.DefaultAnnotatedRelationshipElement;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.impl.DefaultAssetInformation;
-import io.adminshell.aas.v3.model.impl.DefaultBasicEvent;
-import io.adminshell.aas.v3.model.impl.DefaultBlob;
-import io.adminshell.aas.v3.model.impl.DefaultCapability;
-import io.adminshell.aas.v3.model.impl.DefaultConceptDescription;
-import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360;
-import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification;
-import io.adminshell.aas.v3.model.impl.DefaultEntity;
-import io.adminshell.aas.v3.model.impl.DefaultFile;
-import io.adminshell.aas.v3.model.impl.DefaultIdentifier;
-import io.adminshell.aas.v3.model.impl.DefaultKey;
-import io.adminshell.aas.v3.model.impl.DefaultMultiLanguageProperty;
-import io.adminshell.aas.v3.model.impl.DefaultOperation;
-import io.adminshell.aas.v3.model.impl.DefaultOperationVariable;
-import io.adminshell.aas.v3.model.impl.DefaultProperty;
-import io.adminshell.aas.v3.model.impl.DefaultQualifier;
-import io.adminshell.aas.v3.model.impl.DefaultRange;
-import io.adminshell.aas.v3.model.impl.DefaultReference;
-import io.adminshell.aas.v3.model.impl.DefaultReferenceElement;
-import io.adminshell.aas.v3.model.impl.DefaultRelationshipElement;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
-import io.adminshell.aas.v3.model.impl.DefaultValueList;
-import io.adminshell.aas.v3.model.impl.DefaultValueReferencePair;
-import io.adminshell.aas.v3.model.impl.DefaultView;
-
-public class AASFull {
-
- public static final java.io.File FILE = new java.io.File("src/test/resources/test_demo_full_example.json");
-
- public static final AssetAdministrationShell AAS_1 = new DefaultAssetAdministrationShell.Builder()
- .idShort("TestAssetAdministrationShell")
- .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .derivedFrom(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET_ADMINISTRATION_SHELL)
- .idType(KeyType.IRI)
- .value("https://acplt.org/TestAssetAdministrationShell2")
- .build())
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset")
- .build())
- .build())
- .billOfMaterial((new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .build()))
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("http://acplt.org/Submodels/Assets/TestAsset/Identification")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_2 = new DefaultAssetAdministrationShell.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell_Mandatory")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Mandatory")
- .build())
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Mandatory")
- .idType(KeyType.IRI)
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel2_Mandatory")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_3 = new DefaultAssetAdministrationShell.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell2_Mandatory")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Mandatory")
- .build())
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShell AAS_4 = new DefaultAssetAdministrationShell.Builder()
- .idShort("TestAssetAdministrationShell")
- .description(new LangString("An Example Asset Administration Shell for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Verwaltungsschale für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_AssetAdministrationShell_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .assetInformation(new DefaultAssetInformation.Builder()
- .assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset_Missing")
- .build())
- .build())
- .build())
- .submodel(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Missing")
- .idType(KeyType.IRI)
- .build())
- .build())
- .view(new DefaultView.Builder()
- .idShort("ExampleView")
- .containedElement((new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .value("https://acplt.org/Test_Submodel_Missing")
- .idType(KeyType.IRI)
- .build()))
- .build())
- .build())
- .view(new DefaultView.Builder()
- .idShort("ExampleView2")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_1 = new DefaultSubmodel.Builder()
- .idShort("Identification")
- .description(new LangString("An example asset identification submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Identifikations-Submodel für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/Submodels/Assets/TestAsset/Identification")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/AssetIdentification")
- .build())
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .idShort("ManufacturerName")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("0173-1#02-AAO677#002")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .value("100")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("int")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .value("50")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("int")
- .type("http://acplt.org/Qualifier/ExampleQualifier2")
- .build())
- .value("ACPLT")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .submodelElement(new DefaultProperty.Builder()
- .idShort("InstanceId")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("978-8234-234-342")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_2 = new DefaultSubmodel.Builder()
- .idShort("BillOfMaterial")
- .description(new LangString("An example bill of material submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-BillofMaterial-Submodel für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/Submodels/Assets/TestAsset/BillOfMaterial")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.SUBMODEL)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/BillOfMaterial")
- .build())
- .build())
- .submodelElement(new DefaultEntity.Builder()
- .idShort("ExampleEntity")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .statement(new DefaultProperty.Builder()
- .idShort("ExampleProperty2")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue2")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .statement(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .entityType(EntityType.CO_MANAGED_ENTITY)
- .build())
- .submodelElement(new DefaultEntity.Builder()
- .idShort("ExampleEntity2")
- .description(new LangString("Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation.", "en-us"))
- .description(new LangString("Bezeichnung für eine natürliche oder juristische Person, die für die Auslegung, Herstellung und Verpackung sowie die Etikettierung eines Produkts im Hinblick auf das 'Inverkehrbringen' im eigenen Namen verantwortlich ist", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://opcfoundation.org/UA/DI/1.1/DeviceType/Serialnumber")
- .idType(KeyType.IRI)
- .build())
- .build())
- .entityType(EntityType.SELF_MANAGED_ENTITY)
- .globalAssetId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.ASSET)
- .idType(KeyType.IRI)
- .value("https://acplt.org/Test_Asset2")
- .build())
- .build())
- .build())
- .build();
-
- public static final Submodel SUBMODEL_3 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty2")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty2")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .annotation(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("ExampleProperty3")
- .category("Parameter")
- .value("some example annotation")
- .valueType("string")
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
- .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleMultiLanguageValueId")
- .build())
- .build())
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .valueType("int")
- .min("0")
- .max("100")
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .mimeType("application/pdf")
- .value(Base64.getDecoder().decode("AQIDBAU="))
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("/TestFile.pdf")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE).value(
- "http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_4 = new DefaultSubmodel.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Mandatory")
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .value(null)
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .valueType("int")
- .min(null)
- .max(null)
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .value(null)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .build())
- .ordered(false)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered2")
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_5 = new DefaultSubmodel.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel2_Mandatory")
- .build())
- .build();
-
- public static final Submodel SUBMODEL_6 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0").build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder()
- .idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .annotation(new DefaultProperty.Builder()
- .kind(ModelingKind.INSTANCE)
- .idShort("ExampleProperty")
- .category("Parameter")
- .value("some example annotation")
- .valueType("string")
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .qualifier(new DefaultQualifier.Builder()
- .valueType("string")
- .type("http://acplt.org/Qualifier/ExampleQualifier")
- .build())
- .value("exampleValue")
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new LangString("Example value of a MultiLanguageProperty element", "en-us"))
- .value(new LangString("Beispielswert für ein MulitLanguageProperty-Element", "de"))
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .valueType("int")
- .min("0")
- .max("100")
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .mimeType("application/pdf")
- .value(Base64.getDecoder().decode("AQIDBAU="))
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value("/TestFile.pdf")
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .value(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .ordered(false)
- .build())
- .build();
-
- public static final Submodel SUBMODEL_7 = new DefaultSubmodel.Builder()
- .idShort("TestSubmodel")
- .description(new LangString("An example submodel for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-Teilmodell für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_Submodel_Template")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/SubmodelTemplates/ExampleSubmodel")
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .submodelElement(new DefaultRelationshipElement.Builder()
- .idShort("ExampleRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example RelationshipElement object", "en-us"))
- .description(new LangString("Beispiel RelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultAnnotatedRelationshipElement.Builder().idShort("ExampleAnnotatedRelationshipElement")
- .category("Parameter")
- .description(new LangString("Example AnnotatedRelationshipElement object", "en-us"))
- .description(new LangString("Beispiel AnnotatedRelationshipElement Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/RelationshipElements/ExampleAnnotatedRelationshipElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .first(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .second(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .value("ExampleProperty")
- .idType(KeyType.ID_SHORT)
- .build())
- .build())
- .build())
- .submodelElement(new DefaultOperation.Builder()
- .idShort("ExampleOperation")
- .category("Parameter")
- .description(new LangString("Example Operation object", "en-us"))
- .description(new LangString("Beispiel Operation Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Operations/ExampleOperation")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .inputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .outputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .inoutputVariable(new DefaultOperationVariable.Builder()
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultCapability.Builder()
- .idShort("ExampleCapability")
- .category("Parameter")
- .description(new LangString("Example Capability object", "en-us"))
- .description(new LangString("Beispiel Capability Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Capabilities/ExampleCapability")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .submodelElement(new DefaultBasicEvent.Builder()
- .idShort("ExampleBasicEvent")
- .category("Parameter")
- .description(new LangString("Example BasicEvent object", "en-us"))
- .description(new LangString("Beispiel BasicEvent Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Events/ExampleBasicEvent")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .observed(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.PROPERTY)
- .idType(KeyType.ID_SHORT)
- .value("ExampleProperty")
- .build())
- .build())
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionOrdered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionOrdered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionOrdered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionOrdered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(new DefaultProperty.Builder()
- .idShort("ExampleProperty")
- .category("Constant")
- .description(new LangString("Example Property object", "en-us"))
- .description(new LangString("Beispiel Property Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Properties/ExampleProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .valueType("string")
- .build())
- .value(new DefaultMultiLanguageProperty.Builder()
- .idShort("ExampleMultiLanguageProperty")
- .category("Constant")
- .description(new LangString("Example MultiLanguageProperty object", "en-us"))
- .description(new LangString("Beispiel MulitLanguageProperty Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE).value(
- "http://acplt.org/MultiLanguageProperties/ExampleMultiLanguageProperty")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .valueType("int")
- .min(null)
- .max("100")
- .build())
- .value(new DefaultRange.Builder()
- .idShort("ExampleRange2")
- .category("Parameter")
- .description(new LangString("Example Range object", "en-us"))
- .description(new LangString("Beispiel Range Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Ranges/ExampleRange")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .valueType("int")
- .min("0")
- .max(null)
- .build())
- .ordered(true)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(new DefaultBlob.Builder()
- .idShort("ExampleBlob")
- .category("Parameter")
- .description(new LangString("Example Blob object", "en-us"))
- .description(new LangString("Beispiel Blob Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Blobs/ExampleBlob")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultFile.Builder()
- .idShort("ExampleFile")
- .category("Parameter")
- .description(new LangString("Example File object", "en-us"))
- .description(new LangString("Beispiel File Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/Files/ExampleFile")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .value(null)
- .mimeType("application/pdf")
- .build())
- .value(new DefaultReferenceElement.Builder()
- .idShort("ExampleReferenceElement")
- .category("Parameter")
- .description(new LangString("Example Reference Element object", "en-us"))
- .description(new LangString("Beispiel Reference Element Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/ReferenceElements/ExampleReferenceElement")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .build())
- .ordered(false)
- .build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder()
- .idShort("ExampleSubmodelCollectionUnordered2")
- .category("Parameter")
- .description(new LangString("Example SubmodelElementCollectionUnordered object", "en-us"))
- .description(new LangString("Beispiel SubmodelElementCollectionUnordered Element", "de"))
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .value("http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollectionUnordered")
- .idType(KeyType.IRI)
- .build())
- .build())
- .kind(ModelingKind.TEMPLATE)
- .ordered(false)
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_1 = new DefaultConceptDescription.Builder()
- .idShort("TestConceptDescription")
- .description(new LangString("An example concept description for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .isCaseOf(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/DataSpecifications/ConceptDescriptions/TestConceptDescription")
- .build())
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_2 = new DefaultConceptDescription.Builder()
- .idShort("")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription_Mandatory")
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_3 = new DefaultConceptDescription.Builder()
- .idShort("TestConceptDescription")
- .description(new LangString("An example concept description for the test application", "en-us"))
- .description(new LangString("Ein Beispiel-ConceptDescription für eine Test-Anwendung", "de"))
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("https://acplt.org/Test_ConceptDescription_Missing")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .build();
-
- public final static ConceptDescription CONCEPT_DESCRIPTION_4 = new DefaultConceptDescription.Builder()
- .idShort("TestSpec_01")
- .identification(new DefaultIdentifier.Builder()
- .idType(IdentifierType.IRI)
- .identifier("http://acplt.org/DataSpecifciations/Example/Identification")
- .build())
- .administration(new DefaultAdministrativeInformation.Builder()
- .version("0.9")
- .revision("0")
- .build())
- .isCaseOf(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ReferenceElements/ConceptDescriptionX")
- .build())
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString("Test Specification", "de"))
- .preferredName(new LangString("TestSpecification", "en-us"))
- .dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString("Dies ist eine Data Specification für Testzwecke", "de"))
- .definition(new LangString("This is a DataSpecification for testing purposes", "en-us"))
- .shortName(new LangString("Test Spec", "de"))
- .shortName(new LangString("TestSpec", "en-us"))
- .unit("SpaceUnit")
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/Units/SpaceUnit")
- .build())
- .build())
- .sourceOfDefinition("http://acplt.org/DataSpec/ExampleDef")
- .symbol("SU")
- .valueFormat("string")
- .value("TEST")
- .levelType(LevelType.MIN)
- .levelType(LevelType.MAX)
- .valueList(new DefaultValueList.Builder()
- .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
- .value("exampleValue")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId")
- .build())
- .build())
- // TODO valueType
- .build())
- .valueReferencePairTypes(new DefaultValueReferencePair.Builder()
- .value("exampleValue2")
- .valueId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder()
- .type(KeyElements.GLOBAL_REFERENCE)
- .idType(KeyType.IRI)
- .value("http://acplt.org/ValueId/ExampleValueId2")
- .build())
- .build())
- // TODO valueType
- .build())
- .build())
- .build())
- .build()
- )
- .build();
-
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(List.of(
- AAS_1,
- AAS_2,
- AAS_3,
- AAS_4))
- .submodels(List.of(
- SUBMODEL_1,
- SUBMODEL_2,
- SUBMODEL_3,
- SUBMODEL_4,
- SUBMODEL_5,
- SUBMODEL_6,
- SUBMODEL_7))
- .conceptDescriptions(List.of(
- CONCEPT_DESCRIPTION_1,
- CONCEPT_DESCRIPTION_2,
- CONCEPT_DESCRIPTION_3,
- CONCEPT_DESCRIPTION_4))
- .build();
-}
diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASSimple.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASSimple.java
deleted file mode 100644
index dcc766b2..00000000
--- a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/AASSimple.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright (c) 2021 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e. V.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.adminshell.aas.v3.dataformat.i4aas;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import io.adminshell.aas.v3.model.Asset;
-import io.adminshell.aas.v3.model.AssetAdministrationShell;
-import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.AssetKind;
-import io.adminshell.aas.v3.model.ConceptDescription;
-import io.adminshell.aas.v3.model.DataTypeIEC61360;
-import io.adminshell.aas.v3.model.IdentifierType;
-import io.adminshell.aas.v3.model.KeyElements;
-import io.adminshell.aas.v3.model.KeyType;
-import io.adminshell.aas.v3.model.LangString;
-import io.adminshell.aas.v3.model.ModelingKind;
-import io.adminshell.aas.v3.model.Submodel;
-import io.adminshell.aas.v3.model.impl.DefaultAdministrativeInformation;
-import io.adminshell.aas.v3.model.impl.DefaultAsset;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell;
-import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
-import io.adminshell.aas.v3.model.impl.DefaultAssetInformation;
-import io.adminshell.aas.v3.model.impl.DefaultConceptDescription;
-import io.adminshell.aas.v3.model.impl.DefaultDataSpecificationIEC61360;
-import io.adminshell.aas.v3.model.impl.DefaultEmbeddedDataSpecification;
-import io.adminshell.aas.v3.model.impl.DefaultFile;
-import io.adminshell.aas.v3.model.impl.DefaultIdentifier;
-import io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair;
-import io.adminshell.aas.v3.model.impl.DefaultKey;
-import io.adminshell.aas.v3.model.impl.DefaultProperty;
-import io.adminshell.aas.v3.model.impl.DefaultReference;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodel;
-import io.adminshell.aas.v3.model.impl.DefaultSubmodelElementCollection;
-
-public class AASSimple {
-
- private static final String DOCUMENT_DEF = "Feste und geordnete Menge von für die Verwendung durch Personen bestimmte Informationen, die verwaltet und als Einheit zwischen Benutzern und System ausgetauscht werden kann.";
- private static final String ISO15519_1_2010 = "[ISO15519-1:2010]";
- private static final String DOKUMENT = "Dokument";
- private static final String DOCUMENT = "Document";
- private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Document";
- private static final String ACTUAL_ROTATIONSPEED_WITH_WHICH_THE_MOTOR_OR_FEEDINGUNIT_IS_OPERATED = "Actual rotationspeed with which the motor or feedingunit is operated";
- private static final String AKTUELLE_DREHZAHL_MITWELCHER_DER_MOTOR_ODER_DIE_SPEISEINHEIT_BETRIEBEN_WIRD = "Aktuelle Drehzahl, mitwelcher der Motor oder die Speiseinheit betrieben wird";
- private static final String ACTUAL_ROTATION_SPEED = "ActualRotationSpeed";
- private static final String ACTUALROTATIONSPEED = "Actualrotationspeed";
- private static final String AKTUELLE_DREHZAHL = "AktuelleDrehzahl";
- private static final String _1_MIN = "1/min";
- private static final String HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895 = "http://customer.com/cd/1/1/18EBD56F6B43D895";
- private static final String ROTATION_SPEED = "RotationSpeed";
- private static final String MAX_ROTATE_DEF_EN = "Greatestpermissiblerotationspeedwithwhichthemotororfeedingunitmaybeoperated";
- private static final String MAX_ROTATE_DEF_DE = "HöchstezulässigeDrehzahl,mitwelcherderMotoroderdieSpeiseinheitbetriebenwerdendarf";
- private static final String _0173_1_05_AAA650_002 = "0173-1#05-AAA650#002";
- private static final String MAX_ROTATIONSPEED = "Max.rotationspeed";
- private static final String MAX_DREHZAHL = "max.Drehzahl";
- private static final String _0173_1_02_BAA120_008 = "0173-1#02-BAA120#008";
- private static final String PROPERTY = "PROPERTY";
- private static final String MAX_ROTATION_SPEED = "MaxRotationSpeed";
- private static final String DIGITAL_FILE_DEFINITION = "Eine Datei, die die Document Version repräsentiert. Neben der obligatorischen PDF Datei können weitere Dateien angegeben werden.";
- private static final String DIGITALE_DATEI = "DigitaleDatei";
- private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/StoredDocumentRepresentation/DigitalFile";
- private static final String DIGITAL_FILE = "DigitalFile";
- private static final String SPRACHABHÄNGIGER_TITELDES_DOKUMENTS = "SprachabhängigerTiteldesDokuments.";
- private static final String TITEL = "Titel";
- private static final String WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE = "www.vdi2770.com/blatt1/Entwurf/Okt18/cd/Description/Title";
- private static final String TITLE = "Title";
- private static final String SERVO_DC_MOTOR = "ServoDCMotor";
- private static final String HTTPS_GITHUB_COM_ADMIN_SHELL_IO_BLOB_MASTER_VERWALTUNGSSCHALE_DETAIL_PART1_PNG = "https://github.com/admin-shell/io/blob/master/verwaltungsschale-detail-part1.png";
- private static final String IMAGE_PNG = "image/png";
- private static final String THUMBNAIL = "thumbnail";
- private static final String HTTP_CUSTOMER_COM_SYSTEMS_IO_T_1 = "http://customer.com/Systems/IoT/1";
- private static final String QJ_YG_PGGJWKI_HK4_RR_QI_YS_LG = "QjYgPggjwkiHk4RrQiYSLg==";
- private static final String DEVICE_ID = "DeviceID";
- private static final String HTTP_CUSTOMER_COM_SYSTEMS_ERP_012 = "http://customer.com/Systems/ERP/012";
- private static final String _538FD1B3_F99F_4A52_9C75_72E9FA921270 = "538fd1b3-f99f-4a52-9c75-72e9fa921270";
- private static final String EQUIPMENT_ID = "EquipmentID";
- private static final String HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY = "http://customer.com/assets/KHBVZJSQKIY";
- // AAS
- public static final String AAS_ID = "ExampleMotor";
- public static final String AAS_IDENTIFIER = "http://customer.com/aas/9175_7013_7091_9168";
-
- // SUBMODEL_TECHNICAL_DATA
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT = MAX_ROTATION_SPEED;
- public static final String SUBMODEL_TECHNICAL_DATA_ID_SHORT = "TechnicalData";
- public static final String SUBMODEL_TECHNICAL_DATA_ID = "http://i40.customer.com/type/1/1/7A7104BDAB57E184";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID = "0173-1#01-AFZ615#016";
- public static final String SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY = _0173_1_02_BAA120_008;
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY = "Parameter";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE = "5000";
- public static final String SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE = "integer";
-
- // SUBMODEL_DOCUMENTATION
- private static final String SUBMODEL_DOCUMENTATION_ID_SHORT = "Documentation";
- private static final String SUBMODEL_DOCUMENTATION_ID = "http://i40.customer.com/type/1/1/1A7B62B529F19152";
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT;
- private static final String SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE;
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT = TITLE;
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUE = "OperatingManual";
- private static final String SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE = "langString";
- private static final String SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID = WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE;
- private static final String SUBMODEL_DOCUMENTATION_FILE_ID_SHORT = "DigitalFile_PDF";
- private static final String SUBMODEL_DOCUMENTATION_FILE_MIMETYPE = "application/pdf";
- private static final String SUBMODEL_DOCUMENTATION_FILE_VALUE = "/aasx/OperatingManual.pdf";
-
- // SUBMODEL_OPERATIONAL_DATA
- private static final String SUBMODEL_OPERATIONAL_DATA_ID_SHORT = "OperationalData";
- private static final String SUBMODEL_OPERATIONAL_DATA_ID = "http://i40.customer.com/instance/1/1/AC69B1CB44F07935";
- private static final String SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY = HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895;
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT = ROTATION_SPEED;
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY = "VARIABLE";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE = "4370";
- private static final String SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE = "integer";
-
- public AASSimple() {
- }
-
- public static final AssetAdministrationShell AAS = new DefaultAssetAdministrationShell.Builder().idShort(AAS_ID)
- .identification(
- new DefaultIdentifier.Builder().idType(IdentifierType.IRI).identifier(AAS_IDENTIFIER).build())
- .assetInformation(new DefaultAssetInformation.Builder().assetKind(AssetKind.INSTANCE)
- .globalAssetId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.ASSET)
- .value(HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY).idType(KeyType.IRI).build()).build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key(EQUIPMENT_ID)
- .value(_538FD1B3_F99F_4A52_9C75_72E9FA921270)
- .externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value(HTTP_CUSTOMER_COM_SYSTEMS_ERP_012).idType(KeyType.IRI).build())
- .build())
- .build())
- .specificAssetId(new DefaultIdentifierKeyValuePair.Builder().key(DEVICE_ID)
- .value(QJ_YG_PGGJWKI_HK4_RR_QI_YS_LG)
- .externalSubjectId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value(HTTP_CUSTOMER_COM_SYSTEMS_IO_T_1).idType(KeyType.IRI).build())
- .build())
- .build())
- .defaultThumbnail(new DefaultFile.Builder().kind(ModelingKind.INSTANCE).idShort(THUMBNAIL)
- .mimeType(IMAGE_PNG)
- .value(HTTPS_GITHUB_COM_ADMIN_SHELL_IO_BLOB_MASTER_VERWALTUNGSSCHALE_DETAIL_PART1_PNG)
- .build())
- .build())
- .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
- .value(SUBMODEL_TECHNICAL_DATA_ID).idType(KeyType.IRI).build()).build())
- .submodel(
- new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.SUBMODEL).value(SUBMODEL_OPERATIONAL_DATA_ID)
- .idType(KeyType.IRI).build())
- .build())
- .submodel(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.SUBMODEL)
- .value(SUBMODEL_DOCUMENTATION_ID).idType(KeyType.IRI).build()).build())
- .build();
-
- public static final Asset ASSET = new DefaultAsset.Builder().idShort(SERVO_DC_MOTOR)
- .identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI)
- .identifier(HTTP_CUSTOMER_COM_ASSETS_KHBVZJSQKIY).build())
- .build();
-
- public static final Submodel SUBMODEL_TECHNICAL_DATA = new DefaultSubmodel.Builder()
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID).idType(KeyType.IRDI).build()).build())
- .kind(ModelingKind.INSTANCE).idShort(SUBMODEL_TECHNICAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_TECHNICAL_DATA_ID)
- .idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_TECHNICAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRDI).build())
- .build())
- .idShort(SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_TECHNICAL_DATA_PROPERTY_CATEGORY).value(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_TECHNICAL_DATA_PROPERTY_VALUETYPE).build())
- .build();
-
- public static final Submodel SUBMODEL_OPERATIONAL_DATA = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_OPERATIONAL_DATA_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_OPERATIONAL_DATA_ID)
- .idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_OPERATIONAL_DATA_SEMANTIC_ID_PROPERTY).idType(KeyType.IRI).build())
- .build())
- .idShort(SUBMODEL_OPERATIONAL_DATA_PROPERTY_ID_SHORT)
- .category(SUBMODEL_OPERATIONAL_DATA_PROPERTY_CATEGORY)
- .value(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUE)
- .valueType(SUBMODEL_OPERATIONAL_DATA_PROPERTY_VALUETYPE).build())
- .build();
-
- public static final Submodel SUBMODEL_DOCUMENTATION = new DefaultSubmodel.Builder().kind(ModelingKind.INSTANCE)
- .idShort(SUBMODEL_DOCUMENTATION_ID_SHORT)
- .identification(new DefaultIdentifier.Builder().identifier(SUBMODEL_DOCUMENTATION_ID)
- .idType(IdentifierType.IRI).build())
- .submodelElement(new DefaultSubmodelElementCollection.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_SEMANTIC_ID).idType(KeyType.IRI).build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_ELEMENTCOLLECTION_ID_SHORT)
- .value(new DefaultProperty.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder().key(new DefaultKey.Builder()
- .type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_SEMANTIC_ID).idType(KeyType.IRI).build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_PROPERTY_ID_SHORT)
- .value(SUBMODEL_DOCUMENTATION_PROPERTY_VALUE)
- .valueType(SUBMODEL_DOCUMENTATION_PROPERTY_VALUETYPE).build())
- .value(new DefaultFile.Builder().kind(ModelingKind.INSTANCE)
- .semanticId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.CONCEPT_DESCRIPTION)
- .value(SUBMODEL_DOCUMENTATION_FILE_SEMANTIC_ID).idType(KeyType.IRI).build())
- .build())
- .idShort(SUBMODEL_DOCUMENTATION_FILE_ID_SHORT)
- .mimeType(SUBMODEL_DOCUMENTATION_FILE_MIMETYPE).value(SUBMODEL_DOCUMENTATION_FILE_VALUE)
- .build())
- .ordered(false).allowDuplicates(false).build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_TITLE = new DefaultConceptDescription.Builder()
- .idShort(TITLE)
- .identification(new DefaultIdentifier.Builder()
- .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DESCRIPTION_TITLE).idType(IdentifierType.IRI)
- .build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString(TITLE, "EN")).preferredName(new LangString(TITEL, "DE"))
- .shortName(new LangString(TITLE, "EN")).shortName(new LangString(TITEL, "DE")).unit("")
- .sourceOfDefinition("").dataType(DataTypeIEC61360.STRING_TRANSLATABLE)
- .definition(new LangString(SPRACHABHÄNGIGER_TITELDES_DOKUMENTS, "DE")).build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_DIGITALFILE = new DefaultConceptDescription.Builder()
- .idShort(DIGITAL_FILE)
- .identification(new DefaultIdentifier.Builder()
- .identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_STORED_DOCUMENT_REPRESENTATION_DIGITAL_FILE)
- .idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder().dataSpecificationContent(
- new DefaultDataSpecificationIEC61360.Builder().preferredName(new LangString(DIGITAL_FILE, "EN"))
- .preferredName(new LangString(DIGITALE_DATEI, "DE"))
- .shortName(new LangString(DIGITAL_FILE, "EN"))
- .shortName(new LangString(DIGITALE_DATEI, "DE")).unit("").sourceOfDefinition("")
- .dataType(DataTypeIEC61360.STRING).definition(new LangString(DIGITAL_FILE_DEFINITION, "DE"))
- .build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_MAXROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort(MAX_ROTATION_SPEED).category(PROPERTY)
- .administration(new DefaultAdministrativeInformation.Builder().version("").revision("2").build())
- .identification(new DefaultIdentifier.Builder().identifier(_0173_1_02_BAA120_008)
- .idType(IdentifierType.IRDI).build())
- .embeddedDataSpecifications(
- Arrays.asList(
- new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString(MAX_DREHZAHL, "de"))
- .preferredName(new LangString(MAX_ROTATIONSPEED, "en")).unit(_1_MIN)
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value(_0173_1_05_AAA650_002).idType(KeyType.IRDI).build())
- .build())
- .sourceOfDefinition("").dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString(MAX_ROTATE_DEF_DE, "de"))
- .definition(new LangString(MAX_ROTATE_DEF_EN, "en")).build())
- .build()))
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_ROTATIONSPEED = new DefaultConceptDescription.Builder()
- .idShort(ROTATION_SPEED).category(PROPERTY)
- .identification(new DefaultIdentifier.Builder().identifier(HTTP_CUSTOMER_COM_CD_1_1_18EBD56F6B43D895)
- .idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(
- new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(
- new DefaultDataSpecificationIEC61360.Builder()
- .preferredName(new LangString(AKTUELLE_DREHZAHL, "DE"))
- .preferredName(new LangString(ACTUALROTATIONSPEED, "EN"))
- .shortName(new LangString(AKTUELLE_DREHZAHL, "DE"))
- .shortName(new LangString(ACTUAL_ROTATION_SPEED, "EN")).unit(_1_MIN)
- .unitId(new DefaultReference.Builder()
- .key(new DefaultKey.Builder().type(KeyElements.GLOBAL_REFERENCE)
- .value(_0173_1_05_AAA650_002).idType(KeyType.IRDI).build())
- .build())
- .sourceOfDefinition("").dataType(DataTypeIEC61360.REAL_MEASURE)
- .definition(new LangString(
- AKTUELLE_DREHZAHL_MITWELCHER_DER_MOTOR_ODER_DIE_SPEISEINHEIT_BETRIEBEN_WIRD,
- "DE"))
- .definition(new LangString(
- ACTUAL_ROTATIONSPEED_WITH_WHICH_THE_MOTOR_OR_FEEDINGUNIT_IS_OPERATED,
- "EN"))
- .build())
- .build())
- .build();
-
- public static final ConceptDescription CONCEPT_DESCRIPTION_DOCUMENT = new DefaultConceptDescription.Builder()
- .idShort(DOCUMENT)
- .identification(new DefaultIdentifier.Builder().identifier(WWW_VDI2770_COM_BLATT1_ENTWURF_OKT18_CD_DOCUMENT)
- .idType(IdentifierType.IRI).build())
- .embeddedDataSpecification(new DefaultEmbeddedDataSpecification.Builder()
- .dataSpecificationContent(new DefaultDataSpecificationIEC61360.Builder()
- .shortName(new LangString(DOCUMENT, "EN")).shortName(new LangString(DOKUMENT, "DE"))
- .unit("").sourceOfDefinition(ISO15519_1_2010).dataType(DataTypeIEC61360.STRING)
- .definition(new LangString(
- DOCUMENT_DEF,
- "DE"))
- .build())
- .build())
- .build();
-
- public static final AssetAdministrationShellEnvironment ENVIRONMENT = new DefaultAssetAdministrationShellEnvironment.Builder()
- .assetAdministrationShells(AAS).submodels(SUBMODEL_TECHNICAL_DATA).submodels(SUBMODEL_DOCUMENTATION)
- .submodels(SUBMODEL_OPERATIONAL_DATA).conceptDescriptions(CONCEPT_DESCRIPTION_TITLE)
- .conceptDescriptions(CONCEPT_DESCRIPTION_DIGITALFILE)
- .conceptDescriptions(CONCEPT_DESCRIPTION_MAXROTATIONSPEED)
- .conceptDescriptions(CONCEPT_DESCRIPTION_ROTATIONSPEED).conceptDescriptions(CONCEPT_DESCRIPTION_DOCUMENT)
- .assets(ASSET)
- .build();
-
- public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException {
- for (String string : getContainedStrings()) {
- System.out.println(string);
- }
- }
-
- public static List getContainedStrings() throws IllegalArgumentException, IllegalAccessException {
- List results = new ArrayList<>();
- for (Field field : AASSimple.class.getDeclaredFields()) {
- if (field.getType() == String.class) {
- Object object = field.get(null);
- results.add((String) object);
- }
- }
- return results;
- }
-}
diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java
index 1d7404c7..039b556a 100644
--- a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java
+++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/IntegrationTests.java
@@ -24,6 +24,7 @@
import io.adminshell.aas.v3.dataformat.DeserializationException;
import io.adminshell.aas.v3.dataformat.SerializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext;
import io.adminshell.aas.v3.model.Asset;
import io.adminshell.aas.v3.model.AssetAdministrationShell;
diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java
index 8cbccf43..ca525ece 100644
--- a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java
+++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/SerializerTest.java
@@ -16,14 +16,19 @@
package io.adminshell.aas.v3.dataformat.i4aas;
import java.io.IOException;
+import java.lang.reflect.Field;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import io.adminshell.aas.v3.dataformat.SerializationException;
+import io.adminshell.aas.v3.dataformat.core.AASFull;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
import io.adminshell.aas.v3.dataformat.i4aas.mappers.MappingContext;
import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
@@ -38,14 +43,13 @@ public static void before() {
public void testEmpty() throws SerializationException {
I4AASSerializer i4aasSerializer = new I4AASSerializer();
String write = i4aasSerializer.write(new DefaultAssetAdministrationShellEnvironment());
- //System.out.println(write);
}
@Test
public void testSimple() throws SerializationException, IllegalArgumentException, IllegalAccessException {
I4AASSerializer i4aasSerializer = new I4AASSerializer();
String write = i4aasSerializer.write(AASSimple.ENVIRONMENT);
- for (String toCheck : AASSimple.getContainedStrings()) {
+ for (String toCheck : getContainedStrings(AASSimple.class)) {
if (toCheck.toLowerCase().contains("thumbnail")) {
//gets remapped to DefaultThumbnail
toCheck = "DefaultThumbnail";
@@ -64,14 +68,23 @@ public void testSimpleToFile() throws SerializationException, IOException {
Path createTempFile = Files.createTempFile("testSimpleToFile", ".xml");
I4AASSerializer i4aasSerializer = new I4AASSerializer();
i4aasSerializer.write(createTempFile.toFile(), AASSimple.ENVIRONMENT);
- //System.out.println(createTempFile.toAbsolutePath().toString());
}
@Test
public void testFull() throws SerializationException {
I4AASSerializer i4aasSerializer = new I4AASSerializer();
String write = i4aasSerializer.write(AASFull.ENVIRONMENT);
- //System.out.println(write);
}
+ private static List getContainedStrings(Class> testModelClass) throws IllegalArgumentException, IllegalAccessException {
+ List results = new ArrayList<>();
+ for (Field field : AASSimple.class.getDeclaredFields()) {
+ field.setAccessible(true);
+ if (field.getType() == String.class) {
+ Object object = field.get(null);
+ results.add((String) object);
+ }
+ }
+ return results;
+ }
}
diff --git a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java
index cf8c4d8f..bee80504 100644
--- a/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java
+++ b/dataformat-uanodeset/src/test/java/io/adminshell/aas/v3/dataformat/i4aas/mappers/SubmodelMapperTest.java
@@ -15,14 +15,13 @@
*/
package io.adminshell.aas.v3.dataformat.i4aas.mappers;
-
import javax.xml.bind.JAXBException;
import org.junit.Test;
import org.opcfoundation.ua._2011._03.uanodeset.UANodeSet;
import org.opcfoundation.ua._2011._03.uanodeset.UAObject;
-import io.adminshell.aas.v3.dataformat.i4aas.AASSimple;
+import io.adminshell.aas.v3.dataformat.core.AASSimple;
import io.adminshell.aas.v3.dataformat.i4aas.UANodeSetMarshaller;
import io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShellEnvironment;
diff --git a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java
index c3ccbc57..f2037d49 100644
--- a/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java
+++ b/dataformat-xml/src/main/java/io/adminshell/aas/v3/dataformat/xml/serialization/AssetAdministrationShellEnvironmentSerializer.java
@@ -30,6 +30,7 @@
import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
import io.adminshell.aas.v3.dataformat.xml.AasXmlNamespaceContext;
+import io.adminshell.aas.v3.model.Asset;
import io.adminshell.aas.v3.model.AssetAdministrationShell;
import io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment;
import io.adminshell.aas.v3.model.ConceptDescription;
@@ -47,6 +48,8 @@ public class AssetAdministrationShellEnvironmentSerializer extends JsonSerialize
private static final QName CONCEPTDICTIONARY_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "conceptDescription");
private static final QName SUBMODELLIST_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "submodels");
private static final QName SUBMODEL_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "submodel");
+ private static final QName ASSETLIST_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "assets");
+ private static final QName ASSET_TAGNAME = new QName(AasXmlNamespaceContext.AAS_URI, "asset");
private Map namespacePrefixes;
@@ -94,10 +97,18 @@ private void writeOpeningTag(ToXmlGenerator xgen, XMLStreamWriter streamWriter)
private void writeContent(AssetAdministrationShellEnvironment value, ToXmlGenerator xgen) throws IOException {
writeAssetAdministrationShells(xgen, value.getAssetAdministrationShells());
+ writeAssets(xgen, value.getAssets());
writeConceptDescriptions(xgen, value.getConceptDescriptions());
writeSubmodels(xgen, value.getSubmodels());
}
+ private void writeAssets(ToXmlGenerator xgen, List assets) throws IOException {
+ if (assets.isEmpty()) {
+ return;
+ }
+ writeWrappedArray(xgen, ASSETLIST_TAGNAME, ASSET_TAGNAME, assets);
+ }
+
private void writeAssetAdministrationShells(ToXmlGenerator xgen, List aasList)
throws IOException {
if (aasList.isEmpty()) {
diff --git a/dataformat-xml/src/main/resources/AAS.xsd b/dataformat-xml/src/main/resources/AAS.xsd
index 48476d60..6f93991c 100644
--- a/dataformat-xml/src/main/resources/AAS.xsd
+++ b/dataformat-xml/src/main/resources/AAS.xsd
@@ -25,7 +25,7 @@
-
+
@@ -45,6 +45,12 @@
+
+
+
+
+
+
@@ -75,6 +81,11 @@
+
+
+
+
+
diff --git a/dataformat-xml/src/test/resources/xmlExample.xml b/dataformat-xml/src/test/resources/xmlExample.xml
index 91e0752f..979d9d61 100644
--- a/dataformat-xml/src/test/resources/xmlExample.xml
+++ b/dataformat-xml/src/test/resources/xmlExample.xml
@@ -10,7 +10,7 @@
- http.//i40.customer.com/type/1/1/7A7104BDAB57E184
+ http://i40.customer.com/type/1/1/7A7104BDAB57E184
@@ -60,6 +60,12 @@
+
+
+ ServoDCMotor
+ http://customer.com/assets/KHBVZJSQKIY
+
+
Title
diff --git a/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml b/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml
index 1461860b..8d1f7572 100644
--- a/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml
+++ b/dataformat-xml/src/test/resources/xmlExampleWithModifiedPrefix.xml
@@ -10,7 +10,7 @@
- http.//i40.customer.com/type/1/1/7A7104BDAB57E184
+ http://i40.customer.com/type/1/1/7A7104BDAB57E184
@@ -60,6 +60,16 @@
+
+
+
+ ServoDCMotor
+
+
+ http://customer.com/assets/KHBVZJSQKIY
+
+
+
Title