diff --git a/basyx.aasenvironment/basyx.aasenvironment-client/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/client/TestFixture.java b/basyx.aasenvironment/basyx.aasenvironment-client/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/client/TestFixture.java index 5d9468fa1..2d552fdae 100644 --- a/basyx.aasenvironment/basyx.aasenvironment-client/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/client/TestFixture.java +++ b/basyx.aasenvironment/basyx.aasenvironment-client/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/client/TestFixture.java @@ -91,7 +91,7 @@ public AssetInformation buildAasPre1AssetInformation() { } public AssetAdministrationShellDescriptor buildAasPre1Descriptor() { - return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, aasRepositoryBasePath); + return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, null, aasRepositoryBasePath); } public AssetAdministrationShellDescriptor buildAasPre1Descriptor_withMultipleInterfaces() { @@ -100,7 +100,7 @@ public AssetAdministrationShellDescriptor buildAasPre1Descriptor_withMultipleInt endpoints.add(DummyAasDescriptorFactory.createEndpoint(aasRepositoryBasePath, "AAS-REPOSITORY-3.0")); endpoints.add(DummyAasDescriptorFactory.createEndpoint(AAS_PRE1_ID, aasRepositoryBasePath, "AAS-3.0")); - return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, endpoints); + return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, null, endpoints); } public Reference buildSmPre1Ref() { @@ -112,7 +112,7 @@ public Submodel buildSmPre1() { } public SubmodelDescriptor buildSmPre1Descriptor() { - return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, smRepositoryBasePath); + return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, null, smRepositoryBasePath); } public SubmodelDescriptor buildSmPre1Descriptor_withMultipleInterfaces() { @@ -121,7 +121,7 @@ public SubmodelDescriptor buildSmPre1Descriptor_withMultipleInterfaces() { endpoints.add(DummySubmodelDescriptorFactory.createEndpoint(smRepositoryBasePath, "SUBMODEL-REPOSITORY-3.0")); endpoints.add(DummySubmodelDescriptorFactory.createEndpoint(SM_PRE1_ID, smRepositoryBasePath, "SUBMODEL-3.0")); - return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, endpoints); + return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, null, endpoints); } public AssetAdministrationShell buildAasPos1() { @@ -133,11 +133,11 @@ public AssetInformation buildAasPos1AssetInformation() { } public AssetAdministrationShellDescriptor buildAasPos1Descriptor() { - return DummyAasDescriptorFactory.createDummyDescriptor(AAS_POS1_ID, AAS_POS1_IDSHORT, AAS_POS1_GLOBALASSETID, aasRepositoryBasePath); + return DummyAasDescriptorFactory.createDummyDescriptor(AAS_POS1_ID, AAS_POS1_IDSHORT, AAS_POS1_GLOBALASSETID, null, aasRepositoryBasePath); } public SubmodelDescriptor buildSmPos1Descriptor() { - return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_POS1_ID, SM_POS1_IDSHORT, new AttributeMapper(ConnectedAasManagerHelper.buildObjectMapper()).mapSemanticId(buildSmPos1SemanticId()), smRepositoryBasePath); + return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_POS1_ID, SM_POS1_IDSHORT, new AttributeMapper(ConnectedAasManagerHelper.buildObjectMapper()).mapSemanticId(buildSmPos1SemanticId()), null, smRepositoryBasePath); } public Reference buildSmPos1SemanticId() { diff --git a/basyx.aasregistry/basyx.aasregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/main/client/mapper/DummyAasDescriptorFactory.java b/basyx.aasregistry/basyx.aasregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/main/client/mapper/DummyAasDescriptorFactory.java index a2d5e8e56..ef1f44e2e 100644 --- a/basyx.aasregistry/basyx.aasregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/main/client/mapper/DummyAasDescriptorFactory.java +++ b/basyx.aasregistry/basyx.aasregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/main/client/mapper/DummyAasDescriptorFactory.java @@ -30,6 +30,7 @@ import java.util.LinkedList; import java.util.List; +import org.eclipse.digitaltwin.basyx.aasregistry.client.model.AdministrativeInformation; import org.eclipse.digitaltwin.basyx.aasregistry.client.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.basyx.aasregistry.client.model.AssetKind; import org.eclipse.digitaltwin.basyx.aasregistry.client.model.Endpoint; @@ -46,7 +47,7 @@ public class DummyAasDescriptorFactory { private static final String AAS_REPOSITORY_PATH = "/shells"; - public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, List endpoints) { + public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, AdministrativeInformation administrativeInformation, List endpoints) { AssetAdministrationShellDescriptor descriptor = new AssetAdministrationShellDescriptor(); @@ -55,18 +56,27 @@ public static AssetAdministrationShellDescriptor createDummyDescriptor(String aa descriptor.setAssetKind(AssetKind.INSTANCE); descriptor.setGlobalAssetId(globalAssetId); descriptor.setEndpoints(endpoints); + descriptor.setAdministration(administrativeInformation); return descriptor; } - public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, String... aasRepoBaseUrls) { + public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, AdministrativeInformation administrativeInformation, String... aasRepoBaseUrls) { LinkedList endpoints = new LinkedList<>(); for (String eachUrl : aasRepoBaseUrls) { endpoints.add(createEndpoint(aasId, eachUrl, "AAS-3.0")); } - return createDummyDescriptor(aasId, idShort, globalAssetId, endpoints); + return createDummyDescriptor(aasId, idShort, globalAssetId, administrativeInformation, endpoints); + } + + public static AdministrativeInformation buildAdministrationInformation(String version, String revision, String templateId) { + AdministrativeInformation administrativeInformation = new AdministrativeInformation(); + administrativeInformation.setVersion(version); + administrativeInformation.setRevision(revision); + administrativeInformation.setTemplateId(templateId); + return administrativeInformation; } public static Endpoint createEndpoint(String endpointUrl, String endpointInterface) { @@ -83,6 +93,7 @@ public static Endpoint createEndpoint(String aasId, String aasRepoBaseUrl, Strin return createEndpoint(href, endpointInterface); } + private static ProtocolInformation createProtocolInformation(String href) { ProtocolInformation protocolInformation = new ProtocolInformation(); protocolInformation.setHref(href); @@ -102,4 +113,6 @@ private static String getProtocol(String endpoint) { throw new RuntimeException(); } } + + } diff --git a/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/feature/registry/integration/AasRepositoryRegistryLinkTestSuite.java b/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/feature/registry/integration/AasRepositoryRegistryLinkTestSuite.java index 09c55e696..e1c9d06f9 100644 --- a/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/feature/registry/integration/AasRepositoryRegistryLinkTestSuite.java +++ b/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/feature/registry/integration/AasRepositoryRegistryLinkTestSuite.java @@ -67,7 +67,7 @@ public abstract class AasRepositoryRegistryLinkTestSuite { protected abstract RegistryAndDiscoveryInterfaceApi getAasRegistryApi(); private final AssetAdministrationShellDescriptor DUMMY_DESCRIPTOR = DummyAasDescriptorFactory - .createDummyDescriptor(DUMMY_AAS_ID, DUMMY_IDSHORT, DUMMY_GLOBAL_ASSETID, getAasRepoBaseUrls()); + .createDummyDescriptor(DUMMY_AAS_ID, DUMMY_IDSHORT, DUMMY_GLOBAL_ASSETID, DummyAasDescriptorFactory.buildAdministrationInformation("0", "9", "testTemplateId"), getAasRepoBaseUrls()); @Test public void createAas() throws FileNotFoundException, IOException, ApiException { diff --git a/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/resources/AasSimple_1.json b/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/resources/AasSimple_1.json index 16e79e653..2ec457d80 100644 --- a/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/resources/AasSimple_1.json +++ b/basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/resources/AasSimple_1.json @@ -5,5 +5,10 @@ "assetInformation": { "assetKind": "Instance", "globalAssetId": "globalAssetId" + }, + "administration": { + "version": "0", + "revision": "9", + "templateId": "testTemplateId" } } diff --git a/basyx.submodelregistry/basyx.submodelregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/client/mapper/DummySubmodelDescriptorFactory.java b/basyx.submodelregistry/basyx.submodelregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/client/mapper/DummySubmodelDescriptorFactory.java index 7a40755f0..91bad3903 100644 --- a/basyx.submodelregistry/basyx.submodelregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/client/mapper/DummySubmodelDescriptorFactory.java +++ b/basyx.submodelregistry/basyx.submodelregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/client/mapper/DummySubmodelDescriptorFactory.java @@ -33,6 +33,7 @@ import org.eclipse.digitaltwin.basyx.core.RepositoryUrlHelper; import org.eclipse.digitaltwin.basyx.http.Base64UrlEncodedIdentifier; +import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.AdministrativeInformation; import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.Endpoint; import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.Key; import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.KeyTypes; @@ -50,24 +51,25 @@ public class DummySubmodelDescriptorFactory { private static final String SUBMODEL_REPOSITORY_PATH = "/submodels"; - public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, List endpoints) { + public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, AdministrativeInformation administrativeInformation, List endpoints) { SubmodelDescriptor descriptor = new SubmodelDescriptor(); descriptor.setId(smId); descriptor.setIdShort(idShort); descriptor.setSemanticId(semanticId); descriptor.setEndpoints(endpoints); + descriptor.administration(administrativeInformation); return descriptor; } - public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, String... smRepoBaseUrls) { + public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, AdministrativeInformation administrativeInformation, String... smRepoBaseUrls) { LinkedList endpoints = new LinkedList<>(); for (String eachUrl : smRepoBaseUrls) { endpoints.add(createEndpoint(smId, eachUrl, "SUBMODEL-3.0")); } - return createDummyDescriptor(smId, idShort, semanticId, endpoints); + return createDummyDescriptor(smId, idShort, semanticId, administrativeInformation, endpoints); } public static Reference createSemanticId() { @@ -88,6 +90,10 @@ public static Endpoint createEndpoint(String smId, String smRepoBaseUrl, String return createEndpoint(href, endpointInterface); } + public static AdministrativeInformation buildAdministrationInformation(String version, String revision, String templateId) { + return new AdministrativeInformation().version(version).revision(revision).templateId(templateId); + } + private static ProtocolInformation createProtocolInformation(String href) { ProtocolInformation protocolInformation = new ProtocolInformation(); protocolInformation.setHref(href); diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/SubmodelRepositoryRegistryLinkTestSuite.java b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/SubmodelRepositoryRegistryLinkTestSuite.java index 2933b418f..ad7c08255 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/SubmodelRepositoryRegistryLinkTestSuite.java +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/SubmodelRepositoryRegistryLinkTestSuite.java @@ -62,7 +62,8 @@ public abstract class SubmodelRepositoryRegistryLinkTestSuite { protected abstract String getSubmodelRegistryUrl(); protected abstract SubmodelRegistryApi getSubmodelRegistryApi(); - private final SubmodelDescriptor DUMMY_DESCRIPTOR = DummySubmodelDescriptorFactory.createDummyDescriptor(DUMMY_SUBMODEL_ID, DUMMY_SUBMODEL_IDSHORT, DummySubmodelDescriptorFactory.createSemanticId(), getSubmodelRepoBaseUrls()); + private final SubmodelDescriptor DUMMY_DESCRIPTOR = DummySubmodelDescriptorFactory.createDummyDescriptor(DUMMY_SUBMODEL_ID, DUMMY_SUBMODEL_IDSHORT, DummySubmodelDescriptorFactory.createSemanticId(), + DummySubmodelDescriptorFactory.buildAdministrationInformation("0", "9", "testTemplateId"), getSubmodelRepoBaseUrls()); @Test public void createSubmodel() throws FileNotFoundException, IOException, ApiException { diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/ExpectedSubmodel.json b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/ExpectedSubmodel.json index 791e0f14c..4af941bcf 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/ExpectedSubmodel.json +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/ExpectedSubmodel.json @@ -12,6 +12,11 @@ }, "id": "7A7104BDAB57E184", "idShort": "TechnicalData", + "administration": { + "version": "0", + "revision": "9", + "templateId": "testTemplateId" + }, "submodelElements": [ { "modelType": "Property", diff --git a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/SingleSubmodel.json b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/SingleSubmodel.json index 3391b2db6..fc7845bc4 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/SingleSubmodel.json +++ b/basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/SingleSubmodel.json @@ -3,6 +3,11 @@ "id": "7A7104BDAB57E184", "idShort": "TechnicalData", "kind": "Instance", + "administration": { + "version": "0", + "revision": "9", + "templateId": "testTemplateId" + }, "submodelElements": [ { "modelType": "Property",