Merge "Adds minor improvements"
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/AssetAdministrationShell.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/AssetAdministrationShell.java
index 918e2e6..65e87fc 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/AssetAdministrationShell.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/AssetAdministrationShell.java
@@ -26,6 +26,7 @@
import org.eclipse.basyx.submodel.metamodel.api.reference.IReference;
import org.eclipse.basyx.submodel.metamodel.api.reference.enums.KeyElements;
import org.eclipse.basyx.submodel.metamodel.map.modeltype.ModelType;
+import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.HasDataSpecification;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.Identifiable;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.LangStrings;
@@ -136,8 +137,8 @@
return Identifiable.createAsFacade(this).getIdentification();
}
- public void setAdministration(String version, String revision) {
- Identifiable.createAsFacade(this).setAdministration(version, revision);
+ public void setAdministration(AdministrativeInformation information) {
+ Identifiable.createAsFacade(this).setAdministration(information);
}
public void setIdentification(IIdentifier id) {
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/parts/Asset.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/parts/Asset.java
index 58a696f..c2aa529 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/parts/Asset.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/aas/metamodel/map/parts/Asset.java
@@ -10,6 +10,7 @@
import org.eclipse.basyx.submodel.metamodel.api.qualifier.IAdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.api.reference.IReference;
import org.eclipse.basyx.submodel.metamodel.map.modeltype.ModelType;
+import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.HasDataSpecification;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.Identifiable;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.LangStrings;
@@ -109,8 +110,8 @@
return Identifiable.createAsFacade(this).getIdentification();
}
- public void setAdministration(String version, String revision) {
- Identifiable.createAsFacade(this).setAdministration(version, revision);
+ public void setAdministration(AdministrativeInformation information) {
+ Identifiable.createAsFacade(this).setAdministration(information);
}
public void setIdentification(IdentifierType idType, String id) {
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/SubModel.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/SubModel.java
index b4cc238..b442953 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/SubModel.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/SubModel.java
@@ -18,6 +18,7 @@
import org.eclipse.basyx.submodel.metamodel.api.submodelelement.dataelement.property.IProperty;
import org.eclipse.basyx.submodel.metamodel.api.submodelelement.operation.IOperation;
import org.eclipse.basyx.submodel.metamodel.map.modeltype.ModelType;
+import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.HasDataSpecification;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.HasSemantics;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.Identifiable;
@@ -146,8 +147,8 @@
return Identifiable.createAsFacade(this).getIdentification();
}
- public void setAdministration(String version, String revision) {
- Identifiable.createAsFacade(this).setAdministration(version, revision);
+ public void setAdministration(AdministrativeInformation information) {
+ Identifiable.createAsFacade(this).setAdministration(information);
}
public void setIdentification(IdentifierType idType, String id) {
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/identifier/Identifier.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/identifier/Identifier.java
index cbb20b4..d5582d9 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/identifier/Identifier.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/identifier/Identifier.java
@@ -73,4 +73,41 @@
public void setId(String newValue) {
put(Identifier.ID, newValue);
}
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ String id = getId();
+ IdentifierType idType = getIdType();
+ int result = 1;
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
+ result = prime * result + ((idType == null) ? 0 : idType.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ String id = getId();
+ IdentifierType idType = getIdType();
+
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Identifier other = (Identifier) obj;
+ if (id == null) {
+ if (other.getId() != null)
+ return false;
+ } else if (!id.equals(other.getId()))
+ return false;
+ if (idType == null) {
+ if (other.getIdType() != null)
+ return false;
+ } else if (!idType.equals(other.getIdType()))
+ return false;
+ return true;
+ }
+
}
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/parts/ConceptDescription.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/parts/ConceptDescription.java
index 464f0d0..11eb2c2 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/parts/ConceptDescription.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/parts/ConceptDescription.java
@@ -13,6 +13,7 @@
import org.eclipse.basyx.submodel.metamodel.api.reference.IReference;
import org.eclipse.basyx.submodel.metamodel.map.dataspecification.DataSpecification;
import org.eclipse.basyx.submodel.metamodel.map.modeltype.ModelType;
+import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.HasDataSpecification;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.Identifiable;
import org.eclipse.basyx.submodel.metamodel.map.qualifier.LangStrings;
@@ -84,8 +85,8 @@
return Identifiable.createAsFacade(this).getIdentification();
}
- public void setAdministration(String version, String revision) {
- Identifiable.createAsFacade(this).setAdministration(version, revision);
+ public void setAdministration(AdministrativeInformation information) {
+ Identifiable.createAsFacade(this).setAdministration(information);
}
public void setIdentification(IdentifierType idType, String id) {
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/qualifier/Identifiable.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/qualifier/Identifiable.java
index f122939..7581049 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/qualifier/Identifiable.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/submodel/metamodel/map/qualifier/Identifiable.java
@@ -74,8 +74,8 @@
return Identifier.createAsFacade((Map<String, Object>) get(Identifiable.IDENTIFICATION));
}
- public void setAdministration(String version, String revision) {
- put(Identifiable.ADMINISTRATION, new AdministrativeInformation(version, revision));
+ public void setAdministration(AdministrativeInformation info) {
+ put(Identifiable.ADMINISTRATION, info);
}
public void setIdentification(IdentifierType idType, String id) {
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/AssetAdministrationShellSuite.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/AssetAdministrationShellSuite.java
index 592fb98..09bbd60 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/AssetAdministrationShellSuite.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/AssetAdministrationShellSuite.java
@@ -11,11 +11,13 @@
import org.eclipse.basyx.submodel.metamodel.api.ISubModel;
import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier;
import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
+import org.eclipse.basyx.submodel.metamodel.api.qualifier.IAdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.api.reference.enums.KeyElements;
import org.eclipse.basyx.submodel.metamodel.api.reference.enums.KeyType;
import org.eclipse.basyx.submodel.metamodel.api.submodelelement.dataelement.property.ISingleProperty;
import org.eclipse.basyx.submodel.metamodel.map.SubModel;
import org.eclipse.basyx.submodel.metamodel.map.identifier.Identifier;
+import org.eclipse.basyx.submodel.metamodel.map.qualifier.AdministrativeInformation;
import org.eclipse.basyx.submodel.metamodel.map.reference.Key;
import org.eclipse.basyx.submodel.metamodel.map.reference.Reference;
import org.eclipse.basyx.submodel.metamodel.map.submodelelement.dataelement.property.Property;
@@ -32,9 +34,9 @@
*
*/
public abstract class AssetAdministrationShellSuite {
-
-
- protected static final Reference EXPECTEDASSETREF = new Reference(new Key(KeyElements.ASSET, false, "AssetRef", KeyType.CUSTOM));
+ protected static final Reference EXPECTED_ASSETREF = new Reference(new Key(KeyElements.ASSET, false, "AssetRef", KeyType.CUSTOM));
+ protected static final Reference EXPECTED_DERIVEDFROMREF = new Reference(new Key(KeyElements.ASSETADMINISTRATIONSHELL, false, "AASRef", KeyType.CUSTOM));
+ protected static final AdministrativeInformation EXPECTED_ADMINISTRATIVEINFORMATION = new AdministrativeInformation("1", "2");
// String constants used in this test case
protected static final IIdentifier SMID = new Identifier(IdentifierType.CUSTOM, "smId");
@@ -60,6 +62,12 @@
* @return
*/
protected static AssetAdministrationShell retrieveBaselineShell() {
+ /*
+ * ! Caution: If the AAS is constructed in any way that is not using the
+ * setters, additional tests for setters are needed. Currently, this is tested
+ * implicitly
+ */
+
// Create descriptor for the SubModel
SubmodelDescriptor smDescriptor = new SubmodelDescriptor(retrieveBaselineSM(), SMENDPOINT);
@@ -67,7 +75,9 @@
AssetAdministrationShell aas = new AssetAdministrationShell();
aas.addSubModel(smDescriptor);
aas.setIdShort(AASIDSHORT);
- aas.setAssetReference(EXPECTEDASSETREF);
+ aas.setAssetReference(EXPECTED_ASSETREF);
+ aas.setDerivedFrom(EXPECTED_DERIVEDFROMREF);
+ aas.setAdministration(EXPECTED_ADMINISTRATIVEINFORMATION);
return aas;
}
@@ -79,6 +89,12 @@
* @return
*/
protected static SubModel retrieveBaselineSM() {
+ /*
+ * ! Caution: If the Submodel is constructed in any way that is not using the
+ * setters, additional tests for setters are needed. Currently, this is tested
+ * implicitly
+ */
+
// Create a SubModel containing no operations and one property
Property p = new Property(PROPVAL);
p.setIdShort(PROPID);
@@ -90,9 +106,12 @@
return sm;
}
+ /**
+ * Tests retrieving the reference to the Asset described by the AAS
+ */
@Test
public void testAssetRef() {
- assertEquals(EXPECTEDASSETREF, retrieveShell().getAssetReference());
+ assertEquals(EXPECTED_ASSETREF, retrieveShell().getAssetReference());
}
/**
@@ -135,4 +154,21 @@
SubmodelDescriptor desc = descriptors.iterator().next();
assertEquals(SMENDPOINT, desc.getFirstEndpoint());
}
+
+ /**
+ * Tests retrieving the reference to the AAS the current AAS is derived from
+ */
+ @Test
+ public void testGetDerivedFrom() {
+ IAssetAdministrationShell shell = retrieveShell();
+ assertEquals(EXPECTED_DERIVEDFROMREF, shell.getDerivedFrom());
+ }
+
+ @Test
+ public void testGetAdministrativeInformation() {
+ IAssetAdministrationShell shell = retrieveShell();
+ IAdministrativeInformation info = shell.getAdministration();
+ assertEquals(EXPECTED_ADMINISTRATIVEINFORMATION.getRevision(), info.getRevision());
+ assertEquals(EXPECTED_ADMINISTRATIVEINFORMATION.getVersion(), info.getVersion());
+ }
}
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/map/TestAssetAdministrationShell.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/map/TestAssetAdministrationShell.java
index 937fe88..26439c8 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/map/TestAssetAdministrationShell.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/aas/metamodel/map/TestAssetAdministrationShell.java
@@ -9,11 +9,7 @@
import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
import org.eclipse.basyx.aas.metamodel.map.descriptor.SubmodelDescriptor;
import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
-import org.eclipse.basyx.submodel.metamodel.api.reference.enums.KeyElements;
-import org.eclipse.basyx.submodel.metamodel.api.reference.enums.KeyType;
import org.eclipse.basyx.submodel.metamodel.map.identifier.Identifier;
-import org.eclipse.basyx.submodel.metamodel.map.reference.Key;
-import org.eclipse.basyx.submodel.metamodel.map.reference.Reference;
import org.eclipse.basyx.testsuite.regression.aas.metamodel.AssetAdministrationShellSuite;
import org.junit.Before;
import org.junit.Test;
@@ -22,7 +18,7 @@
* Tests the map implementation of {@link IAssetAdministrationShell} based on
* the AAS test suite. <br />
* Additionally to the test suite, the setters of the map implementation are
- * testes
+ * tested
*
* @author schnicke
*
@@ -45,16 +41,8 @@
}
@Test
- public void testSetAndGetReference() {
- AssetAdministrationShell aas = retrieveShell();
- Reference ref = new Reference(new Key(KeyElements.ASSET, false, "123", KeyType.CUSTOM));
- aas.setAssetReference(ref);
- assertEquals(ref, aas.getAssetReference());
- }
-
- @Test
- public void testSetAndGetSubmodelDescriptors() {
- AssetAdministrationShell aas = retrieveShell();
+ public void testSetSubmodelDescriptors() {
+ AssetAdministrationShell aas = new AssetAdministrationShell();
// Set new Submodel descriptors
Identifier id = new Identifier(IdentifierType.CUSTOM, "identifier");
@@ -85,7 +73,6 @@
// Select new descriptor
desc = descriptors.stream().filter(d -> d.getIdShort().equals(idShort2)).findFirst().get();
assertEquals(idShort2, desc.getIdShort());
-
}
@Override
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedCollectionProperty.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedCollectionProperty.java
similarity index 97%
rename from sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedCollectionProperty.java
rename to sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedCollectionProperty.java
index d945028..f4c25c9 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedCollectionProperty.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedCollectionProperty.java
@@ -1,4 +1,4 @@
-package org.eclipse.basyx.testsuite.regression.submodel.model.connected;
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.connected;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedContainerProperty.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedContainerProperty.java
similarity index 97%
rename from sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedContainerProperty.java
rename to sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedContainerProperty.java
index 316d0b6..560d27e 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedContainerProperty.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedContainerProperty.java
@@ -1,4 +1,4 @@
-package org.eclipse.basyx.testsuite.regression.submodel.model.connected;
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.connected;
import static org.junit.Assert.assertEquals;
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedMapProperty.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedMapProperty.java
similarity index 97%
rename from sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedMapProperty.java
rename to sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedMapProperty.java
index 9fd8502..90c36a7 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedMapProperty.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedMapProperty.java
@@ -1,4 +1,4 @@
-package org.eclipse.basyx.testsuite.regression.submodel.model.connected;
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.connected;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedOperation.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedOperation.java
similarity index 96%
rename from sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedOperation.java
rename to sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedOperation.java
index 075e7c9..643eda3 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedOperation.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedOperation.java
@@ -1,7 +1,7 @@
/**
*
*/
-package org.eclipse.basyx.testsuite.regression.submodel.model.connected;
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.connected;
import static org.junit.Assert.assertEquals;
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedSingleProperty.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedSingleProperty.java
similarity index 96%
rename from sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedSingleProperty.java
rename to sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedSingleProperty.java
index 39a3a71..d5bd644 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedSingleProperty.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedSingleProperty.java
@@ -1,4 +1,4 @@
-package org.eclipse.basyx.testsuite.regression.submodel.model.connected;
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.connected;
import static org.junit.Assert.assertEquals;
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedSubModel.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedSubModel.java
similarity index 98%
rename from sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedSubModel.java
rename to sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedSubModel.java
index 73cf326..b843710 100644
--- a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/model/connected/TestConnectedSubModel.java
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/connected/TestConnectedSubModel.java
@@ -1,4 +1,4 @@
-package org.eclipse.basyx.testsuite.regression.submodel.model.connected;
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.connected;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
diff --git a/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/map/identifier/TestIdentifier.java b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/map/identifier/TestIdentifier.java
new file mode 100644
index 0000000..c7c8584
--- /dev/null
+++ b/sdks/java/basys.sdk/src/test/java/org/eclipse/basyx/testsuite/regression/submodel/metamodel/map/identifier/TestIdentifier.java
@@ -0,0 +1,43 @@
+package org.eclipse.basyx.testsuite.regression.submodel.metamodel.map.identifier;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier;
+import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
+import org.eclipse.basyx.submodel.metamodel.map.identifier.Identifier;
+import org.junit.Test;
+
+/**
+ * Tests constructor, setter and getter of {@link Identifier} for their
+ * correctness
+ *
+ * @author schnicke
+ *
+ */
+public class TestIdentifier {
+
+ @Test
+ public void testConstructor() {
+ IdentifierType type = IdentifierType.CUSTOM;
+ String id = "testId";
+ IIdentifier identifier = new Identifier(type, id);
+ assertEquals(identifier.getIdType(), type);
+ assertEquals(identifier.getId(), id);
+ }
+
+ @Test
+ public void testSetType() {
+ IdentifierType type = IdentifierType.IRI;
+ Identifier identifier = new Identifier();
+ identifier.setIdType(type);
+ assertEquals(type, identifier.getIdType());
+ }
+
+ @Test
+ public void testSetId() {
+ String id = "testId";
+ Identifier identifier = new Identifier();
+ identifier.setId(id);
+ assertEquals(id, identifier.getId());
+ }
+}