From c6a8f06ad74ecf4fc4e89a377c4b1aba0a7a3f5c Mon Sep 17 00:00:00 2001 From: ahoimariew <134478949+ahoimariew@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:40:59 +0100 Subject: [PATCH] Integration-Test-Suite for aasenvironment-component (#137) * Updates SpecificAssetIDValueValueOnlySerialization * Implements EntityValueValueOnlyDecorator Signed-off-by: Jannis Jung * Fixes SpecificAssetIdValueValueOnlySerialization Signed-off-by: Jannis Jung * Adds SpecificAssetIdValueValueSerialization to SubmodelRepository Signed-off-by: Jannis Jung * Includes externalSubjectId for serialization and deserialzation Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * cleans up code, refactoring * loads environment preconfiguration from folder * Implements loadEnvironmentFromFolder Test Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Refactors Test and AasEnvironmentPreconfigurationLoader Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Refactors Test Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Reworks AasEnvironmentPreconfigurationLoader Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Fully migrates to test "TestPreconfiguration" Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Adds slf4j to aasenvironment-http pom Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Improves null value handling Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Removes unnecessary/disruptive pom entries Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Reworks AasEnvironmentPreconfigurationLoader Co-authored-by: Marie Witt Co-authored-by: Frank Schnicke Signed-off-by: Jannis Jung * Resolves Review Remarks Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * tries to execute IT in aasenvironment * approaches integration test for aasenvironment * tries to integrate the submodelreporsitoryIT * Renames DummyConfigs with individual Names Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Renemes Dummy Configs with individual Names Co-authored-by: Marie Witt * Adds dependency and annotation Signed-off-by: Jannis Jung * finalize the IT-Integration * Resolves Merge conflict Signed-off-by: Jannis Jung * Readds and renames DummyConfig for DiscoveryService Co-authored-by: Marie Witt Signed-off-by: Jannis Jung * Integrates missing png in aasenv src/test/res * applies the review-remarks --------- Signed-off-by: Jannis Jung Co-authored-by: Jannis Jung Co-authored-by: Frank Schnicke --- ....java => DummyDiscoveryServiceConfig.java} | 2 +- .../basyx.aasenvironment.component/pom.xml | 33 ++++++++++++- .../component/AASEnvironmentIT.java | 46 ++++++++++++++++++ .../component/TestPreconfiguration.java | 2 +- .../src/test/resources/BaSyx-Logo.png | Bin 0 -> 11433 bytes ...fig.java => DummyAasRepositoryConfig.java} | 2 +- .../basyx.aasrepository-tck/pom.xml | 5 -- .../component/AasRepositoryConfiguration.java | 2 + .../component/AASRepositoryIT.java | 1 + ...myConceptDescriptionRepositoryConfig.java} | 4 +- .../pom.xml | 6 --- ...eptDescriptionRepositoryConfiguration.java | 9 ++-- ...ava => DummySubmodelRepositoryConfig.java} | 4 +- .../basyx.submodelrepository-tck/pom.xml | 7 --- .../SubmodelRepositoryConfiguration.java | 8 +-- 15 files changed, 97 insertions(+), 34 deletions(-) rename basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/{DummyConfig.java => DummyDiscoveryServiceConfig.java} (98%) create mode 100644 basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java rename basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/{ => org/eclipse/digitaltwin}/basyx/aasenvironment/component/TestPreconfiguration.java (99%) create mode 100644 basyx.aasenvironment/basyx.aasenvironment.component/src/test/resources/BaSyx-Logo.png rename basyx.aasrepository/basyx.aasrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/http/testconfig/{DummyConfig.java => DummyAasRepositoryConfig.java} (98%) rename basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/{DummyConfig.java => DummyConceptDescriptionRepositoryConfig.java} (97%) rename basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/{DummyConfig.java => DummySubmodelRepositoryConfig.java} (97%) diff --git a/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyConfig.java b/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyDiscoveryServiceConfig.java similarity index 98% rename from basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyConfig.java rename to basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyDiscoveryServiceConfig.java index 3218c960e..df8b9c71e 100644 --- a/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyConfig.java +++ b/basyx.aasdiscoveryservice/basyx.aasdiscoveryservice-http/src/test/java/org/eclipse/digitaltwin/basyx/aasdiscoveryservice/http/testconfig/DummyDiscoveryServiceConfig.java @@ -42,7 +42,7 @@ * */ @Configuration -public class DummyConfig { +public class DummyDiscoveryServiceConfig { private final String COLLECTION = "discoveryServiceHTTPTestCollection"; diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml b/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml index 83f0a61ed..5ff190487 100644 --- a/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml +++ b/basyx.aasenvironment/basyx.aasenvironment.component/pom.xml @@ -16,17 +16,42 @@ + org.eclipse.digitaltwin.basyx basyx.aasrepository.component + tests + test + + + org.eclipse.digitaltwin.basyx + basyx.aasrepository-tck + tests + test org.eclipse.digitaltwin.basyx basyx.submodelrepository.component + tests + test + + org.eclipse.digitaltwin.basyx + basyx.submodelrepository-tck + tests + test + + + org.eclipse.digitaltwin.basyx + basyx.conceptdescriptionrepository-tck + tests + test + org.eclipse.digitaltwin.basyx basyx.conceptdescriptionrepository.component + tests + test org.eclipse.digitaltwin.basyx @@ -40,12 +65,12 @@ org.eclipse.digitaltwin.basyx basyx.http - + org.eclipse.digitaltwin.basyx basyx.submodelservice-core tests test - + org.eclipse.digitaltwin.basyx basyx.http @@ -158,6 +183,10 @@ io.fabric8 docker-maven-plugin + + org.apache.maven.plugins + maven-failsafe-plugin + diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java new file mode 100644 index 000000000..f11ae0af1 --- /dev/null +++ b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/AASEnvironmentIT.java @@ -0,0 +1,46 @@ +/******************************************************************************* +* Copyright (C) 2023 the Eclipse BaSyx Authors +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +* +* SPDX-License-Identifier: MIT +******************************************************************************/ + +package org.eclipse.digitaltwin.basyx.aasenvironment.component; + +import org.eclipse.digitaltwin.basyx.aasrepository.component.AASRepositoryIT; +import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.component.ConceptDescriptionRepositoryIT; +import org.eclipse.digitaltwin.basyx.submodelrepository.component.SubmodelRepositoryIT; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * Integration test using the Integration tests from AASRepository, + * SubmodelRepository and ConceptDescriptionRepository over the test suite + * + * @author witt + * + */ + +@RunWith(Suite.class) +@Suite.SuiteClasses({ AASRepositoryIT.class, SubmodelRepositoryIT.class, ConceptDescriptionRepositoryIT.class, }) +public class AASEnvironmentIT { + +} diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/basyx/aasenvironment/component/TestPreconfiguration.java b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/TestPreconfiguration.java similarity index 99% rename from basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/basyx/aasenvironment/component/TestPreconfiguration.java rename to basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/TestPreconfiguration.java index 6f10c74cf..244210097 100644 --- a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/basyx/aasenvironment/component/TestPreconfiguration.java +++ b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/component/TestPreconfiguration.java @@ -23,7 +23,7 @@ * SPDX-License-Identifier: MIT ******************************************************************************/ -package basyx.aasenvironment.component; +package org.eclipse.digitaltwin.basyx.aasenvironment.component; import static org.junit.Assert.assertNotNull; diff --git a/basyx.aasenvironment/basyx.aasenvironment.component/src/test/resources/BaSyx-Logo.png b/basyx.aasenvironment/basyx.aasenvironment.component/src/test/resources/BaSyx-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..da613e94c07c4fef1b8a454ef927fd2fbf987f66 GIT binary patch literal 11433 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 org.eclipse.digitaltwin.basyx basyx.aasrepository-http - test tests org.eclipse.digitaltwin.basyx basyx.http - test tests org.apache.httpcomponents.client5 httpclient5 - test commons-io commons-io - test com.google.code.gson gson - test \ No newline at end of file diff --git a/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java b/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java index dc502161c..cd5c065b3 100644 --- a/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java +++ b/basyx.aasrepository/basyx.aasrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AasRepositoryConfiguration.java @@ -35,6 +35,7 @@ import org.eclipse.digitaltwin.basyx.aasservice.AasServiceFactory; import org.eclipse.digitaltwin.basyx.aasservice.feature.AasServiceFeature; import org.eclipse.digitaltwin.basyx.aasservice.feature.DecoratedAasServiceFactory; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -49,6 +50,7 @@ @Configuration public class AasRepositoryConfiguration { @Bean + @ConditionalOnMissingBean public static AasRepository getAasRepository(AasRepositoryFactory aasRepositoryFactory, List features) { return new DecoratedAasRepositoryFactory(aasRepositoryFactory, features).create(); } diff --git a/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java b/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java index 8f6510344..d2748af2c 100644 --- a/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java +++ b/basyx.aasrepository/basyx.aasrepository.component/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/component/AASRepositoryIT.java @@ -9,4 +9,5 @@ * */ public class AASRepositoryIT extends AasRepositoryTestDefinedURL { + } diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConfig.java b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConceptDescriptionRepositoryConfig.java similarity index 97% rename from basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConfig.java rename to basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConceptDescriptionRepositoryConfig.java index 2993c0a6a..e0b8c27b4 100644 --- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConfig.java +++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/http/testconfig/DummyConceptDescriptionRepositoryConfig.java @@ -38,11 +38,11 @@ * */ @Configuration -public class DummyConfig { +public class DummyConceptDescriptionRepositoryConfig { @Bean @ConditionalOnMissingBean public ConceptDescriptionRepository createConceptDescriptionRepository() { return new InMemoryConceptDescriptionRepository(); } -} \ No newline at end of file +} diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml index 0a472d1e7..337d0a1c6 100644 --- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml +++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository-tck/pom.xml @@ -11,35 +11,29 @@ org.eclipse.digitaltwin.basyx basyx.conceptdescriptionrepository-http - test tests org.eclipse.digitaltwin.basyx basyx.conceptdescriptionrepository-core - test tests org.eclipse.digitaltwin.basyx basyx.http - test tests org.apache.httpcomponents.client5 httpclient5 - test commons-io commons-io - test com.google.code.gson gson - test \ No newline at end of file diff --git a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java index 51202a1ae..733320b35 100644 --- a/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java +++ b/basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/conceptdescriptionrepository/component/ConceptDescriptionRepositoryConfiguration.java @@ -31,12 +31,14 @@ import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.ConceptDescriptionRepositoryFactory; import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.feature.ConceptDescriptionRepositoryFeature; import org.eclipse.digitaltwin.basyx.conceptdescriptionrepository.feature.DecoratedConceptDescriptionRepositoryFactory; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** - * Provides the spring bean configuration for the {@link ConceptDescriptionRepository} - * utilizing all found features for the respective services + * Provides the spring bean configuration for the + * {@link ConceptDescriptionRepository} utilizing all found features for the + * respective services * * @author danish * @@ -45,8 +47,9 @@ public class ConceptDescriptionRepositoryConfiguration { @Bean + @ConditionalOnMissingBean public static ConceptDescriptionRepository getConceptDescriptionRepository(ConceptDescriptionRepositoryFactory aasRepositoryFactory, List features) { return new DecoratedConceptDescriptionRepositoryFactory(aasRepositoryFactory, features).create(); } - + } diff --git a/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummyConfig.java b/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummySubmodelRepositoryConfig.java similarity index 97% rename from basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummyConfig.java rename to basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummySubmodelRepositoryConfig.java index 881ebf4f4..15869205e 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummyConfig.java +++ b/basyx.submodelrepository/basyx.submodelrepository-http/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/http/testconfig/DummySubmodelRepositoryConfig.java @@ -40,11 +40,11 @@ * */ @Configuration -public class DummyConfig { +public class DummySubmodelRepositoryConfig { @Bean @ConditionalOnMissingBean public SubmodelRepository createSubmodelRepository() { return new InMemorySubmodelRepository(new InMemorySubmodelServiceFactory()); } -} \ No newline at end of file +} diff --git a/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml b/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml index 63d277488..1d6cc22f0 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml +++ b/basyx.submodelrepository/basyx.submodelrepository-tck/pom.xml @@ -12,39 +12,32 @@ org.eclipse.digitaltwin.basyx basyx.submodelservice-http tests - test org.eclipse.digitaltwin.basyx basyx.submodelrepository-http tests - test org.eclipse.digitaltwin.basyx basyx.http tests - test org.apache.httpcomponents.client5 httpclient5 - test commons-io commons-io - test com.google.code.gson gson - test org.eclipse.digitaltwin.basyx basyx.submodelservice-http - test tests diff --git a/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java b/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java index 3b2332fbf..452be932c 100644 --- a/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java +++ b/basyx.submodelrepository/basyx.submodelrepository.component/src/main/java/org/eclipse/digitaltwin/basyx/submodelrepository/component/SubmodelRepositoryConfiguration.java @@ -35,6 +35,7 @@ import org.eclipse.digitaltwin.basyx.submodelservice.SubmodelServiceFactory; import org.eclipse.digitaltwin.basyx.submodelservice.feature.DecoratedSubmodelServiceFactory; import org.eclipse.digitaltwin.basyx.submodelservice.feature.SubmodelServiceFeature; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -50,15 +51,14 @@ @Configuration public class SubmodelRepositoryConfiguration { @Bean - public SubmodelRepository getSubmodelRepository(SubmodelRepositoryFactory aasRepositoryFactory, - List features) { + @ConditionalOnMissingBean + public SubmodelRepository getSubmodelRepository(SubmodelRepositoryFactory aasRepositoryFactory, List features) { return new DecoratedSubmodelRepositoryFactory(aasRepositoryFactory, features).create(); } @Primary @Bean - public SubmodelServiceFactory getSubmodelServiceFactory(SubmodelServiceFactory aasServiceFactory, - List features) { + public SubmodelServiceFactory getSubmodelServiceFactory(SubmodelServiceFactory aasServiceFactory, List features) { return new DecoratedSubmodelServiceFactory(aasServiceFactory, features); } }