From a2e499c16ed7574aeee6394ace218d3872faacd1 Mon Sep 17 00:00:00 2001 From: ChetanT-System Date: Fri, 26 Apr 2024 11:58:25 +0530 Subject: [PATCH] - Refactored/Updated PartASPlanned and SingleLevelBoMAsPlanned maven module to support multi version. --- CHANGELOG.md | 1 + .../part-as-planned/part-as-planned.md | 5 - .../submodels/pap/PartAsPlannedExecutor.java | 153 ------------ .../submodels/pap/PartAsPlannedSubmodel.java | 10 +- .../pap/entity/PartAsPlannedEntity.java | 59 ----- .../pap/mapper/PartAsPlannedMapper.java | 85 ------- .../submodels/pap/model/PartAsPlanned.java | 62 ----- .../model/PartAsPlannedAspectResponse.java | 36 --- .../pap/model/PartTypeInformation.java | 35 --- .../submodels/pap/model/ValidityPeriod.java | 34 --- .../repository/PartAsPlannedRepository.java | 45 ---- .../pap/services/PartAsPlannedService.java | 107 -------- .../DigitalTwinsPartAsPlannedHandlerStep.java | 132 ---------- .../steps/EDCPartAsPlannedHandlerStep.java | 77 ------ .../steps/StorePartAsPlannedHandlerStep.java | 45 ---- .../main/resources/images/partasplanned.png | Bin 177106 -> 0 bytes .../src/main/resources/part-as-planned.json | 29 ++- .../src/main/resources/partAsPlanned.csv | 3 - .../single-level-bom-as-planned.md | 12 +- .../SingleLevelBoMAsPlannedExecutor.java | 156 ------------ ....java => SingleLevelBoMAsPlannedV101.java} | 14 +- .../slbap/SingleLevelBoMAsPlannedV300.java | 55 +++++ .../entity/SingleLevelBoMAsPlannedEntity.java | 71 ------ .../SingleLevelBoMAsPlannedPrimaryKey.java | 35 --- .../mapper/SingleLevelBoMAsPlannedMapper.java | 104 -------- .../sde/submodels/slbap/model/ChildParts.java | 36 --- .../slbap/model/MeasurementUnit.java | 34 --- .../sde/submodels/slbap/model/Quantity.java | 34 --- .../slbap/model/SingleLevelBoMAsPlanned.java | 71 ------ ...SingleLevelBoMAsPlannedAspectResponse.java | 36 --- .../SingleLevelBoMAsPlannedRepository.java | 39 --- .../SingleLevelBoMAsPlannedService.java | 110 --------- ...insSingleLevelBoMAsPlannedHandlerStep.java | 171 ------------- ...EDCSingleLevelBoMAsPlannedHandlerStep.java | 79 ------ .../SingleLevelBoMASPlannedUUIDUrnUUID.java | 68 ----- .../StoreSingleLevelBoMAsPlannedStep.java | 45 ---- .../resources/SingleLevelBoMAsPlanned.csv | 3 - .../images/singlelevelbomasplanned.png | Bin 175239 -> 0 bytes .../single-level-bom-as-planned-v1.0.1.json | 167 +++++++++++++ .../single-level-bom-as-planned-v3.0.0.json | 233 ++++++++++++++++++ 40 files changed, 498 insertions(+), 1993 deletions(-) delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedExecutor.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/entity/PartAsPlannedEntity.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/mapper/PartAsPlannedMapper.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlanned.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlannedAspectResponse.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartTypeInformation.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/ValidityPeriod.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/repository/PartAsPlannedRepository.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/services/PartAsPlannedService.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/DigitalTwinsPartAsPlannedHandlerStep.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/EDCPartAsPlannedHandlerStep.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/StorePartAsPlannedHandlerStep.java delete mode 100644 modules/sde-submodules/part-as-planned/src/main/resources/images/partasplanned.png delete mode 100644 modules/sde-submodules/part-as-planned/src/main/resources/partAsPlanned.csv delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedExecutor.java rename modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/{SingleLevelBoMAsPlannedSubmodel.java => SingleLevelBoMAsPlannedV101.java} (78%) create mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV300.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedEntity.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedPrimaryKey.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/mapper/SingleLevelBoMAsPlannedMapper.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/ChildParts.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/MeasurementUnit.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/Quantity.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlanned.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlannedAspectResponse.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/repository/SingleLevelBoMAsPlannedRepository.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/services/SingleLevelBoMAsPlannedService.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/DigitalTwinsSingleLevelBoMAsPlannedHandlerStep.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/EDCSingleLevelBoMAsPlannedHandlerStep.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/SingleLevelBoMASPlannedUUIDUrnUUID.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/StoreSingleLevelBoMAsPlannedStep.java delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/resources/SingleLevelBoMAsPlanned.csv delete mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/resources/images/singlelevelbomasplanned.png create mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/resources/single-level-bom-as-planned-v1.0.1.json create mode 100644 modules/sde-submodules/single-level-bom-as-planned/src/main/resources/single-level-bom-as-planned-v3.0.0.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 0450030c0..22a6ad24b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Supported new single level bom as built submodel with multi version support. - New maven module for part type information submodel support. - Refactored/Updated batch maven module to support multi version. +- Refactored/Updated PartAsPlanned and SingleLevelBoMAsPlanned maven module to support multi version. ## [2.3.6] - 2024-03-06 ### Fixed diff --git a/modules/sde-submodules/part-as-planned/part-as-planned.md b/modules/sde-submodules/part-as-planned/part-as-planned.md index 4f37bb7cc..8b1f1ce00 100644 --- a/modules/sde-submodules/part-as-planned/part-as-planned.md +++ b/modules/sde-submodules/part-as-planned/part-as-planned.md @@ -32,8 +32,6 @@ Please find below links for schema details: #### Example for submodel PartAsPlanned -



- ### Work Flow - CSV to POJO @@ -48,6 +46,3 @@ Please find below links for schema details: - DigitalTwins - EDC Connectors - - -[CSV Sample File Link]: src/main/resources/partAsPlanned.csv diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedExecutor.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedExecutor.java deleted file mode 100644 index d6288f8c4..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedExecutor.java +++ /dev/null @@ -1,153 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.eclipse.tractusx.sde.bpndiscovery.handler.BPNDiscoveryUseCaseHandler; -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.entities.PolicyModel; -import org.eclipse.tractusx.sde.common.entities.csv.RowData; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerDigitalTwinUseCaseException; -import org.eclipse.tractusx.sde.common.submodel.executor.SubmodelExecutor; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.CsvParse; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.GenerateUrnUUID; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.JsonRecordFormating; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.JsonRecordValidate; -import org.eclipse.tractusx.sde.submodels.pap.mapper.PartAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlanned; -import org.eclipse.tractusx.sde.submodels.pap.services.PartAsPlannedService; -import org.eclipse.tractusx.sde.submodels.pap.steps.DigitalTwinsPartAsPlannedHandlerStep; -import org.eclipse.tractusx.sde.submodels.pap.steps.EDCPartAsPlannedHandlerStep; -import org.eclipse.tractusx.sde.submodels.pap.steps.StorePartAsPlannedHandlerStep; -import org.springframework.stereotype.Service; - -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.gson.JsonObject; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; - -@Service -@RequiredArgsConstructor -public class PartAsPlannedExecutor extends SubmodelExecutor { - - private final PartAsPlannedMapper partAsPlannedMapper; - - private final CsvParse csvParseStep; - - private final JsonRecordFormating jsonRecordformater; - - private final GenerateUrnUUID generateUrnUUID; - - private final JsonRecordValidate jsonRecordValidate; - - private final DigitalTwinsPartAsPlannedHandlerStep digitalTwinsPartAsPlannedCsvHandlerUseCase; - - private final EDCPartAsPlannedHandlerStep eDCPartAsPlannedHandlerUseCase; - - private final StorePartAsPlannedHandlerStep storePartAsPlannedCsvHandlerUseCase; - - private final PartAsPlannedService partAsPlannedService; - - private final BPNDiscoveryUseCaseHandler bPNDiscoveryUseCaseHandler; - - @SneakyThrows - public void executeCsvRecord(RowData rowData, ObjectNode jsonObject, String processId, PolicyModel policy) { - - csvParseStep.init(getSubmodelSchema()); - csvParseStep.run(rowData, jsonObject, processId); - - nextSteps(rowData.position(), jsonObject, processId, policy); - - } - - @SneakyThrows - public void executeJsonRecord(Integer rowIndex, ObjectNode jsonObject, String processId, PolicyModel policy) { - - jsonRecordformater.init(getSubmodelSchema()); - jsonRecordformater.run(rowIndex, jsonObject, processId); - - nextSteps(rowIndex, jsonObject, processId, policy); - - } - - @SneakyThrows - private void nextSteps(Integer rowIndex, ObjectNode jsonObject, String processId, PolicyModel policy) - throws CsvHandlerDigitalTwinUseCaseException { - - generateUrnUUID.run(jsonObject, processId); - - jsonRecordValidate.init(getSubmodelSchema()); - jsonRecordValidate.run(rowIndex, jsonObject); - - PartAsPlanned partAsPlannedAspect = partAsPlannedMapper.mapFrom(jsonObject); - - digitalTwinsPartAsPlannedCsvHandlerUseCase.init(getSubmodelSchema()); - digitalTwinsPartAsPlannedCsvHandlerUseCase.run(partAsPlannedAspect, policy); - - eDCPartAsPlannedHandlerUseCase.init(getSubmodelSchema()); - eDCPartAsPlannedHandlerUseCase.run(getNameOfModel(), partAsPlannedAspect, processId, policy); - - if (StringUtils.isBlank(partAsPlannedAspect.getUpdated())) { - Map bpnKeyMap = new HashMap<>(); - bpnKeyMap.put(CommonConstants.MANUFACTURER_PART_ID, partAsPlannedAspect.getManufacturerPartId()); - bPNDiscoveryUseCaseHandler.run(bpnKeyMap); - } - - storePartAsPlannedCsvHandlerUseCase.run(partAsPlannedAspect); - } - - - public void executeDeleteRecord(JsonObject jsonObject, String delProcessId, String refProcessId) { - partAsPlannedService.deleteAllDataBySequence(jsonObject); - } - - @Override - public List readCreatedTwinsforDelete(String refProcessId) { - return partAsPlannedService.readCreatedTwinsforDelete(refProcessId); - } - - @Override - public JsonObject readCreatedTwinsDetails(String uuid) { - return partAsPlannedService.readCreatedTwinsDetails(uuid); - } - - @Override - public int getUpdatedRecordCount(String processId) { - return partAsPlannedService.getUpdatedData(processId); - } - - @Override - public List readCreatedTwinsByProcessId(String refProcessId) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void executeDeleteRecord(Integer rowIndex, JsonObject jsonObject, String delProcessId, String refProcessId) { - // TODO Auto-generated method stub - - } - -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedSubmodel.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedSubmodel.java index 22d2be7dd..186d99bb9 100644 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedSubmodel.java +++ b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/PartAsPlannedSubmodel.java @@ -1,6 +1,6 @@ /******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2022, 2024 T-Systems International GmbH + * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. @@ -23,7 +23,6 @@ import org.eclipse.tractusx.sde.common.extensions.SubmodelExtension; import org.eclipse.tractusx.sde.common.model.Submodel; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import jakarta.annotation.PostConstruct; @@ -33,9 +32,6 @@ public class PartAsPlannedSubmodel extends SubmodelExtension { private Submodel submodel = null; - @Autowired - private PartAsPlannedExecutor partAsPlannedExecutor; - @PostConstruct public void init() { @@ -48,8 +44,6 @@ public void init() { } submodel = loadSubmodel(input); - - submodel.setExecutor(partAsPlannedExecutor); submodel.addProperties("tableName", "part_as_planned"); } diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/entity/PartAsPlannedEntity.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/entity/PartAsPlannedEntity.java deleted file mode 100644 index 11fb7dba6..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/entity/PartAsPlannedEntity.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.entity; - -import org.eclipse.tractusx.sde.common.entities.CommonPropEntity; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Table(name = "part_as_planned") -@Entity -@Data -@EqualsAndHashCode(callSuper = false) -public class PartAsPlannedEntity extends CommonPropEntity { - - @Id - @Column(name = "uuid") - private String uuid; - - @Column(name = "manufacturer_part_id") - private String manufacturerPartId; - - @Column(name = "classification") - private String classification; - - @Column(name = "name_at_manufacturer") - private String nameAtManufacturer; - - @Column(name = "customer_part_id") - private String customerPartId; - - @Column(name = "valid_from") - private String validFrom; - - @Column(name = "valid_to") - private String validTo; - -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/mapper/PartAsPlannedMapper.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/mapper/PartAsPlannedMapper.java deleted file mode 100644 index 8c1767d93..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/mapper/PartAsPlannedMapper.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.mapper; - -import org.eclipse.tractusx.sde.common.mapper.AspectResponseFactory; -import org.eclipse.tractusx.sde.submodels.pap.entity.PartAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlanned; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlannedAspectResponse; -import org.eclipse.tractusx.sde.submodels.pap.model.PartTypeInformation; -import org.eclipse.tractusx.sde.submodels.pap.model.ValidityPeriod; -import org.mapstruct.Mapper; -import org.springframework.beans.factory.annotation.Autowired; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.gson.Gson; -import com.google.gson.JsonObject; - -import lombok.SneakyThrows; - -@Mapper(componentModel = "spring") -public abstract class PartAsPlannedMapper { - - ObjectMapper mapper = new ObjectMapper(); - - @Autowired - private AspectResponseFactory aspectResponseFactory; - - //@Mapping(target = "partAsPlannedEntity.rowNumber", ignore = true) - public abstract PartAsPlanned mapFrom(PartAsPlannedEntity partAsPlannedEntity); - - public abstract PartAsPlannedEntity mapFrom(PartAsPlanned partAsPlanned); - - @SneakyThrows - public PartAsPlanned mapFrom(ObjectNode partAsPlanned) { - return mapper.readValue(partAsPlanned.toString(), PartAsPlanned.class); - } - - public PartAsPlannedEntity mapforEntity(JsonObject partAsPlannedAspect) { - return new Gson().fromJson(partAsPlannedAspect, PartAsPlannedEntity.class); - } - - public JsonObject mapFromEntity(PartAsPlannedEntity partAsPlannedAspectAspect) { - return new Gson().toJsonTree(partAsPlannedAspectAspect).getAsJsonObject(); - } - - public JsonObject mapToResponse(PartAsPlannedEntity entity) { - - if (entity == null) { - return null; - } - - PartTypeInformation partTypeInformation = PartTypeInformation.builder() - .manufacturerPartId(entity.getManufacturerPartId()).classification(entity.getClassification()) - .nameAtManufacturer(entity.getNameAtManufacturer()).build(); - - ValidityPeriod validityPeriod = ValidityPeriod.builder().validFrom(entity.getValidFrom()) - .validTo(entity.getValidTo()).build(); - - PartAsPlannedAspectResponse build = PartAsPlannedAspectResponse.builder() - .partTypeInformation(partTypeInformation).validityPeriod(validityPeriod).catenaXId(entity.getUuid()) - .build(); - - PartAsPlanned csvObj = mapFrom(entity); - - return aspectResponseFactory.maptoReponse(csvObj, build); - } -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlanned.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlanned.java deleted file mode 100644 index 1a34c9fb9..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlanned.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.model; - -import org.eclipse.tractusx.sde.common.entities.CommonPropEntity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -@EqualsAndHashCode(callSuper = false) -public class PartAsPlanned extends CommonPropEntity { - - @JsonProperty(value = "uuid") - private String uuid; - - @JsonProperty(value = "manufacturer_part_id") - private String manufacturerPartId; - - @JsonProperty(value = "customer_part_id") - private String customerPartId; - - @JsonProperty(value = "classification") - private String classification; - - @JsonProperty(value = "name_at_manufacturer") - private String nameAtManufacturer; - - @JsonProperty(value = "valid_from") - private String validFrom; - - @JsonProperty(value = "valid_to") - private String validTo; - -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlannedAspectResponse.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlannedAspectResponse.java deleted file mode 100644 index 37149b662..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartAsPlannedAspectResponse.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.model; - - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Builder -@Data -@AllArgsConstructor -public class PartAsPlannedAspectResponse { - - private PartTypeInformation partTypeInformation; - private ValidityPeriod validityPeriod; - private String catenaXId; - -} diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartTypeInformation.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartTypeInformation.java deleted file mode 100644 index 0811311f4..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/PartTypeInformation.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Builder -@Data -@AllArgsConstructor -public class PartTypeInformation { - - private String classification; - private String manufacturerPartId; - private String nameAtManufacturer; - -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/ValidityPeriod.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/ValidityPeriod.java deleted file mode 100644 index e7cda3a0b..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/model/ValidityPeriod.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Builder -@Data -@AllArgsConstructor -public class ValidityPeriod { - - private String validFrom; - private String validTo; - -} diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/repository/PartAsPlannedRepository.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/repository/PartAsPlannedRepository.java deleted file mode 100644 index 490226acf..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/repository/PartAsPlannedRepository.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.repository; - -import java.util.List; - -import org.eclipse.tractusx.sde.submodels.pap.entity.PartAsPlannedEntity; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.CrudRepository; - -public interface PartAsPlannedRepository extends CrudRepository { - - PartAsPlannedEntity findByManufacturerPartIdAndNameAtManufacturer(String manufacturerPartId, String nameAtManufacturer); - - default PartAsPlannedEntity findByIdentifiers(String manufacturerPartId) { - return findByManufacturerPartId(manufacturerPartId); - } - - PartAsPlannedEntity findByUuid(String uuid); - - List findByProcessId(String processId); - - PartAsPlannedEntity findByManufacturerPartId(String manufacturerPartId); - - @Query("select count(pe) from PartAsPlannedEntity pe where pe.updated = ?1 and pe.processId = ?2") - long countByUpdatedAndProcessId(String updated, String processId); - -} diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/services/PartAsPlannedService.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/services/PartAsPlannedService.java deleted file mode 100644 index 2cd5f13c7..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/services/PartAsPlannedService.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.services; - -import java.util.List; -import java.util.Optional; - -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.exception.NoDataFoundException; -import org.eclipse.tractusx.sde.digitaltwins.facilitator.DigitalTwinsFacilitator; -import org.eclipse.tractusx.sde.edc.facilitator.DeleteEDCFacilitator; -import org.eclipse.tractusx.sde.submodels.pap.entity.PartAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.pap.mapper.PartAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.pap.repository.PartAsPlannedRepository; -import org.springframework.stereotype.Service; - -import com.google.gson.JsonObject; - -import lombok.AllArgsConstructor; - -@Service -@AllArgsConstructor -public class PartAsPlannedService { - - private final PartAsPlannedRepository partAsPlannedRepository; - - private final PartAsPlannedMapper partAsPlannedMapper; - - private final DeleteEDCFacilitator deleteEDCFacilitator; - - private final DigitalTwinsFacilitator deleteDigitalTwinsFacilitator; - - public List readCreatedTwinsforDelete(String refProcessId) { - - return Optional - .ofNullable(Optional.ofNullable(partAsPlannedRepository.findByProcessId(refProcessId)) - .filter(a -> !a.isEmpty()) - .orElseThrow(() -> new NoDataFoundException( - String.format("No data found for processid %s ", refProcessId))) - .stream().filter(e -> !CommonConstants.DELETED_Y.equals(e.getDeleted())) - .map(partAsPlannedMapper::mapFromEntity).toList()) - .filter(a -> !a.isEmpty()).orElseThrow( - () -> new NoDataFoundException("No data founds for deletion, All records are already deleted")); - - } - - public void deleteAllDataBySequence(JsonObject jsonObject) { - - PartAsPlannedEntity partAsPlannedEntity = partAsPlannedMapper.mapforEntity(jsonObject); - - deleteEDCAsset(partAsPlannedEntity); - - deleteDigitalTwinsFacilitator.deleteSubmodelfromShellById(partAsPlannedEntity.getShellId(), - partAsPlannedEntity.getSubModelId()); - - saveAspectWithDeleted(partAsPlannedEntity); - } - - public void deleteEDCAsset(PartAsPlannedEntity partAsPlannedEntity) { - - deleteEDCFacilitator.deleteContractDefination(partAsPlannedEntity.getContractDefinationId()); - - deleteEDCFacilitator.deleteAccessPolicy(partAsPlannedEntity.getAccessPolicyId()); - - deleteEDCFacilitator.deleteUsagePolicy(partAsPlannedEntity.getUsagePolicyId()); - - deleteEDCFacilitator.deleteAssets(partAsPlannedEntity.getAssetId()); - } - - private void saveAspectWithDeleted(PartAsPlannedEntity aspectEntity) { - - aspectEntity.setDeleted(CommonConstants.DELETED_Y); - partAsPlannedRepository.save(aspectEntity); - } - - public JsonObject readCreatedTwinsDetails(String uuid) { - return partAsPlannedMapper.mapToResponse(readEntity(uuid)); - } - - public int getUpdatedData(String refProcessId) { - - return (int) partAsPlannedRepository.countByUpdatedAndProcessId(CommonConstants.UPDATED_Y, refProcessId); - } - - public PartAsPlannedEntity readEntity(String uuid) { - return Optional.ofNullable(partAsPlannedRepository.findByUuid(uuid)) - .orElseThrow(() -> new NoDataFoundException("No data found uuid " + uuid)); - } - -} diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/DigitalTwinsPartAsPlannedHandlerStep.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/DigitalTwinsPartAsPlannedHandlerStep.java deleted file mode 100644 index 79146a6d2..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/DigitalTwinsPartAsPlannedHandlerStep.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************** - - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.steps; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.entities.PolicyModel; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerDigitalTwinUseCaseException; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerUseCaseException; -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.digitaltwins.entities.request.CreateSubModelRequest; -import org.eclipse.tractusx.sde.digitaltwins.entities.request.ShellDescriptorRequest; -import org.eclipse.tractusx.sde.digitaltwins.entities.request.ShellLookupRequest; -import org.eclipse.tractusx.sde.digitaltwins.entities.response.ShellDescriptorResponse; -import org.eclipse.tractusx.sde.digitaltwins.entities.response.SubModelListResponse; -import org.eclipse.tractusx.sde.digitaltwins.entities.response.SubModelResponse; -import org.eclipse.tractusx.sde.digitaltwins.facilitator.DigitalTwinsFacilitator; -import org.eclipse.tractusx.sde.digitaltwins.facilitator.DigitalTwinsUtility; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlanned; -import org.springframework.stereotype.Service; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; - -@Service -@RequiredArgsConstructor -public class DigitalTwinsPartAsPlannedHandlerStep extends Step { - - private final DigitalTwinsFacilitator digitalTwinsFacilitator; - - private final DigitalTwinsUtility digitalTwinsUtility; - - @SneakyThrows - public PartAsPlanned run(PartAsPlanned partAsPlannedAspect, PolicyModel policy) throws CsvHandlerDigitalTwinUseCaseException { - try { - return doRun(partAsPlannedAspect, policy); - } catch (Exception e) { - throw new CsvHandlerUseCaseException(partAsPlannedAspect.getRowNumber(), - ": DigitalTwins: " + e.getMessage()); - } - } - - @SneakyThrows - private PartAsPlanned doRun(PartAsPlanned partAsPlannedAspect, PolicyModel policy) throws CsvHandlerDigitalTwinUseCaseException { - ShellLookupRequest shellLookupRequest = getShellLookupRequest(partAsPlannedAspect); - List shellIds = digitalTwinsFacilitator.shellLookup(shellLookupRequest); - - String shellId; - ShellDescriptorRequest aasDescriptorRequest = digitalTwinsUtility.getShellDescriptorRequest( - partAsPlannedAspect.getNameAtManufacturer(), partAsPlannedAspect.getManufacturerPartId(), - partAsPlannedAspect.getUuid(), getSpecificAssetIds(partAsPlannedAspect), policy); - - if (shellIds.isEmpty()) { - logDebug(String.format("No shell id for '%s'", shellLookupRequest.toJsonString())); - ShellDescriptorResponse result = digitalTwinsFacilitator.createShellDescriptor(aasDescriptorRequest); - shellId = result.getIdentification(); - logDebug(String.format("Shell created with id '%s'", shellId)); - } else if (shellIds.size() == 1) { - logDebug(String.format("Shell id found for '%s'", shellLookupRequest.toJsonString())); - shellId = shellIds.stream().findFirst().orElse(null); - logDebug(String.format("Shell id '%s'", shellId)); - } else { - throw new CsvHandlerDigitalTwinUseCaseException( - String.format("Multiple ids found on aspect %s", shellLookupRequest.toJsonString())); - } - - partAsPlannedAspect.setShellId(shellId); - SubModelListResponse subModelResponse = digitalTwinsFacilitator.getSubModels(shellId); - SubModelResponse foundSubmodel = null; - if (subModelResponse != null) { - foundSubmodel = subModelResponse.getResult().stream().filter(x -> getIdShortOfModel().equals(x.getIdShort())) - .findFirst().orElse(null); - if (foundSubmodel != null) - partAsPlannedAspect.setSubModelId(foundSubmodel.getId()); - } - - if (subModelResponse == null || foundSubmodel == null) { - logDebug(String.format("No submodels for '%s'", shellId)); - CreateSubModelRequest createSubModelRequest = digitalTwinsUtility.getCreateSubModelRequest( - partAsPlannedAspect.getShellId(), getsemanticIdOfModel(), getIdShortOfModel(), getNameOfModel(), - partAsPlannedAspect.getUuid(),null); - digitalTwinsFacilitator.updateShellDetails(shellId, aasDescriptorRequest, createSubModelRequest); - partAsPlannedAspect.setSubModelId(createSubModelRequest.getId()); - } else { - //There is no need to send submodel because of nothing to change in it so sending null of it - digitalTwinsFacilitator.updateShellDetails(shellId, aasDescriptorRequest, null); - partAsPlannedAspect.setUpdated(CommonConstants.UPDATED_Y); - logDebug("Complete Digital Twins Update Update Digital Twins"); - } - - return partAsPlannedAspect; - } - - private ShellLookupRequest getShellLookupRequest(PartAsPlanned partAsPlannedAspect) { - - ShellLookupRequest shellLookupRequest = new ShellLookupRequest(); - getSpecificAssetIds(partAsPlannedAspect).entrySet().stream() - .forEach(entry -> shellLookupRequest.addLocalIdentifier(entry.getKey(), entry.getValue())); - - return shellLookupRequest; - } - - private Map getSpecificAssetIds(PartAsPlanned partAsPlannedAspect) { - Map specificIdentifiers = new HashMap<>(); - specificIdentifiers.put(CommonConstants.MANUFACTURER_PART_ID, partAsPlannedAspect.getManufacturerPartId()); - specificIdentifiers.put(CommonConstants.MANUFACTURER_ID, digitalTwinsUtility.getManufacturerId()); - specificIdentifiers.put(CommonConstants.ASSET_LIFECYCLE_PHASE, CommonConstants.AS_PLANNED); - - return specificIdentifiers; - } -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/EDCPartAsPlannedHandlerStep.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/EDCPartAsPlannedHandlerStep.java deleted file mode 100644 index f3fd1734e..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/EDCPartAsPlannedHandlerStep.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.steps; - -import java.util.Map; - -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.entities.PolicyModel; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerUseCaseException; -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.edc.entities.request.asset.AssetEntryRequest; -import org.eclipse.tractusx.sde.edc.entities.request.asset.AssetEntryRequestFactory; -import org.eclipse.tractusx.sde.edc.facilitator.CreateEDCAssetFacilator; -import org.eclipse.tractusx.sde.edc.gateways.external.EDCGateway; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlanned; -import org.springframework.stereotype.Service; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; - -@Service -@RequiredArgsConstructor -public class EDCPartAsPlannedHandlerStep extends Step { - - private final AssetEntryRequestFactory assetFactory; - private final EDCGateway edcGateway; - private final CreateEDCAssetFacilator createEDCAssetFacilator; - - @SneakyThrows - public PartAsPlanned run(String submodel, PartAsPlanned input, String processId, PolicyModel policy) { - String shellId = input.getShellId(); - String subModelId = input.getSubModelId(); - - try { - - AssetEntryRequest assetEntryRequest = assetFactory.getAssetRequest(submodel, - getSubmodelShortDescriptionOfModel(), shellId, subModelId, input.getUuid(), null, null, null); - - Map eDCAsset = null; - - if (!edcGateway.assetExistsLookup(assetEntryRequest.getId())) { - eDCAsset = createEDCAssetFacilator.createEDCAsset(assetEntryRequest, policy); - } else { - eDCAsset = createEDCAssetFacilator.updateEDCAsset(assetEntryRequest, policy); - input.setUpdated(CommonConstants.UPDATED_Y); - } - - // EDC transaction information for DB - input.setAssetId(eDCAsset.get("assetId")); - input.setAccessPolicyId(eDCAsset.get("accessPolicyId")); - input.setUsagePolicyId(eDCAsset.get("usagePolicyId")); - input.setContractDefinationId(eDCAsset.get("contractDefinitionId")); - - - return input; - } catch (Exception e) { - throw new CsvHandlerUseCaseException(input.getRowNumber(), "EDC: " + e.getMessage()); - } - } -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/StorePartAsPlannedHandlerStep.java b/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/StorePartAsPlannedHandlerStep.java deleted file mode 100644 index 2f17c8cef..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/pap/steps/StorePartAsPlannedHandlerStep.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.pap.steps; - -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.submodels.pap.entity.PartAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.pap.mapper.PartAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlanned; -import org.eclipse.tractusx.sde.submodels.pap.repository.PartAsPlannedRepository; -import org.springframework.stereotype.Service; - -@Service -public class StorePartAsPlannedHandlerStep extends Step { - - private final PartAsPlannedRepository partAsPlannedRepository; - private final PartAsPlannedMapper partAsPlannedMapper; - - public StorePartAsPlannedHandlerStep(PartAsPlannedRepository partAsPlannedRepository, PartAsPlannedMapper mapper) { - this.partAsPlannedRepository = partAsPlannedRepository; - this.partAsPlannedMapper = mapper; - } - - public PartAsPlanned run(PartAsPlanned input) { - PartAsPlannedEntity entity = partAsPlannedMapper.mapFrom(input); - partAsPlannedRepository.save(entity); - return input; - } -} \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/resources/images/partasplanned.png b/modules/sde-submodules/part-as-planned/src/main/resources/images/partasplanned.png deleted file mode 100644 index b9b0c5c55fdcca1b4639a2aedcae762d5795d7f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177106 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

P 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 z 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 diff --git a/modules/sde-submodules/part-as-planned/src/main/resources/part-as-planned.json b/modules/sde-submodules/part-as-planned/src/main/resources/part-as-planned.json index fb4072a51..9e4498986 100644 --- a/modules/sde-submodules/part-as-planned/src/main/resources/part-as-planned.json +++ b/modules/sde-submodules/part-as-planned/src/main/resources/part-as-planned.json @@ -118,5 +118,32 @@ "customer_part_id": "Currently missing the syntax", "name_at_manufacturer": "Sensor" } - ] + ], + "addOn": { + "identifier": "${uuid}", + "lookupShellSpecificAssetIdsSpecs": { + "manufacturerPartId": "${manufacturer_part_id}", + "assetLifecyclePhase" :"AsPlanned" + }, + "shortIdSpecs": [ + "${name_at_manufacturer}", + "${manufacturer_part_id}" + ], + "createShellIfNotExist": true, + "bpnDiscoverySpecs": { + "manufacturerPartId": "${manufacturer_part_id}" + }, + "responseTemplate": { + "validityPeriod": { + "validFrom": "${valid_from}", + "validTo": "${valid_to}" + }, + "catenaXId": "${uuid}", + "partTypeInformation": { + "manufacturerPartId": "${manufacturer_part_id}", + "classification": "${classification}", + "nameAtManufacturer": "${name_at_manufacturer}" + } + } + } } \ No newline at end of file diff --git a/modules/sde-submodules/part-as-planned/src/main/resources/partAsPlanned.csv b/modules/sde-submodules/part-as-planned/src/main/resources/partAsPlanned.csv deleted file mode 100644 index c3e82ef02..000000000 --- a/modules/sde-submodules/part-as-planned/src/main/resources/partAsPlanned.csv +++ /dev/null @@ -1,3 +0,0 @@ -uuid;manufacturer_part_id;valid_from;valid_to;customer_part_id;classification;name_at_manufacturer -07a3946c-59c6-41ae-9580-cb43a6e4c67e;ZX-07;2013-04-11T16:17:30.000Z;2032-10-14T02:03:33.000Z;;product;Vehicle Model A -07b3946c-59c6-41ae-9590-cb43a6e4c68f;ZX-06;2016-04-11T14:17:30.000Z;;;product;Vehicle Model Z \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/single-level-bom-as-planned.md b/modules/sde-submodules/single-level-bom-as-planned/single-level-bom-as-planned.md index 7c8fab2d3..97c2ff27f 100644 --- a/modules/sde-submodules/single-level-bom-as-planned/single-level-bom-as-planned.md +++ b/modules/sde-submodules/single-level-bom-as-planned/single-level-bom-as-planned.md @@ -8,13 +8,18 @@ This module use for SingleLevelBomAsPlanned submodel specification and descripto #### Version: 1.0.1 #### SingleLevelBomAsPlanned Aspect Model URN: urn:bamm:io.catenax.single_level_bom_as_planned:1.0.1#SingleLevelBomAsPlanned #### Semantic Id: urn:bamm:io.catenax.single_level_bom_as_planned:1.0.1 + +#### Version: 3.0.3 +#### SingleLevelBomAsPlanned Aspect Model URN: urn:bamm:io.catenax.single_level_bom_as_planned:1.0.1#SingleLevelBomAsPlanned +#### Semantic Id: urn:bamm:io.catenax.single_level_bom_as_planned:3.0.0 --- ### Schema Please find below links for schema details: -- [schema](src/main/resources/single-level-bom-as-planned.json) +- [single-level-bom-as-planned-v1.0.1-schema](src/main/resources/single-level-bom-as-planned-v1.0.1.json) +- [single-level-bom-as-planned-v3.0.0-schema](src/main/resources/single-level-bom-as-planned-v3.0.0.json) ### CSV file headers @@ -36,8 +41,6 @@ Please find below links for schema details: #### Example for submodel SingleLevelBomAsPlanned -



- ### Work Flow - CSV to POJO @@ -52,5 +55,4 @@ Please find below links for schema details: - DigitalTwins - EDC Connectors - -[CSV Sample File Link]: src/main/resources/SingleLevelBoMAsPlanned.csv + - BPD Discovery diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedExecutor.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedExecutor.java deleted file mode 100644 index 638aaa974..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedExecutor.java +++ /dev/null @@ -1,156 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.eclipse.tractusx.sde.bpndiscovery.handler.BPNDiscoveryUseCaseHandler; -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.entities.PolicyModel; -import org.eclipse.tractusx.sde.common.entities.csv.RowData; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerDigitalTwinUseCaseException; -import org.eclipse.tractusx.sde.common.submodel.executor.SubmodelExecutor; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.CsvParse; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.JsonRecordFormating; -import org.eclipse.tractusx.sde.common.submodel.executor.create.steps.impl.JsonRecordValidate; -import org.eclipse.tractusx.sde.submodels.slbap.mapper.SingleLevelBoMAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlanned; -import org.eclipse.tractusx.sde.submodels.slbap.services.SingleLevelBoMAsPlannedService; -import org.eclipse.tractusx.sde.submodels.slbap.steps.DigitalTwinsSingleLevelBoMAsPlannedHandlerStep; -import org.eclipse.tractusx.sde.submodels.slbap.steps.EDCSingleLevelBoMAsPlannedHandlerStep; -import org.eclipse.tractusx.sde.submodels.slbap.steps.SingleLevelBoMASPlannedUUIDUrnUUID; -import org.eclipse.tractusx.sde.submodels.slbap.steps.StoreSingleLevelBoMAsPlannedStep; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.gson.JsonObject; - -import lombok.AllArgsConstructor; -import lombok.SneakyThrows; - -@Component -@AllArgsConstructor -public class SingleLevelBoMAsPlannedExecutor extends SubmodelExecutor { - - @Autowired - private final CsvParse csvParseStep; - - private final JsonRecordValidate jsonRecordValidate; - - private final JsonRecordFormating jsonRecordformater; - - private final SingleLevelBoMASPlannedUUIDUrnUUID generateUrnUUID; - - private final DigitalTwinsSingleLevelBoMAsPlannedHandlerStep digitalTwinsHandlerStep; - - private final EDCSingleLevelBoMAsPlannedHandlerStep eDCHandlerStep; - - private final StoreSingleLevelBoMAsPlannedStep storeSingleLevelBoMAsPlannedStep; - - private final SingleLevelBoMAsPlannedMapper singleLevelBoMAsPlannedMapper; - - private final SingleLevelBoMAsPlannedService singleLevelBoMAsPlannedService; - - private final BPNDiscoveryUseCaseHandler bPNDiscoveryUseCaseHandler; - - @SneakyThrows - public void executeCsvRecord(RowData rowData, ObjectNode jsonObject, String processId, PolicyModel policy) { - - csvParseStep.init(getSubmodelSchema()); - csvParseStep.run(rowData, jsonObject, processId); - - nextSteps(rowData.position(), jsonObject, processId, policy); - } - - @SneakyThrows - public void executeJsonRecord(Integer rowIndex, ObjectNode jsonObject, String processId, PolicyModel policy) { - - jsonRecordformater.init(getSubmodelSchema()); - jsonRecordformater.run(rowIndex, jsonObject, processId); - - nextSteps(rowIndex, jsonObject, processId, policy); - - } - - @SneakyThrows - private void nextSteps(Integer rowIndex, ObjectNode jsonObject, String processId, PolicyModel policy) - throws CsvHandlerDigitalTwinUseCaseException { - - SingleLevelBoMAsPlanned singleLevelBoMAsPlanned = singleLevelBoMAsPlannedMapper.mapFrom(jsonObject); - - generateUrnUUID.run(singleLevelBoMAsPlanned, processId); - - jsonObject.put("uuid", singleLevelBoMAsPlanned.getChildUuid()); - jsonObject.put("parent_uuid", singleLevelBoMAsPlanned.getParentUuid()); - - jsonRecordValidate.init(getSubmodelSchema()); - jsonRecordValidate.run(rowIndex, jsonObject); - - digitalTwinsHandlerStep.init(getSubmodelSchema()); - digitalTwinsHandlerStep.run(singleLevelBoMAsPlanned, policy); - - eDCHandlerStep.init(getSubmodelSchema()); - eDCHandlerStep.run(getNameOfModel(), singleLevelBoMAsPlanned, processId, policy); - - if (StringUtils.isBlank(singleLevelBoMAsPlanned.getUpdated())) { - Map bpnKeyMap = new HashMap<>(); - bpnKeyMap.put(CommonConstants.MANUFACTURER_PART_ID, singleLevelBoMAsPlanned.getChildManufacturerPartId()); - bPNDiscoveryUseCaseHandler.run(bpnKeyMap); - } - - storeSingleLevelBoMAsPlannedStep.run(singleLevelBoMAsPlanned); - } - - public void executeDeleteRecord(JsonObject jsonObject, String delProcessId, String refProcessId) { - singleLevelBoMAsPlannedService.deleteAllDataBySequence(jsonObject); - } - - @Override - public List readCreatedTwinsforDelete(String refProcessId) { - return singleLevelBoMAsPlannedService.readCreatedTwinsforDelete(refProcessId); - } - - @Override - public JsonObject readCreatedTwinsDetails(String uuid) { - return singleLevelBoMAsPlannedService.readCreatedTwinsDetails(uuid); - } - - @Override - public int getUpdatedRecordCount(String processId) { - return singleLevelBoMAsPlannedService.getUpdatedData(processId); - } - - @Override - public List readCreatedTwinsByProcessId(String refProcessId) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void executeDeleteRecord(Integer rowIndex, JsonObject jsonObject, String delProcessId, String refProcessId) { - // TODO Auto-generated method stub - - } - -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedSubmodel.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV101.java similarity index 78% rename from modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedSubmodel.java rename to modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV101.java index 462c0b31d..c9e8eb149 100644 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedSubmodel.java +++ b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV101.java @@ -1,6 +1,6 @@ /******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2024 T-Systems International GmbH + * Copyright (c) 2024 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. @@ -17,29 +17,26 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ + package org.eclipse.tractusx.sde.submodels.slbap; import java.io.InputStream; import org.eclipse.tractusx.sde.common.extensions.SubmodelExtension; import org.eclipse.tractusx.sde.common.model.Submodel; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import jakarta.annotation.PostConstruct; @Component -public class SingleLevelBoMAsPlannedSubmodel extends SubmodelExtension { +public class SingleLevelBoMAsPlannedV101 extends SubmodelExtension { private Submodel submodel = null; - @Autowired - private SingleLevelBoMAsPlannedExecutor singleLevelBoMAsPlannedExecutor; - @PostConstruct public void init() { - String resource = "single-level-bom-as-planned.json"; + String resource = "single-level-bom-as-planned-v1.0.1.json"; // this is the path within the jar file InputStream input = this.getClass().getResourceAsStream("/resources/" + resource); if (input == null) { @@ -48,7 +45,6 @@ public void init() { } submodel = loadSubmodel(input); - submodel.setExecutor(singleLevelBoMAsPlannedExecutor); submodel.addProperties("tableName", "single_level_bom_as_planned"); } diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV300.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV300.java new file mode 100644 index 000000000..4f0287589 --- /dev/null +++ b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/SingleLevelBoMAsPlannedV300.java @@ -0,0 +1,55 @@ +/******************************************************************************** + * Copyright (c) 2024 T-Systems International GmbH + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +package org.eclipse.tractusx.sde.submodels.slbap; + +import java.io.InputStream; + +import org.eclipse.tractusx.sde.common.extensions.SubmodelExtension; +import org.eclipse.tractusx.sde.common.model.Submodel; +import org.springframework.stereotype.Component; + +import jakarta.annotation.PostConstruct; + +@Component +public class SingleLevelBoMAsPlannedV300 extends SubmodelExtension { + + private Submodel submodel = null; + + @PostConstruct + public void init() { + + String resource = "single-level-bom-as-planned-v3.0.0.json"; + // this is the path within the jar file + InputStream input = this.getClass().getResourceAsStream("/resources/" + resource); + if (input == null) { + // this is how we load file within editor (eg eclipse) + input = this.getClass().getClassLoader().getResourceAsStream(resource); + } + + submodel = loadSubmodel(input); + + submodel.addProperties("tableName", "single_level_bom_as_planned_v_300"); + } + + @Override + public Submodel submodel() { + return submodel; + } +} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedEntity.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedEntity.java deleted file mode 100644 index 26e533183..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedEntity.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.entity; - -import org.eclipse.tractusx.sde.common.entities.CommonPropEntity; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.IdClass; -import jakarta.persistence.Table; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Table(name = "single_level_bom_as_planned") -@Entity -@Data -@IdClass(SingleLevelBoMAsPlannedPrimaryKey.class) -@EqualsAndHashCode(callSuper = false) -public class SingleLevelBoMAsPlannedEntity extends CommonPropEntity { - - @Id - @Column(name = "parent_uuid") - private String parentCatenaXId; - - @Column(name = "parent_manufacturer_part_id") - private String parentManufacturerPartId; - - @Id - @Column(name = "uuid") - private String childCatenaXId; - - @Column(name = "manufacturer_part_id") - private String childManufacturerPartId; - - @Column(name = "customer_part_id") - private String customerPartId; - - @Column(name = "quantity_number") - private Double quantityNumber; - - @Column(name = "measurement_unit_lexical_value") - private String measurementUnitLexicalValue; - - @Column(name = "datatype_uri") - private String datatypeURI; - - @Column(name = "created_on") - private String createdOn; - - @Column(name = "last_modified_on") - private String lastModifiedOn; - -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedPrimaryKey.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedPrimaryKey.java deleted file mode 100644 index 804dcd65a..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/entity/SingleLevelBoMAsPlannedPrimaryKey.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022,2023 T-Systems International GmbH - * Copyright (c) 2022,2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.entity; - -import java.io.Serializable; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class SingleLevelBoMAsPlannedPrimaryKey implements Serializable { - - private String parentCatenaXId; - private String childCatenaXId; -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/mapper/SingleLevelBoMAsPlannedMapper.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/mapper/SingleLevelBoMAsPlannedMapper.java deleted file mode 100644 index f80143c73..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/mapper/SingleLevelBoMAsPlannedMapper.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.mapper; - -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -import org.eclipse.tractusx.sde.common.mapper.AspectResponseFactory; -import org.eclipse.tractusx.sde.submodels.slbap.entity.SingleLevelBoMAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.slbap.model.ChildParts; -import org.eclipse.tractusx.sde.submodels.slbap.model.MeasurementUnit; -import org.eclipse.tractusx.sde.submodels.slbap.model.Quantity; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlanned; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlannedAspectResponse; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.springframework.beans.factory.annotation.Autowired; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.google.gson.Gson; -import com.google.gson.JsonObject; - -import lombok.SneakyThrows; - -@Mapper(componentModel = "spring") -public abstract class SingleLevelBoMAsPlannedMapper { - - ObjectMapper mapper = new ObjectMapper(); - - @Autowired - private AspectResponseFactory aspectResponseFactory; - - @Mapping(source = "parentUuid", target = "parentCatenaXId") - @Mapping(source = "childUuid", target = "childCatenaXId") - public abstract SingleLevelBoMAsPlannedEntity mapFrom(SingleLevelBoMAsPlanned singleLevelBoMAsPlanned); - - @Mapping(source = "parentCatenaXId", target = "parentUuid") - @Mapping(source = "childCatenaXId", target = "childUuid") - public abstract SingleLevelBoMAsPlanned mapFrom(SingleLevelBoMAsPlannedEntity entity); - - @SneakyThrows - public SingleLevelBoMAsPlanned mapFrom(ObjectNode singleLevelBoMAsPlanned) { - return mapper.readValue(singleLevelBoMAsPlanned.toString(), SingleLevelBoMAsPlanned.class); - } - - public SingleLevelBoMAsPlannedEntity mapforEntity(JsonObject singleLevelBoMAsPlanned) { - return new Gson().fromJson(singleLevelBoMAsPlanned, SingleLevelBoMAsPlannedEntity.class); - } - - public JsonObject mapFromEntity(SingleLevelBoMAsPlannedEntity singleLevelBoMAsPlannedEntity) { - return new Gson().toJsonTree(singleLevelBoMAsPlannedEntity).getAsJsonObject(); - } - - public JsonObject mapToResponse(String parentCatenaXUuid, - List singleLevelBoMAsPlannedEntity) { - - if (singleLevelBoMAsPlannedEntity == null || singleLevelBoMAsPlannedEntity.isEmpty()) { - return null; - } - - Set childPartsSet = singleLevelBoMAsPlannedEntity.stream().map(this::toChildPart) - .collect(Collectors.toSet()); - - SingleLevelBoMAsPlannedAspectResponse build = SingleLevelBoMAsPlannedAspectResponse.builder() - .catenaXId(parentCatenaXUuid).childParts(childPartsSet).build(); - - SingleLevelBoMAsPlannedEntity entity = singleLevelBoMAsPlannedEntity.get(0); - - SingleLevelBoMAsPlanned csvObj = mapFrom(entity); - - return aspectResponseFactory.maptoReponse(csvObj, build); - } - - private ChildParts toChildPart(SingleLevelBoMAsPlannedEntity entity) { - - Quantity quantity = Quantity.builder().quantityNumber(entity.getQuantityNumber()) - .measurementUnit(MeasurementUnit.builder().lexicalValue(entity.getMeasurementUnitLexicalValue()) - .datatypeURI(entity.getDatatypeURI()).build()) - .build(); - - return ChildParts.builder().quantity(quantity).createdOn(entity.getCreatedOn()) - .lastModifiedOn(entity.getLastModifiedOn()).childCatenaXId(entity.getChildCatenaXId()).build(); - } - -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/ChildParts.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/ChildParts.java deleted file mode 100644 index 2832eded3..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/ChildParts.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Data -@Builder -@AllArgsConstructor -public class ChildParts { - - private Quantity quantity; - private String createdOn; - private String lastModifiedOn; - private String childCatenaXId; - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/MeasurementUnit.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/MeasurementUnit.java deleted file mode 100644 index d7c7adc15..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/MeasurementUnit.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Data -@Builder -@AllArgsConstructor -public class MeasurementUnit { - - private String lexicalValue; - private String datatypeURI; - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/Quantity.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/Quantity.java deleted file mode 100644 index 9b326df64..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/Quantity.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Data -@Builder -@AllArgsConstructor -public class Quantity { - - private Double quantityNumber; - private MeasurementUnit measurementUnit; - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlanned.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlanned.java deleted file mode 100644 index bf925c03c..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlanned.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.model; - -import org.eclipse.tractusx.sde.common.entities.CommonPropEntity; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) -@NoArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class SingleLevelBoMAsPlanned extends CommonPropEntity{ - - @JsonProperty(value = "parent_uuid") - private String parentUuid; - - @JsonProperty(value = "parent_manufacturer_part_id") - private String parentManufacturerPartId; - - @JsonProperty(value = "uuid") - private String childUuid; - - @JsonProperty(value = "manufacturer_part_id") - private String childManufacturerPartId; - - @JsonProperty(value = "customer_part_id") - private String customerPartId; - - @JsonProperty(value = "quantity_number") - private String quantityNumber; - - @JsonProperty(value = "measurement_unit_lexical_value") - private String measurementUnitLexicalValue; - - @JsonProperty(value = "datatype_uri") - private String datatypeURI; - - @JsonProperty(value = "created_on") - private String createdOn; - - @JsonProperty(value = "last_modified_on") - private String lastModifiedOn; - -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlannedAspectResponse.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlannedAspectResponse.java deleted file mode 100644 index 126757c1b..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/model/SingleLevelBoMAsPlannedAspectResponse.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.model; - -import java.util.Set; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; - -@Builder -@Data -@AllArgsConstructor -public class SingleLevelBoMAsPlannedAspectResponse { - - private String catenaXId; - private Set childParts; - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/repository/SingleLevelBoMAsPlannedRepository.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/repository/SingleLevelBoMAsPlannedRepository.java deleted file mode 100644 index bf2ba3171..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/repository/SingleLevelBoMAsPlannedRepository.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.repository; - -import java.util.List; - -import org.eclipse.tractusx.sde.submodels.slbap.entity.SingleLevelBoMAsPlannedEntity; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.CrudRepository; - -public interface SingleLevelBoMAsPlannedRepository extends CrudRepository { - - List findByProcessId(String processId); - - List findByParentCatenaXId(String parentCatenaXId); - - @Query("select count(ae) from SingleLevelBoMAsPlannedEntity ae where ae.updated = ?1 and ae.processId = ?2") - long countByUpdatedAndProcessId(String updated, String processId); - - SingleLevelBoMAsPlannedEntity findByChildCatenaXId(String uuid); - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/services/SingleLevelBoMAsPlannedService.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/services/SingleLevelBoMAsPlannedService.java deleted file mode 100644 index 3dd9e6a29..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/services/SingleLevelBoMAsPlannedService.java +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.services; - -import java.util.List; -import java.util.Optional; - -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.exception.NoDataFoundException; -import org.eclipse.tractusx.sde.digitaltwins.facilitator.DigitalTwinsFacilitator; -import org.eclipse.tractusx.sde.edc.facilitator.DeleteEDCFacilitator; -import org.eclipse.tractusx.sde.submodels.slbap.entity.SingleLevelBoMAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.slbap.mapper.SingleLevelBoMAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.slbap.repository.SingleLevelBoMAsPlannedRepository; -import org.springframework.stereotype.Service; - -import com.google.gson.JsonObject; - -import lombok.AllArgsConstructor; - -@Service -@AllArgsConstructor -public class SingleLevelBoMAsPlannedService { - - private final SingleLevelBoMAsPlannedRepository singleLevelBoMAsPlannedRepository; - - private final SingleLevelBoMAsPlannedMapper singleLevelBoMAsPlannedMapper; - - private final DeleteEDCFacilitator deleteEDCFacilitator; - - private final DigitalTwinsFacilitator deleteDigitalTwinsFacilitator; - - public List readCreatedTwinsforDelete(String refProcessId) { - - return Optional - .ofNullable(Optional.ofNullable(singleLevelBoMAsPlannedRepository.findByProcessId(refProcessId)) - .filter(a -> !a.isEmpty()) - .orElseThrow(() -> new NoDataFoundException( - String.format("No data found for processid %s ", refProcessId))) - .stream().filter(e -> !CommonConstants.DELETED_Y.equals(e.getDeleted())) - .map(singleLevelBoMAsPlannedMapper::mapFromEntity).toList()) - .filter(a -> !a.isEmpty()).orElseThrow( - () -> new NoDataFoundException("No data founds for deletion, All records are already deleted")); - } - - public void deleteAllDataBySequence(JsonObject jsonObject) { - - SingleLevelBoMAsPlannedEntity singleLevelBoMAsPlannedEntity = singleLevelBoMAsPlannedMapper - .mapforEntity(jsonObject); - - deleteEDCAsset(singleLevelBoMAsPlannedEntity); - - deleteDigitalTwinsFacilitator.deleteSubmodelfromShellById(singleLevelBoMAsPlannedEntity.getShellId(), - singleLevelBoMAsPlannedEntity.getSubModelId()); - - saveSingleLevelBoMAsPlannedWithDeleted(singleLevelBoMAsPlannedEntity); - } - - private void saveSingleLevelBoMAsPlannedWithDeleted(SingleLevelBoMAsPlannedEntity aspectRelationshipEntity) { - aspectRelationshipEntity.setDeleted(CommonConstants.DELETED_Y); - singleLevelBoMAsPlannedRepository.save(aspectRelationshipEntity); - } - - public JsonObject readCreatedTwinsDetails(String uuid) { - List entities = Optional - .ofNullable(singleLevelBoMAsPlannedRepository.findByParentCatenaXId(uuid)) - .orElseThrow(() -> new NoDataFoundException("No data found uuid " + uuid)); - return singleLevelBoMAsPlannedMapper.mapToResponse(uuid, entities); - } - - public SingleLevelBoMAsPlannedEntity readEntity(String uuid) { - return Optional.ofNullable(singleLevelBoMAsPlannedRepository.findByChildCatenaXId(uuid)) - .orElseThrow(() -> new NoDataFoundException("No data found uuid " + uuid)); - } - - public void deleteEDCAsset(SingleLevelBoMAsPlannedEntity singleLevelBoMAsPlannedEntity) { - - deleteEDCFacilitator.deleteContractDefination(singleLevelBoMAsPlannedEntity.getContractDefinationId()); - - deleteEDCFacilitator.deleteAccessPolicy(singleLevelBoMAsPlannedEntity.getAccessPolicyId()); - - deleteEDCFacilitator.deleteUsagePolicy(singleLevelBoMAsPlannedEntity.getUsagePolicyId()); - - deleteEDCFacilitator.deleteAssets(singleLevelBoMAsPlannedEntity.getAssetId()); - } - - public int getUpdatedData(String refProcessId) { - - return (int) singleLevelBoMAsPlannedRepository.countByUpdatedAndProcessId(CommonConstants.UPDATED_Y, - refProcessId); - } - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/DigitalTwinsSingleLevelBoMAsPlannedHandlerStep.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/DigitalTwinsSingleLevelBoMAsPlannedHandlerStep.java deleted file mode 100644 index 920958bd0..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/DigitalTwinsSingleLevelBoMAsPlannedHandlerStep.java +++ /dev/null @@ -1,171 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.steps; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.entities.PolicyModel; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerDigitalTwinUseCaseException; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerUseCaseException; -import org.eclipse.tractusx.sde.common.exception.ServiceException; -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.digitaltwins.entities.request.CreateSubModelRequest; -import org.eclipse.tractusx.sde.digitaltwins.entities.request.ShellDescriptorRequest; -import org.eclipse.tractusx.sde.digitaltwins.entities.request.ShellLookupRequest; -import org.eclipse.tractusx.sde.digitaltwins.entities.response.ShellDescriptorResponse; -import org.eclipse.tractusx.sde.digitaltwins.entities.response.SubModelListResponse; -import org.eclipse.tractusx.sde.digitaltwins.entities.response.SubModelResponse; -import org.eclipse.tractusx.sde.digitaltwins.facilitator.DigitalTwinsFacilitator; -import org.eclipse.tractusx.sde.digitaltwins.facilitator.DigitalTwinsUtility; -import org.eclipse.tractusx.sde.submodels.pap.entity.PartAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.pap.mapper.PartAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.pap.model.PartAsPlanned; -import org.eclipse.tractusx.sde.submodels.pap.repository.PartAsPlannedRepository; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlanned; -import org.springframework.stereotype.Service; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; - -@Service -@RequiredArgsConstructor -public class DigitalTwinsSingleLevelBoMAsPlannedHandlerStep extends Step { - - private final DigitalTwinsFacilitator digitalTwinsFacilitator; - private final PartAsPlannedRepository partAsPlannedRepository; - private final PartAsPlannedMapper partAsPlannedMapper; - private final DigitalTwinsUtility digitalTwinsUtility; - - @SneakyThrows - public SingleLevelBoMAsPlanned run(SingleLevelBoMAsPlanned singleLevelBoMAsPlannedAspect, PolicyModel policy) - throws CsvHandlerDigitalTwinUseCaseException { - try { - return doRun(singleLevelBoMAsPlannedAspect, policy); - } catch (Exception e) { - throw new ServiceException( - singleLevelBoMAsPlannedAspect.getRowNumber() + ": DigitalTwins: " + e.getMessage()); - } - } - - @SneakyThrows - private SingleLevelBoMAsPlanned doRun(SingleLevelBoMAsPlanned singleLevelBoMAsPlannedAspect, PolicyModel policy) - throws CsvHandlerUseCaseException, CsvHandlerDigitalTwinUseCaseException { - - ShellLookupRequest shellLookupRequest = getShellLookupRequest(singleLevelBoMAsPlannedAspect); - List shellIds = digitalTwinsFacilitator.shellLookup(shellLookupRequest); - - String shellId; - ShellDescriptorRequest aasDescriptorRequest = lookUpParentEntityLocaly(singleLevelBoMAsPlannedAspect, policy); - - if (shellIds.isEmpty()) { - - logDebug(String.format("No shell id for '%s'", shellLookupRequest.toJsonString())); - ShellDescriptorResponse result = digitalTwinsFacilitator.createShellDescriptor(aasDescriptorRequest); - shellId = result.getIdentification(); - logDebug(String.format("Shell created with id '%s'", shellId)); - - } else if (shellIds.size() == 1) { - - logDebug(String.format("Shell id found for '%s'", shellLookupRequest.toJsonString())); - shellId = shellIds.stream().findFirst().orElse(null); - - logDebug(String.format("Shell id '%s'", shellId)); - } else { - throw new CsvHandlerDigitalTwinUseCaseException( - String.format("Multiple id's found on childAspect %s", shellLookupRequest.toJsonString())); - } - - singleLevelBoMAsPlannedAspect.setShellId(shellId); - SubModelListResponse subModelResponse = digitalTwinsFacilitator.getSubModels(shellId); - SubModelResponse foundSubmodel = null; - if (subModelResponse != null) { - foundSubmodel = subModelResponse.getResult().stream() - .filter(x -> getIdShortOfModel().equals(x.getIdShort())).findFirst().orElse(null); - if (foundSubmodel != null) - singleLevelBoMAsPlannedAspect.setSubModelId(foundSubmodel.getId()); - } - - if (subModelResponse == null || foundSubmodel == null) { - logDebug(String.format("No submodels for '%s'", shellId)); - - CreateSubModelRequest createSubModelRequest = digitalTwinsUtility.getCreateSubModelRequest( - singleLevelBoMAsPlannedAspect.getShellId(), getsemanticIdOfModel(), getIdShortOfModel(), - getNameOfModel(), singleLevelBoMAsPlannedAspect.getParentUuid(), null); - - digitalTwinsFacilitator.updateShellDetails(shellId, aasDescriptorRequest, createSubModelRequest); - singleLevelBoMAsPlannedAspect.setSubModelId(createSubModelRequest.getId()); - } else { - // There is no need to send submodel because of nothing to change in it so sending null of it - digitalTwinsFacilitator.updateShellDetails(shellId, aasDescriptorRequest, null); - singleLevelBoMAsPlannedAspect.setUpdated(CommonConstants.UPDATED_Y); - logDebug("Complete Digital Twins Update Update Digital Twins"); - } - return singleLevelBoMAsPlannedAspect; - } - - private ShellDescriptorRequest lookUpParentEntityLocaly(SingleLevelBoMAsPlanned singleLevelBoMAsPlannedAspect, - PolicyModel policy) throws CsvHandlerUseCaseException { - - PartAsPlannedEntity partAsPlannedEntity = null; - partAsPlannedEntity = partAsPlannedRepository - .findByIdentifiers(singleLevelBoMAsPlannedAspect.getParentManufacturerPartId()); - - if (partAsPlannedEntity == null) { - throw new CsvHandlerUseCaseException(singleLevelBoMAsPlannedAspect.getRowNumber(), - "No parent aspect found"); - } - - return digitalTwinsUtility.getShellDescriptorRequest(partAsPlannedEntity.getNameAtManufacturer(), - partAsPlannedEntity.getManufacturerPartId(), partAsPlannedEntity.getUuid(), - getSpecificAssetIds(partAsPlannedMapper.mapFrom(partAsPlannedEntity)), policy); - } - - private Map getSpecificAssetIds(PartAsPlanned partAsPlannedAspect) { - Map specificIdentifiers = new HashMap<>(); - specificIdentifiers.put(CommonConstants.MANUFACTURER_PART_ID, partAsPlannedAspect.getManufacturerPartId()); - specificIdentifiers.put(CommonConstants.MANUFACTURER_ID, digitalTwinsUtility.getManufacturerId()); - specificIdentifiers.put(CommonConstants.ASSET_LIFECYCLE_PHASE, CommonConstants.AS_PLANNED); - - return specificIdentifiers; - } - - private ShellLookupRequest getShellLookupRequest(SingleLevelBoMAsPlanned singleLevelBoMAsPlannedAspect) { - - ShellLookupRequest shellLookupRequest = new ShellLookupRequest(); - getSpecificAssetIdsForSingleLevel(singleLevelBoMAsPlannedAspect).entrySet().stream() - .forEach(entry -> shellLookupRequest.addLocalIdentifier(entry.getKey(), entry.getValue())); - - return shellLookupRequest; - } - - private Map getSpecificAssetIdsForSingleLevel( - SingleLevelBoMAsPlanned singleLevelBoMAsPlannedAspect) { - Map specificIdentifiers = new HashMap<>(); - specificIdentifiers.put(CommonConstants.ASSET_LIFECYCLE_PHASE, CommonConstants.AS_PLANNED); - specificIdentifiers.put(CommonConstants.MANUFACTURER_PART_ID, - singleLevelBoMAsPlannedAspect.getParentManufacturerPartId()); - specificIdentifiers.put(CommonConstants.MANUFACTURER_ID, digitalTwinsUtility.getManufacturerId()); - return specificIdentifiers; - } - -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/EDCSingleLevelBoMAsPlannedHandlerStep.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/EDCSingleLevelBoMAsPlannedHandlerStep.java deleted file mode 100644 index d7dc2bc12..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/EDCSingleLevelBoMAsPlannedHandlerStep.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2024 T-Systems International GmbH - * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.steps; - - -import java.util.Map; - -import org.eclipse.tractusx.sde.common.constants.CommonConstants; -import org.eclipse.tractusx.sde.common.entities.PolicyModel; -import org.eclipse.tractusx.sde.common.exception.CsvHandlerUseCaseException; -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.edc.entities.request.asset.AssetEntryRequest; -import org.eclipse.tractusx.sde.edc.entities.request.asset.AssetEntryRequestFactory; -import org.eclipse.tractusx.sde.edc.facilitator.CreateEDCAssetFacilator; -import org.eclipse.tractusx.sde.edc.gateways.external.EDCGateway; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlanned; -import org.springframework.stereotype.Service; - -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; - -@Service -@RequiredArgsConstructor -public class EDCSingleLevelBoMAsPlannedHandlerStep extends Step { - - private final AssetEntryRequestFactory assetFactory; - private final EDCGateway edcGateway; - private final CreateEDCAssetFacilator createEDCAssetFacilator; - - @SneakyThrows - public SingleLevelBoMAsPlanned run(String submodel, SingleLevelBoMAsPlanned input, String processId, - PolicyModel policy) { - - String shellId = input.getShellId(); - String subModelId = input.getSubModelId(); - - try { - AssetEntryRequest assetEntryRequest = assetFactory.getAssetRequest(submodel, - getSubmodelShortDescriptionOfModel(), shellId, subModelId, input.getParentUuid(), null, null, null); - - Map eDCAsset =null; - - if (!edcGateway.assetExistsLookup(assetEntryRequest.getId())) { - eDCAsset = createEDCAssetFacilator.createEDCAsset(assetEntryRequest, policy); - } else { - eDCAsset = createEDCAssetFacilator.updateEDCAsset(assetEntryRequest, policy); - input.setUpdated(CommonConstants.UPDATED_Y); - } - - // EDC transaction information for DB - input.setAssetId(eDCAsset.get("assetId")); - input.setAccessPolicyId(eDCAsset.get("accessPolicyId")); - input.setUsagePolicyId(eDCAsset.get("usagePolicyId")); - input.setContractDefinationId(eDCAsset.get("contractDefinitionId")); - - return input; - } catch (Exception e) { - throw new CsvHandlerUseCaseException(input.getRowNumber(), "EDC: " + e.getMessage()); - } - } - -} \ No newline at end of file diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/SingleLevelBoMASPlannedUUIDUrnUUID.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/SingleLevelBoMASPlannedUUIDUrnUUID.java deleted file mode 100644 index 9080031fb..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/SingleLevelBoMASPlannedUUIDUrnUUID.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.steps; - -import org.eclipse.tractusx.sde.common.exception.CsvHandlerUseCaseException; -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.submodels.pap.entity.PartAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.pap.repository.PartAsPlannedRepository; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlanned; -import org.springframework.stereotype.Component; - -import lombok.SneakyThrows; - -@Component -public class SingleLevelBoMASPlannedUUIDUrnUUID extends Step { - - private final PartAsPlannedRepository repository; - - - public SingleLevelBoMASPlannedUUIDUrnUUID(PartAsPlannedRepository repository) { - this.repository = repository; - } - - @SneakyThrows - public SingleLevelBoMAsPlanned run(SingleLevelBoMAsPlanned input, String processId) { - if (input.getParentUuid() == null || input.getParentUuid().isBlank()) { - String parentUuid = getUuidIfPartAsPlannedAspectExists(input.getRowNumber(), input.getParentManufacturerPartId()); - input.setParentUuid(parentUuid); - } - - if (input.getChildUuid() == null || input.getChildUuid().isBlank()) { - String childUuid = getUuidIfPartAsPlannedAspectExists(input.getRowNumber(), input.getChildManufacturerPartId()); - input.setChildUuid(childUuid); - } - - return input; - } - - @SneakyThrows - private String getUuidIfPartAsPlannedAspectExists(int rowNumber, String manufacturerPartId) { - PartAsPlannedEntity entity = repository.findByManufacturerPartId(manufacturerPartId); - - if (entity == null) { - throw new CsvHandlerUseCaseException(rowNumber, String.format( - "Missing parent PartAsPlanned Aspect for the given Identifier: ManufactorerPartId: %s ", - manufacturerPartId)); - } - return entity.getUuid(); - } - -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/StoreSingleLevelBoMAsPlannedStep.java b/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/StoreSingleLevelBoMAsPlannedStep.java deleted file mode 100644 index 8f6ea436c..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/java/org/eclipse/tractusx/sde/submodels/slbap/steps/StoreSingleLevelBoMAsPlannedStep.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 T-Systems International GmbH - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -package org.eclipse.tractusx.sde.submodels.slbap.steps; - -import org.eclipse.tractusx.sde.common.submodel.executor.Step; -import org.eclipse.tractusx.sde.submodels.slbap.entity.SingleLevelBoMAsPlannedEntity; -import org.eclipse.tractusx.sde.submodels.slbap.mapper.SingleLevelBoMAsPlannedMapper; -import org.eclipse.tractusx.sde.submodels.slbap.model.SingleLevelBoMAsPlanned; -import org.eclipse.tractusx.sde.submodels.slbap.repository.SingleLevelBoMAsPlannedRepository; -import org.springframework.stereotype.Service; - -@Service -public class StoreSingleLevelBoMAsPlannedStep extends Step { - - private final SingleLevelBoMAsPlannedRepository singleLevelBoMAsPlannedRepository; - private final SingleLevelBoMAsPlannedMapper singleLevelBoMAsPlannedMapper; - - public StoreSingleLevelBoMAsPlannedStep(SingleLevelBoMAsPlannedRepository singleLevelBoMAsPlannedRepository, SingleLevelBoMAsPlannedMapper mapper) { - this.singleLevelBoMAsPlannedRepository = singleLevelBoMAsPlannedRepository; - this.singleLevelBoMAsPlannedMapper = mapper; - } - - public SingleLevelBoMAsPlanned run(SingleLevelBoMAsPlanned input) { - SingleLevelBoMAsPlannedEntity entity = singleLevelBoMAsPlannedMapper.mapFrom(input); - singleLevelBoMAsPlannedRepository.save(entity); - return input; - } -} diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/resources/SingleLevelBoMAsPlanned.csv b/modules/sde-submodules/single-level-bom-as-planned/src/main/resources/SingleLevelBoMAsPlanned.csv deleted file mode 100644 index 03c05855e..000000000 --- a/modules/sde-submodules/single-level-bom-as-planned/src/main/resources/SingleLevelBoMAsPlanned.csv +++ /dev/null @@ -1,3 +0,0 @@ -parent_uuid;parent_manufacturer_part_id;uuid;child_manufacturer_part_id;customer_part_id;quantity_number;measurement_unit_lexical_value;datatype_uri;created_on;last_modified_on -urn:uuid:07a3946c-59c6-41ae-9580-cb43a6e4c67e;ZX-07;urn:uuid:f7cf62fe-9e25-472b-9148-66ebcc271f31;CHLD-1;;1;unit:piece;urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie;2022-02-03T14:48:54.709Z;2022-02-03T14:48:54.709Z -urn:uuid:07b3946c-59c6-41ae-9590-cb43a6e4c68f;ZX-06;urn:uuid:07cb071f-8716-45fe-89f1-f2f77a1be93b;CHLD-2;;1;unit:piece;urn:bamm:io.openmanufacturing:meta-model:1.0.0#curie;2022-02-03T14:48:54.709Z;2022-02-03T14:48:54.709Z diff --git a/modules/sde-submodules/single-level-bom-as-planned/src/main/resources/images/singlelevelbomasplanned.png b/modules/sde-submodules/single-level-bom-as-planned/src/main/resources/images/singlelevelbomasplanned.png deleted file mode 100644 index fc71dcb1d25c082f4632b95c327d12df561f9478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175239 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
EOw`MquQ4cgX@tEd~u^y`kZ|zf$2w5jGyc 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