diff --git a/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AasRepository.java b/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AasRepository.java index 442b211..44cf506 100644 --- a/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AasRepository.java +++ b/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AasRepository.java @@ -16,10 +16,10 @@ import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceAlreadyExistsException; import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceNotFoundException; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import java.util.List; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.AssetKind; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; /** diff --git a/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepository.java b/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepository.java index cb16371..53f92d2 100644 --- a/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepository.java +++ b/core/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepository.java @@ -16,12 +16,12 @@ import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceAlreadyExistsException; import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceNotFoundException; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.Ensure; import java.util.List; import java.util.Objects; import java.util.Optional; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; /** diff --git a/core/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepositoryTest.java b/core/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepositoryTest.java index fb223ba..84168be 100644 --- a/core/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepositoryTest.java +++ b/core/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/core/AbstractAasRepositoryTest.java @@ -15,23 +15,23 @@ package de.fraunhofer.iosb.ilt.faaast.registry.core; import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceNotFoundException; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultAssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultEndpoint; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultProtocolInformation; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultSubmodelDescriptor; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.KeyTypes; import org.eclipse.digitaltwin.aas4j.v3.model.ReferenceTypes; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultAdministrativeInformation; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultAssetAdministrationShellDescriptor; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultEndpoint; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultKey; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultLangStringNameType; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultLangStringTextType; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultProtocolInformation; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultReference; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultSpecificAssetId; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultSubmodelDescriptor; import org.junit.After; import org.junit.Assert; import org.junit.Test; @@ -48,7 +48,7 @@ public void clearDatastore() {} protected DefaultSubmodelDescriptor getSubmodel() { - return DefaultSubmodelDescriptor.builder() + return new DefaultSubmodelDescriptor.Builder() .idShort("Submodel2") .id("TestSubmodel2") .description(new DefaultLangStringTextType.Builder().text("some submodel").language("en-US").build()) @@ -64,19 +64,20 @@ protected DefaultSubmodelDescriptor getSubmodel() { .revision("1") .version("1.1") .build()) - .endpoint(DefaultEndpoint.builder() - ._interface("http") - .protocolInformation(DefaultProtocolInformation.builder() - .href("localhost:8080/factory1/submodel2") - .endpointProtocol("http") + .endpoints( + new DefaultEndpoint.Builder() + ._interface("http") + .protocolInformation(new DefaultProtocolInformation.Builder() + .href("localhost:8080/factory1/submodel2") + .endpointProtocol("http") + .build()) .build()) - .build()) .build(); } protected AssetAdministrationShellDescriptor getAASWithSubmodel() { - AssetAdministrationShellDescriptor aas = DefaultAssetAdministrationShellDescriptor.builder() + AssetAdministrationShellDescriptor aas = new DefaultAssetAdministrationShellDescriptor.Builder() .idShort("Test1") .id("TestAAS1") .description(new DefaultLangStringTextType.Builder().text("some aas").language("en-US").build()) @@ -104,16 +105,16 @@ protected AssetAdministrationShellDescriptor getAASWithSubmodel() { .build()) .build()))) .globalAssetId("http://example.org/aasTest1") - .endpoint(DefaultEndpoint.builder() + .endpoints(new DefaultEndpoint.Builder() ._interface("http") - .protocolInformation(DefaultProtocolInformation.builder() + .protocolInformation(new DefaultProtocolInformation.Builder() .href("localhost:8080/factory1") .endpointProtocol("http") .build()) .build()) .build(); List submodels = new ArrayList<>(); - submodels.add(DefaultSubmodelDescriptor.builder() + submodels.add(new DefaultSubmodelDescriptor.Builder() .idShort("Submodel1") .id("TestSubmodel1") .description(new DefaultLangStringTextType.Builder().text("some submodel").language("en-US").build()) @@ -129,15 +130,15 @@ protected AssetAdministrationShellDescriptor getAASWithSubmodel() { .revision("1") .version("1.1") .build()) - .endpoint(DefaultEndpoint.builder() + .endpoints(new DefaultEndpoint.Builder() ._interface("http") - .protocolInformation(DefaultProtocolInformation.builder() + .protocolInformation(new DefaultProtocolInformation.Builder() .href("localhost:8080/factory1/submodel") .endpointProtocol("http") .build()) .build()) .build()); - aas.setSubmodels(submodels); + aas.setSubmodelDescriptors(submodels); return aas; } @@ -171,11 +172,11 @@ public void updateAAS() throws Exception { // We have to create a new AAS here, otherwise the test won't work AssetAdministrationShellDescriptor aas = getAASWithSubmodel(); aas.setIdShort("NewIdShort"); - aas.getSubmodels().get(0).setIdShort("NewSubmodelIdShort"); + aas.getSubmodelDescriptors().get(0).setIdShort("NewSubmodelIdShort"); repository.update(aasId, aas); aas = repository.getAAS(aas.getId()); Assert.assertEquals("NewIdShort", aas.getIdShort()); - Assert.assertEquals("NewSubmodelIdShort", aas.getSubmodels().get(0).getIdShort()); + Assert.assertEquals("NewSubmodelIdShort", aas.getSubmodelDescriptors().get(0).getIdShort()); } @@ -224,7 +225,7 @@ public void findStandAloneSubmodelById() throws Exception { SubmodelDescriptor findSubmodel; // Ensure, submodel of the AAS is not registered - Assert.assertThrows(ResourceNotFoundException.class, () -> repository.getSubmodel(aas.getSubmodels().get(0).getId())); + Assert.assertThrows(ResourceNotFoundException.class, () -> repository.getSubmodel(aas.getSubmodelDescriptors().get(0).getId())); findSubmodel = repository.getSubmodel(submodel.getId()); Assert.assertNotNull(findSubmodel); } diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpa.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpa.java index 2a5a469..786c4e4 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpa.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpa.java @@ -22,8 +22,6 @@ import de.fraunhofer.iosb.ilt.faaast.registry.jpa.model.JpaSubmodelDescriptorStandalone; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.util.EntityManagerHelper; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.util.ModelTransformationHelper; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.Ensure; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; @@ -31,7 +29,9 @@ import java.util.List; import java.util.Objects; import java.util.Optional; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.AssetKind; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.springframework.stereotype.Repository; @@ -103,7 +103,7 @@ public List getSubmodels(String aasId) throws ResourceNotFou ensureAasId(aasId); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - return aas.getSubmodels(); + return aas.getSubmodelDescriptors(); } @@ -120,7 +120,7 @@ public SubmodelDescriptor getSubmodel(String aasId, String submodelId) throws Re AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - List submodels = aas.getSubmodels(); + List submodels = aas.getSubmodelDescriptors(); Optional submodel = submodels.stream() .filter(x -> Objects.nonNull(x.getId()) && Objects.equals(x.getId(), submodelId)) @@ -145,11 +145,11 @@ public SubmodelDescriptor addSubmodel(String aasId, SubmodelDescriptor descripto ensureDescriptorId(descriptor); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - if (getSubmodelInternal(aas.getSubmodels(), descriptor.getId()).isPresent()) { + if (getSubmodelInternal(aas.getSubmodelDescriptors(), descriptor.getId()).isPresent()) { throw buildSubmodelAlreadyExistsException(descriptor.getId()); } JpaSubmodelDescriptor submodel = ModelTransformationHelper.convertSubmodel(descriptor); - aas.getSubmodels().add(submodel); + aas.getSubmodelDescriptors().add(submodel); entityManager.merge(aas); return submodel; } @@ -172,14 +172,14 @@ public void deleteSubmodel(String aasId, String submodelId) throws ResourceNotFo ensureSubmodelId(submodelId); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - Optional submodel = aas.getSubmodels().stream() + Optional submodel = aas.getSubmodelDescriptors().stream() .filter(x -> Objects.equals(x.getId(), submodelId) || (Objects.nonNull(x.getId()) && x.getId().equalsIgnoreCase(submodelId))) .findAny(); Ensure.require(submodel.isPresent(), buildSubmodelNotFoundInAASException(aasId, submodelId)); entityManager.remove(aas); - aas.getSubmodels().removeIf(x -> x.getId().equals(submodelId)); + aas.getSubmodelDescriptors().removeIf(x -> x.getId().equals(submodelId)); entityManager.persist(aas); } diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaAssetAdministrationShellDescriptor.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaAssetAdministrationShellDescriptor.java index df03e3e..517b80a 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaAssetAdministrationShellDescriptor.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaAssetAdministrationShellDescriptor.java @@ -15,9 +15,10 @@ package de.fraunhofer.iosb.ilt.faaast.registry.jpa.model; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.util.ModelTransformationHelper; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultAssetAdministrationShellDescriptor; import java.util.Objects; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; +import org.eclipse.digitaltwin.aas4j.v3.model.builder.AssetAdministrationShellDescriptorBuilder; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultAssetAdministrationShellDescriptor; /** @@ -26,9 +27,8 @@ public class JpaAssetAdministrationShellDescriptor extends DefaultAssetAdministrationShellDescriptor { public abstract static class AbstractBuilder> - extends DefaultAssetAdministrationShellDescriptor.AbstractBuilder { + extends AssetAdministrationShellDescriptorBuilder { - @Override public B from(AssetAdministrationShellDescriptor other) { if (Objects.nonNull(other)) { id(other.getId()); @@ -37,12 +37,12 @@ public B from(AssetAdministrationShellDescriptor other) { assetType(other.getAssetType()); endpoints(ModelTransformationHelper.convertEndpoints(other.getEndpoints())); administration(ModelTransformationHelper.convertAdministrativeInformation(other.getAdministration())); - descriptions(ModelTransformationHelper.convertDescriptions(other.getDescriptions())); - displayNames(ModelTransformationHelper.convertDisplayNames(other.getDisplayNames())); + description(ModelTransformationHelper.convertDescriptions(other.getDescription())); + displayName(ModelTransformationHelper.convertDisplayNames(other.getDisplayName())); globalAssetId(other.getGlobalAssetId()); specificAssetIds(ModelTransformationHelper.convertSpecificAssetIds(other.getSpecificAssetIds())); extensions(ModelTransformationHelper.convertExtensions(other.getExtensions())); - submodels(ModelTransformationHelper.convertSubmodels(other.getSubmodels())); + submodelDescriptors(ModelTransformationHelper.convertSubmodels(other.getSubmodelDescriptors())); } return getSelf(); } @@ -60,5 +60,6 @@ protected Builder getSelf() { protected JpaAssetAdministrationShellDescriptor newBuildingInstance() { return new JpaAssetAdministrationShellDescriptor(); } + } } diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaEndpoint.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaEndpoint.java index 591e3f4..f761612 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaEndpoint.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaEndpoint.java @@ -16,9 +16,10 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.util.ModelTransformationHelper; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.Endpoint; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultEndpoint; import java.util.Objects; +import org.eclipse.digitaltwin.aas4j.v3.model.Endpoint; +import org.eclipse.digitaltwin.aas4j.v3.model.builder.EndpointBuilder; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultEndpoint; /** @@ -68,7 +69,7 @@ else if (this.getClass() != obj.getClass()) { } } - public abstract static class AbstractBuilder> extends DefaultEndpoint.AbstractBuilder { + public abstract static class AbstractBuilder> extends EndpointBuilder { public B id(String value) { getBuildingInstance().setId(value); @@ -76,10 +77,9 @@ public B id(String value) { } - @Override public B from(Endpoint other) { if (other != null) { - _interface(other.getInterface()); + _interface(other.get_interface()); protocolInformation(ModelTransformationHelper.convertProtocolInformation(other.getProtocolInformation())); } return getSelf(); diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaProtocolInformation.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaProtocolInformation.java index 2406da9..ae64e7c 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaProtocolInformation.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaProtocolInformation.java @@ -16,11 +16,12 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.util.ModelTransformationHelper; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.ProtocolInformation; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultProtocolInformation; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import org.eclipse.digitaltwin.aas4j.v3.model.ProtocolInformation; +import org.eclipse.digitaltwin.aas4j.v3.model.builder.ProtocolInformationBuilder; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultProtocolInformation; /** @@ -96,7 +97,7 @@ else if (this.getClass() != obj.getClass()) { } public abstract static class AbstractBuilder> - extends DefaultProtocolInformation.AbstractBuilder { + extends ProtocolInformationBuilder { public B id(String value) { getBuildingInstance().setId(value); @@ -110,16 +111,17 @@ public B jpaEndpointProtocolVersion(List value) { } - @Override public B from(ProtocolInformation other) { - endpointProtocol(other.getEndpointProtocol()); - // endpointProtocolVersion is set in jpaEndpointProtocolVersion - jpaEndpointProtocolVersion(ModelTransformationHelper.convertStrings(other.getEndpointProtocolVersion())); - href(other.getHref()); - securityAttributes(ModelTransformationHelper.convertSecurityAttributes(other.getSecurityAttributes())); - subprotocol(other.getSubprotocol()); - subprotocolBody(other.getSubprotocolBody()); - subprotocolBodyEncoding(other.getSubprotocolBodyEncoding()); + if (Objects.nonNull(other)) { + endpointProtocol(other.getEndpointProtocol()); + // endpointProtocolVersion is set in jpaEndpointProtocolVersion + jpaEndpointProtocolVersion(ModelTransformationHelper.convertStrings(other.getEndpointProtocolVersion())); + href(other.getHref()); + securityAttributes(ModelTransformationHelper.convertSecurityAttributes(other.getSecurityAttributes())); + subprotocol(other.getSubprotocol()); + subprotocolBody(other.getSubprotocolBody()); + subprotocolBodyEncoding(other.getSubprotocolBodyEncoding()); + } return getSelf(); } } diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptor.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptor.java index b2e7173..fa2917d 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptor.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptor.java @@ -20,7 +20,7 @@ public class JpaSubmodelDescriptor extends JpaSubmodelDescriptorBase { public abstract static class AbstractBuilder> - extends JpaSubmodelDescriptorBase.AbstractBuilder {} + extends JpaSubmodelDescriptorBase.AbstractBuilder {} public static class Builder extends AbstractBuilder { diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorBase.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorBase.java index 181ba91..41f85b9 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorBase.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorBase.java @@ -15,8 +15,10 @@ package de.fraunhofer.iosb.ilt.faaast.registry.jpa.model; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.util.ModelTransformationHelper; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultSubmodelDescriptor; +import java.util.Objects; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; +import org.eclipse.digitaltwin.aas4j.v3.model.builder.SubmodelDescriptorBuilder; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultSubmodelDescriptor; /** @@ -27,22 +29,22 @@ public abstract class JpaSubmodelDescriptorBase extends DefaultSubmodelDescripto protected JpaSubmodelDescriptorBase() {} public abstract static class AbstractBuilder> - extends DefaultSubmodelDescriptor.AbstractBuilder { + extends SubmodelDescriptorBuilder { - @Override public B from(SubmodelDescriptor other) { - if (other != null) { + if (Objects.nonNull(other)) { id(other.getId()); idShort(other.getIdShort()); endpoints(ModelTransformationHelper.convertEndpoints(other.getEndpoints())); administration(ModelTransformationHelper.convertAdministrativeInformation(other.getAdministration())); - descriptions(ModelTransformationHelper.convertDescriptions(other.getDescriptions())); - displayNames(ModelTransformationHelper.convertDisplayNames(other.getDisplayNames())); + description(ModelTransformationHelper.convertDescriptions(other.getDescription())); + displayName(ModelTransformationHelper.convertDisplayNames(other.getDisplayName())); semanticId(ModelTransformationHelper.convertReference(other.getSemanticId())); extensions(ModelTransformationHelper.convertExtensions(other.getExtensions())); - supplementalSemanticIds(ModelTransformationHelper.convertReferences(other.getSupplementalSemanticIds())); + supplementalSemanticId(ModelTransformationHelper.convertReferences(other.getSupplementalSemanticId())); } return getSelf(); } + } } diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorStandalone.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorStandalone.java index 19feb3a..435bed9 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorStandalone.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/model/JpaSubmodelDescriptorStandalone.java @@ -20,7 +20,7 @@ public class JpaSubmodelDescriptorStandalone extends JpaSubmodelDescriptorBase { public abstract static class AbstractBuilder> - extends JpaSubmodelDescriptorBase.AbstractBuilder {} + extends JpaSubmodelDescriptorBase.AbstractBuilder {} public static class Builder extends AbstractBuilder { diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/EntityManagerHelper.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/EntityManagerHelper.java index e9a1cda..28a59f0 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/EntityManagerHelper.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/EntityManagerHelper.java @@ -15,13 +15,13 @@ package de.fraunhofer.iosb.ilt.faaast.registry.jpa.util; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.model.JpaAssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; import jakarta.persistence.EntityManager; import jakarta.persistence.criteria.CriteriaBuilder; import jakarta.persistence.criteria.Predicate; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.AssetKind; diff --git a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/ModelTransformationHelper.java b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/ModelTransformationHelper.java index 399e40d..8e46628 100644 --- a/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/ModelTransformationHelper.java +++ b/persistence/jpa/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/util/ModelTransformationHelper.java @@ -36,17 +36,15 @@ import de.fraunhofer.iosb.ilt.faaast.registry.jpa.model.JpaSubmodelDescriptorStandalone; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.model.JpaValueList; import de.fraunhofer.iosb.ilt.faaast.registry.jpa.model.JpaValueReferencePair; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.Endpoint; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.ProtocolInformation; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; import org.eclipse.digitaltwin.aas4j.v3.model.AdministrativeInformation; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.DataSpecificationIec61360; import org.eclipse.digitaltwin.aas4j.v3.model.EmbeddedDataSpecification; +import org.eclipse.digitaltwin.aas4j.v3.model.Endpoint; import org.eclipse.digitaltwin.aas4j.v3.model.Extension; import org.eclipse.digitaltwin.aas4j.v3.model.Key; import org.eclipse.digitaltwin.aas4j.v3.model.LangStringDefinitionTypeIec61360; @@ -55,9 +53,11 @@ import org.eclipse.digitaltwin.aas4j.v3.model.LangStringShortNameTypeIec61360; import org.eclipse.digitaltwin.aas4j.v3.model.LangStringTextType; import org.eclipse.digitaltwin.aas4j.v3.model.LevelType; +import org.eclipse.digitaltwin.aas4j.v3.model.ProtocolInformation; import org.eclipse.digitaltwin.aas4j.v3.model.Reference; import org.eclipse.digitaltwin.aas4j.v3.model.SecurityAttributeObject; import org.eclipse.digitaltwin.aas4j.v3.model.SpecificAssetId; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.ValueList; import org.eclipse.digitaltwin.aas4j.v3.model.ValueReferencePair; diff --git a/persistence/jpa/src/main/resources/META-INF/orm.xml b/persistence/jpa/src/main/resources/META-INF/orm.xml index 863d926..dd7c53a 100644 --- a/persistence/jpa/src/main/resources/META-INF/orm.xml +++ b/persistence/jpa/src/main/resources/META-INF/orm.xml @@ -17,50 +17,45 @@ - + + - + - + - - - - - + - + - + - - - - - - - - - + + + + + + - - + + - + + @@ -98,7 +93,7 @@ - + @@ -130,9 +125,9 @@ - + - + @@ -177,15 +172,35 @@ - + + + + + + + + + + + + + + + + + + + + - + + diff --git a/persistence/jpa/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpaTest.java b/persistence/jpa/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpaTest.java index 8a52951..2e85c2b 100644 --- a/persistence/jpa/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpaTest.java +++ b/persistence/jpa/src/test/java/de/fraunhofer/iosb/ilt/faaast/registry/jpa/AasRepositoryJpaTest.java @@ -17,9 +17,9 @@ import static org.assertj.core.api.Assertions.assertThat; import de.fraunhofer.iosb.ilt.faaast.registry.core.AbstractAasRepositoryTest; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import jakarta.persistence.EntityManager; import org.assertj.core.api.recursive.comparison.RecursiveComparisonConfiguration; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence/memory/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/memory/AasRepositoryMemory.java b/persistence/memory/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/memory/AasRepositoryMemory.java index 63e6bd8..cd22695 100644 --- a/persistence/memory/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/memory/AasRepositoryMemory.java +++ b/persistence/memory/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/memory/AasRepositoryMemory.java @@ -17,8 +17,6 @@ import de.fraunhofer.iosb.ilt.faaast.registry.core.AbstractAasRepository; import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceAlreadyExistsException; import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceNotFoundException; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.Ensure; import java.util.ArrayList; import java.util.HashMap; @@ -26,7 +24,9 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.AssetKind; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; /** @@ -105,7 +105,7 @@ public List getSubmodels(String aasId) throws ResourceNotFou ensureAasId(aasId); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - return aas.getSubmodels(); + return aas.getSubmodelDescriptors(); } @@ -121,7 +121,7 @@ public SubmodelDescriptor getSubmodel(String aasId, String submodelId) throws Re ensureSubmodelId(submodelId); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - List submodels = aas.getSubmodels(); + List submodels = aas.getSubmodelDescriptors(); Optional submodel = getSubmodelInternal(submodels, submodelId); Ensure.require(submodel.isPresent(), buildSubmodelNotFoundInAASException(aasId, submodelId)); return submodel.get(); @@ -142,10 +142,10 @@ public SubmodelDescriptor addSubmodel(String aasId, SubmodelDescriptor descripto ensureDescriptorId(descriptor); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - if (getSubmodelInternal(aas.getSubmodels(), descriptor.getId()).isPresent()) { + if (getSubmodelInternal(aas.getSubmodelDescriptors(), descriptor.getId()).isPresent()) { throw buildSubmodelAlreadyExistsException(descriptor.getId()); } - aas.getSubmodels().add(descriptor); + aas.getSubmodelDescriptors().add(descriptor); return descriptor; } @@ -167,7 +167,7 @@ public void deleteSubmodel(String aasId, String submodelId) throws ResourceNotFo ensureSubmodelId(submodelId); AssetAdministrationShellDescriptor aas = fetchAAS(aasId); Ensure.requireNonNull(aas, buildAASNotFoundException(aasId)); - boolean found = aas.getSubmodels().removeIf(x -> Objects.equals(x.getId(), submodelId)); + boolean found = aas.getSubmodelDescriptors().removeIf(x -> Objects.equals(x.getId(), submodelId)); Ensure.require(found, buildSubmodelNotFoundException(submodelId)); submodelDescriptors.remove(submodelId); } @@ -188,25 +188,21 @@ private AssetAdministrationShellDescriptor fetchAAS(String aasId) { private static boolean filterAssetType(AssetAdministrationShellDescriptor aas, String assetType) { - boolean retval; if (assetType == null) { - retval = true; + return true; } else { - retval = aas.getAssetType().equals(assetType); + return aas.getAssetType().equals(assetType); } - return retval; } private static boolean filterAssetKind(AssetAdministrationShellDescriptor aas, AssetKind assetKind) { - boolean retval; if (assetKind == null) { - retval = true; + return true; } else { - retval = aas.getAssetKind() == assetKind; + return aas.getAssetKind() == assetKind; } - return retval; } } diff --git a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/RegistryService.java b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/RegistryService.java index 02d798d..fa2769c 100644 --- a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/RegistryService.java +++ b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/RegistryService.java @@ -22,14 +22,14 @@ import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.Page; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.PagingInfo; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.PagingMetadata; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper; import de.fraunhofer.iosb.ilt.faaast.service.util.Ensure; import java.util.List; import java.util.Objects; import java.util.stream.Stream; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.AssetKind; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -96,8 +96,8 @@ public AssetAdministrationShellDescriptor getAAS(String id) throws ResourceNotFo public AssetAdministrationShellDescriptor createAAS(AssetAdministrationShellDescriptor aas) throws ResourceAlreadyExistsException { ConstraintHelper.validate(aas); LOGGER.debug("createAAS: {}", aas.getId()); - if (aas.getSubmodels() != null) { - aas.getSubmodels().stream().forEach(this::checkSubmodelIdentifiers); + if (aas.getSubmodelDescriptors() != null) { + aas.getSubmodelDescriptors().stream().forEach(this::checkSubmodelIdentifiers); } return aasRepository.create(aas); } @@ -129,7 +129,7 @@ public AssetAdministrationShellDescriptor updateAAS(String id, AssetAdministrati String idDecoded = EncodingHelper.base64UrlDecode(id); LOGGER.debug("updateAAS: {}", idDecoded); checkShellIdentifiers(aas); - aas.getSubmodels().stream().forEach(this::checkSubmodelIdentifiers); + aas.getSubmodelDescriptors().stream().forEach(this::checkSubmodelIdentifiers); return aasRepository.update(idDecoded, aas); } diff --git a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/ShellRegistryController.java b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/ShellRegistryController.java index 66b7548..edb5511 100644 --- a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/ShellRegistryController.java +++ b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/ShellRegistryController.java @@ -19,11 +19,11 @@ import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceNotFoundException; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.Page; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.PagingInfo; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper; import java.net.URI; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.AssetKind; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/SubmodelRegistryController.java b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/SubmodelRegistryController.java index 2f9927f..bf45351 100644 --- a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/SubmodelRegistryController.java +++ b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/SubmodelRegistryController.java @@ -19,9 +19,9 @@ import de.fraunhofer.iosb.ilt.faaast.registry.core.exception.ResourceNotFoundException; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.Page; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.PagingInfo; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper; import java.net.URI; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/config/DescriptorMapperConfig.java b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/config/DescriptorMapperConfig.java index 9b3e3fa..1dcf203 100644 --- a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/config/DescriptorMapperConfig.java +++ b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/config/DescriptorMapperConfig.java @@ -21,21 +21,20 @@ import com.fasterxml.jackson.databind.util.StdDateFormat; import de.fraunhofer.iosb.ilt.faaast.service.dataformat.json.mixins.PageMixin; import de.fraunhofer.iosb.ilt.faaast.service.model.api.paging.Page; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.Endpoint; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.ProtocolInformation; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultAssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultEndpoint; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultProtocolInformation; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.impl.DefaultSubmodelDescriptor; import org.eclipse.digitaltwin.aas4j.v3.dataformat.core.internal.deserialization.EnumDeserializer; import org.eclipse.digitaltwin.aas4j.v3.dataformat.core.internal.serialization.EnumSerializer; import org.eclipse.digitaltwin.aas4j.v3.dataformat.core.internal.util.ReflectionHelper; +import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.internal.mixins.DataSpecificationIec61360Mixin; +import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.internal.mixins.EndpointMixin; +import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.internal.mixins.ExtensionMixin; +import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.internal.mixins.KeyMixin; +import org.eclipse.digitaltwin.aas4j.v3.dataformat.json.internal.mixins.ReferenceMixin; import org.eclipse.digitaltwin.aas4j.v3.model.AdministrativeInformation; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.DataSpecificationContent; import org.eclipse.digitaltwin.aas4j.v3.model.DataSpecificationIec61360; import org.eclipse.digitaltwin.aas4j.v3.model.EmbeddedDataSpecification; +import org.eclipse.digitaltwin.aas4j.v3.model.Endpoint; import org.eclipse.digitaltwin.aas4j.v3.model.Extension; import org.eclipse.digitaltwin.aas4j.v3.model.Key; import org.eclipse.digitaltwin.aas4j.v3.model.LangStringDefinitionTypeIec61360; @@ -44,14 +43,18 @@ import org.eclipse.digitaltwin.aas4j.v3.model.LangStringShortNameTypeIec61360; import org.eclipse.digitaltwin.aas4j.v3.model.LangStringTextType; import org.eclipse.digitaltwin.aas4j.v3.model.LevelType; +import org.eclipse.digitaltwin.aas4j.v3.model.ProtocolInformation; import org.eclipse.digitaltwin.aas4j.v3.model.Reference; import org.eclipse.digitaltwin.aas4j.v3.model.SecurityAttributeObject; import org.eclipse.digitaltwin.aas4j.v3.model.SpecificAssetId; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.ValueList; import org.eclipse.digitaltwin.aas4j.v3.model.ValueReferencePair; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultAdministrativeInformation; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultAssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultDataSpecificationIec61360; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultEmbeddedDataSpecification; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultEndpoint; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultExtension; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultKey; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultLangStringDefinitionTypeIec61360; @@ -60,9 +63,11 @@ import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultLangStringShortNameTypeIec61360; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultLangStringTextType; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultLevelType; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultProtocolInformation; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultReference; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultSecurityAttributeObject; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultSpecificAssetId; +import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultSubmodelDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultValueList; import org.eclipse.digitaltwin.aas4j.v3.model.impl.DefaultValueReferencePair; import org.springframework.context.annotation.Bean; @@ -117,6 +122,11 @@ public Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder() { return new Jackson2ObjectMapperBuilder() .modules(module) .mixIn(Page.class, PageMixin.class) + .mixIn(Endpoint.class, EndpointMixin.class) + .mixIn(DataSpecificationIec61360.class, DataSpecificationIec61360Mixin.class) + .mixIn(Extension.class, ExtensionMixin.class) + .mixIn(Key.class, KeyMixin.class) + .mixIn(Reference.class, ReferenceMixin.class) .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) .featuresToEnable(SerializationFeature.WRITE_DATES_WITH_ZONE_ID) .dateFormat(new StdDateFormat().withColonInTimeZone(true)); diff --git a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/ConstraintHelper.java b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/ConstraintHelper.java index a6b3e71..db3f334 100644 --- a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/ConstraintHelper.java +++ b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/ConstraintHelper.java @@ -15,16 +15,16 @@ package de.fraunhofer.iosb.ilt.faaast.registry.service.helper; import de.fraunhofer.iosb.ilt.faaast.registry.service.RegistryService; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.AssetAdministrationShellDescriptor; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.SubmodelDescriptor; import de.fraunhofer.iosb.ilt.faaast.service.util.Ensure; import java.util.List; import java.util.regex.Pattern; import org.eclipse.digitaltwin.aas4j.v3.model.AdministrativeInformation; +import org.eclipse.digitaltwin.aas4j.v3.model.AssetAdministrationShellDescriptor; import org.eclipse.digitaltwin.aas4j.v3.model.Extension; import org.eclipse.digitaltwin.aas4j.v3.model.LangStringNameType; import org.eclipse.digitaltwin.aas4j.v3.model.LangStringTextType; import org.eclipse.digitaltwin.aas4j.v3.model.SpecificAssetId; +import org.eclipse.digitaltwin.aas4j.v3.model.SubmodelDescriptor; /** @@ -59,15 +59,15 @@ public static void validate(AssetAdministrationShellDescriptor aas) { Ensure.requireNonNull(aas, RegistryService.AAS_NOT_NULL_TXT); CommonConstraintHelper.checkId(aas.getId()); CommonConstraintHelper.checkIdShort(aas.getIdShort()); - checkDescriptions(aas.getDescriptions()); - checkDisplayNames(aas.getDisplayNames()); + checkDescriptions(aas.getDescription()); + checkDisplayNames(aas.getDisplayName()); checkExtensions(aas.getExtensions()); checkAdministrativeInformation(aas.getAdministration()); CommonConstraintHelper.checkText(aas.getAssetType(), MAX_IDENTIFIER_LENGTH, false, "Asset Type"); EndpointConstraintHelper.checkEndpoints(aas.getEndpoints()); CommonConstraintHelper.checkText(aas.getGlobalAssetId(), MAX_IDENTIFIER_LENGTH, false, "Global Asset ID"); checkSpecificAssetIds(aas.getSpecificAssetIds()); - checkSubmodels(aas.getSubmodels()); + checkSubmodels(aas.getSubmodelDescriptors()); } @@ -92,8 +92,8 @@ private static void checkSubmodel(SubmodelDescriptor submodel) { Ensure.requireNonNull(submodel, RegistryService.SUBMODEL_NOT_NULL_TXT); CommonConstraintHelper.checkId(submodel.getId()); CommonConstraintHelper.checkIdShort(submodel.getIdShort()); - checkDescriptions(submodel.getDescriptions()); - checkDisplayNames(submodel.getDisplayNames()); + checkDescriptions(submodel.getDescription()); + checkDisplayNames(submodel.getDisplayName()); checkExtensions(submodel.getExtensions()); checkAdministrativeInformation(submodel.getAdministration()); EndpointConstraintHelper.checkEndpoints(submodel.getEndpoints()); @@ -102,7 +102,7 @@ private static void checkSubmodel(SubmodelDescriptor submodel) { CommonConstraintHelper.raiseConstraintViolatedException("submodel doesn't have an endpoint"); } CommonConstraintHelper.checkReference(submodel.getSemanticId()); - CommonConstraintHelper.checkReferences(submodel.getSupplementalSemanticIds()); + CommonConstraintHelper.checkReferences(submodel.getSupplementalSemanticId()); } diff --git a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/EndpointConstraintHelper.java b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/EndpointConstraintHelper.java index 65776cc..f1f9d27 100644 --- a/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/EndpointConstraintHelper.java +++ b/service/src/main/java/de/fraunhofer/iosb/ilt/faaast/registry/service/helper/EndpointConstraintHelper.java @@ -16,9 +16,9 @@ import static de.fraunhofer.iosb.ilt.faaast.registry.service.helper.ConstraintHelper.MAX_IDSHORT_LENGTH; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.Endpoint; -import de.fraunhofer.iosb.ilt.faaast.service.model.descriptor.ProtocolInformation; import java.util.List; +import org.eclipse.digitaltwin.aas4j.v3.model.Endpoint; +import org.eclipse.digitaltwin.aas4j.v3.model.ProtocolInformation; import org.eclipse.digitaltwin.aas4j.v3.model.SecurityAttributeObject; @@ -44,7 +44,7 @@ public static void checkEndpoints(List endpoints) { private static void checkEndpoint(Endpoint endpoint) { if (endpoint != null) { - CommonConstraintHelper.checkText(endpoint.getInterface(), MAX_IDSHORT_LENGTH, true, "Interface"); + CommonConstraintHelper.checkText(endpoint.get_interface(), MAX_IDSHORT_LENGTH, true, "Interface"); checkProtocolInformation(endpoint.getProtocolInformation()); } }