From fe0ec20b2fa82f324ebacd7d9bed6a9696fed792 Mon Sep 17 00:00:00 2001 From: Manuel Rafeli Date: Mon, 9 Sep 2024 14:11:02 +0200 Subject: [PATCH] fix: Remove InstitutionType from institutionContractMappings on onboarding-sdk (#475) Co-authored-by: pierpaolodidato89 <137791912+pierpaolodidato89@users.noreply.github.com> Co-authored-by: pierpaolo.didato@emeal.nttdata.com Co-authored-by: giampieroFerrara Co-authored-by: andrea-putzu <106688558+andrea-putzu@users.noreply.github.com> --- apps/onboarding-cdc/pom.xml | 2 +- apps/onboarding-functions/pom.xml | 2 +- .../entity/OnboardingWorkflowAggregator.java | 9 +++++++-- .../entity/OnboardingWorkflowInstitution.java | 8 ++++++-- .../onboarding/service/OnboardingServiceTest.java | 4 ++-- apps/onboarding-ms/pom.xml | 2 +- libs/onboarding-sdk-azure-storage/pom.xml | 2 +- libs/onboarding-sdk-common/pom.xml | 2 +- libs/onboarding-sdk-crypto/pom.xml | 2 +- libs/onboarding-sdk-pom/pom.xml | 2 +- libs/onboarding-sdk-product/pom.xml | 6 +++--- .../it/pagopa/selfcare/product/entity/Product.java | 7 +++---- .../product/service/ProductServiceDefault.java | 13 +++++-------- test-coverage/pom.xml | 8 ++++---- 14 files changed, 37 insertions(+), 32 deletions(-) diff --git a/apps/onboarding-cdc/pom.xml b/apps/onboarding-cdc/pom.xml index a39090eff..b2beb91a6 100644 --- a/apps/onboarding-cdc/pom.xml +++ b/apps/onboarding-cdc/pom.xml @@ -24,7 +24,7 @@ 3.5.2 true 3.1.2 - 0.1.21 + 0.2.0 2.4.1 diff --git a/apps/onboarding-functions/pom.xml b/apps/onboarding-functions/pom.xml index 2572f5838..67baef938 100644 --- a/apps/onboarding-functions/pom.xml +++ b/apps/onboarding-functions/pom.xml @@ -21,7 +21,7 @@ 3.5.1 true 3.1.2 - 0.1.21 + 0.2.0 1.5.5.Final diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowAggregator.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowAggregator.java index 1eb8a7250..f436b4d26 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowAggregator.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowAggregator.java @@ -6,6 +6,7 @@ import it.pagopa.selfcare.product.entity.ContractStorage; import it.pagopa.selfcare.product.entity.Product; +import java.util.Objects; import java.util.Optional; public class OnboardingWorkflowAggregator extends OnboardingWorkflow { @@ -41,9 +42,13 @@ public String getEmailCompletionPath(MailTemplatePathConfig config) { @Override public String getContractTemplatePath(Product product) { + if(Objects.isNull(onboarding.getInstitution()) || Objects.isNull(onboarding.getInstitution().getInstitutionType())){ + return null; + } + return Optional.ofNullable(product.getInstitutionContractMappings()) - .filter(mappings -> mappings.containsKey(onboarding.getInstitution().getInstitutionType())) - .map(mappings -> mappings.get(onboarding.getInstitution().getInstitutionType())) + .filter(mappings -> mappings.containsKey(onboarding.getInstitution().getInstitutionType().name())) + .map(mappings -> mappings.get(onboarding.getInstitution().getInstitutionType().name())) .map(ContractStorage::getContractTemplatePath) .orElse(product.getContractTemplatePath()); } diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowInstitution.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowInstitution.java index c27a21407..917d30399 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowInstitution.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/OnboardingWorkflowInstitution.java @@ -7,6 +7,7 @@ import it.pagopa.selfcare.product.entity.ContractStorage; import it.pagopa.selfcare.product.entity.Product; +import java.util.Objects; import java.util.Optional; import static it.pagopa.selfcare.onboarding.common.ProductId.PROD_FD; @@ -62,10 +63,13 @@ public String getRejectTokenUrl(MailTemplatePlaceholdersConfig config) { @Override public String getContractTemplatePath(Product product) { + if(Objects.isNull(onboarding.getInstitution()) || Objects.isNull(onboarding.getInstitution().getInstitutionType())){ + return null; + } return Optional.ofNullable(product.getInstitutionContractMappings()) - .filter(mappings -> mappings.containsKey(onboarding.getInstitution().getInstitutionType())) - .map(mappings -> mappings.get(onboarding.getInstitution().getInstitutionType())) + .filter(mappings -> mappings.containsKey(onboarding.getInstitution().getInstitutionType().name())) + .map(mappings -> mappings.get(onboarding.getInstitution().getInstitutionType().name())) .map(ContractStorage::getContractTemplatePath) .orElse(product.getContractTemplatePath()); } diff --git a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceTest.java b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceTest.java index b09e0eb24..b73dde762 100644 --- a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceTest.java +++ b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceTest.java @@ -118,10 +118,10 @@ void createContract_InstitutionContractMappings() { Product product = createDummyProduct(); /* add contract mapping */ - Map contractStorageMap = new HashMap<>(); + Map contractStorageMap = new HashMap<>(); ContractStorage contractStorage = new ContractStorage(); contractStorage.setContractTemplatePath("setContractTemplatePath"); - contractStorageMap.put(onboarding.getInstitution().getInstitutionType(), contractStorage); + contractStorageMap.put(onboarding.getInstitution().getInstitutionType().name(), contractStorage); product.setInstitutionContractMappings(contractStorageMap); when(userRegistryApi.findByIdUsingGET(USERS_WORKS_FIELD_LIST,manager.getId())) diff --git a/apps/onboarding-ms/pom.xml b/apps/onboarding-ms/pom.xml index 3438c150d..1237086e2 100644 --- a/apps/onboarding-ms/pom.xml +++ b/apps/onboarding-ms/pom.xml @@ -23,7 +23,7 @@ 3.11.2 true 3.1.2 - 0.1.21 + 0.2.0 2.4.1 diff --git a/libs/onboarding-sdk-azure-storage/pom.xml b/libs/onboarding-sdk-azure-storage/pom.xml index e0e9fcdf4..2b98eb30c 100644 --- a/libs/onboarding-sdk-azure-storage/pom.xml +++ b/libs/onboarding-sdk-azure-storage/pom.xml @@ -6,7 +6,7 @@ it.pagopa.selfcare onboarding-sdk-pom - 0.1.21 + 0.2.0 ../onboarding-sdk-pom diff --git a/libs/onboarding-sdk-common/pom.xml b/libs/onboarding-sdk-common/pom.xml index d4e0064c0..8dd145c53 100644 --- a/libs/onboarding-sdk-common/pom.xml +++ b/libs/onboarding-sdk-common/pom.xml @@ -4,7 +4,7 @@ it.pagopa.selfcare onboarding-sdk-pom - 0.1.21 + 0.2.0 ../onboarding-sdk-pom onboarding-sdk-common diff --git a/libs/onboarding-sdk-crypto/pom.xml b/libs/onboarding-sdk-crypto/pom.xml index ac21d580a..224dba138 100644 --- a/libs/onboarding-sdk-crypto/pom.xml +++ b/libs/onboarding-sdk-crypto/pom.xml @@ -4,7 +4,7 @@ it.pagopa.selfcare onboarding-sdk-pom - 0.1.21 + 0.2.0 ../onboarding-sdk-pom onboarding-sdk-crypto diff --git a/libs/onboarding-sdk-pom/pom.xml b/libs/onboarding-sdk-pom/pom.xml index 17099c974..4ec2f5ba7 100644 --- a/libs/onboarding-sdk-pom/pom.xml +++ b/libs/onboarding-sdk-pom/pom.xml @@ -6,7 +6,7 @@ onboarding-sdk-pom pom onboarding-sdk-pom - 0.1.21 + 0.2.0 17 diff --git a/libs/onboarding-sdk-product/pom.xml b/libs/onboarding-sdk-product/pom.xml index c5014978f..cb547d576 100644 --- a/libs/onboarding-sdk-product/pom.xml +++ b/libs/onboarding-sdk-product/pom.xml @@ -4,16 +4,16 @@ it.pagopa.selfcare onboarding-sdk-pom - 0.1.21 + 0.2.0 ../onboarding-sdk-pom onboarding-sdk-product onboarding-sdk-product - 0.1.21 + 0.2.0 2.15.2 - 0.1.21 + 0.2.0 diff --git a/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java index 66ab58b1e..bd1b27169 100644 --- a/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java +++ b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/entity/Product.java @@ -1,6 +1,5 @@ package it.pagopa.selfcare.product.entity; -import it.pagopa.selfcare.onboarding.common.InstitutionType; import it.pagopa.selfcare.onboarding.common.PartyRole; import java.time.Instant; @@ -27,7 +26,7 @@ public class Product { private Instant contractTemplateUpdatedAt; private String contractTemplatePath; private String contractTemplateVersion; - private Map institutionContractMappings; + private Map institutionContractMappings; private boolean enabled = true; private boolean delegable; private boolean invoiceable; @@ -177,11 +176,11 @@ public void setContractTemplateVersion(String contractTemplateVersion) { this.contractTemplateVersion = contractTemplateVersion; } - public Map getInstitutionContractMappings() { + public Map getInstitutionContractMappings() { return institutionContractMappings; } - public void setInstitutionContractMappings(Map institutionContractMappings) { + public void setInstitutionContractMappings(Map institutionContractMappings) { this.institutionContractMappings = institutionContractMappings; } diff --git a/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java index 7398c87cb..1fa67394c 100644 --- a/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java +++ b/libs/onboarding-sdk-product/src/main/java/it/pagopa/selfcare/product/service/ProductServiceDefault.java @@ -10,10 +10,7 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import it.pagopa.selfcare.onboarding.common.InstitutionType; import it.pagopa.selfcare.onboarding.common.PartyRole; -import it.pagopa.selfcare.product.entity.Product; -import it.pagopa.selfcare.product.entity.ProductRole; -import it.pagopa.selfcare.product.entity.ProductRoleInfo; -import it.pagopa.selfcare.product.entity.ProductStatus; +import it.pagopa.selfcare.product.entity.*; import it.pagopa.selfcare.product.exception.InvalidRoleMappingException; import it.pagopa.selfcare.product.exception.ProductNotFoundException; @@ -148,9 +145,10 @@ private Product getProduct(String productId, boolean filterValid) { */ @Override public void fillContractTemplatePathAndVersion(Product product, InstitutionType institutionType) { - if (institutionType != null && product.getInstitutionContractMappings() != null && product.getInstitutionContractMappings().containsKey(institutionType)) { - product.setContractTemplatePath(product.getInstitutionContractMappings().get(institutionType).getContractTemplatePath()); - product.setContractTemplateVersion(product.getInstitutionContractMappings().get(institutionType).getContractTemplateVersion()); + if (Objects.nonNull(institutionType) && Objects.nonNull(product.getInstitutionContractMappings()) + && product.getInstitutionContractMappings().containsKey(institutionType.name())) { + product.setContractTemplatePath(product.getInstitutionContractMappings().get(institutionType.name()).getContractTemplatePath()); + product.setContractTemplateVersion(product.getInstitutionContractMappings().get(institutionType.name()).getContractTemplateVersion()); } } @@ -204,5 +202,4 @@ private static boolean statusIsNotValid(ProductStatus status) { return List.of(ProductStatus.INACTIVE, ProductStatus.PHASE_OUT).contains(status); } - } diff --git a/test-coverage/pom.xml b/test-coverage/pom.xml index 2f0fec135..4c8b4aaea 100644 --- a/test-coverage/pom.xml +++ b/test-coverage/pom.xml @@ -77,22 +77,22 @@ it.pagopa.selfcare onboarding-sdk-product - 0.1.21 + 0.2.0 it.pagopa.selfcare onboarding-sdk-common - 0.1.21 + 0.2.0 it.pagopa.selfcare onboarding-sdk-azure-storage - 0.1.21 + 0.2.0 it.pagopa.selfcare onboarding-sdk-crypto - 0.1.21 + 0.2.0