diff options
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeBusinessLogic.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeBusinessLogic.java | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeBusinessLogic.java index a65a23e5f4..cb4b6ff58c 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeBusinessLogic.java @@ -1,8 +1,7 @@ package org.openecomp.sdc.be.components.impl; -import java.util.List; -import java.util.Set; - +import fj.data.Either; +import org.apache.commons.lang.StringUtils; import org.openecomp.sdc.be.components.validation.UserValidations; import org.openecomp.sdc.be.config.ConfigurationManager; import org.openecomp.sdc.be.dao.jsongraph.TitanDao; @@ -10,17 +9,21 @@ import org.openecomp.sdc.be.impl.ComponentsUtils; import org.openecomp.sdc.be.model.PolicyTypeDefinition; import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; import org.openecomp.sdc.be.model.operations.impl.PolicyTypeOperation; +import org.openecomp.sdc.common.log.wrappers.Logger; import org.openecomp.sdc.exception.ResponseFormat; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; -import fj.data.Either; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static java.util.Collections.emptySet; @Component public class PolicyTypeBusinessLogic { - private static final Logger log = LoggerFactory.getLogger(PolicyTypeBusinessLogic.class); + private static final Logger log = Logger.getLogger(PolicyTypeBusinessLogic.class); private PolicyTypeOperation policyTypeOperation; private TitanDao titanDao; private ComponentsUtils componentsUtils; @@ -33,21 +36,24 @@ public class PolicyTypeBusinessLogic { this.userValidations = userValidations; } - public Either<List<PolicyTypeDefinition>, ResponseFormat> getAllPolicyTypes(String userId, String internalComponentType) { - try { - Set<String> excludedPolicyTypes = ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedPolicyTypesMapping().get(internalComponentType); - return userValidations.validateUserExists(userId, "get policy types", true) - .left() - .bind(user -> getPolicyTypes(excludedPolicyTypes)); - } finally { - titanDao.commit(); + @Transactional + public List<PolicyTypeDefinition> getAllPolicyTypes(String userId, String internalComponentType) { + Set<String> excludedPolicyTypes = getExcludedPolicyTypes(internalComponentType); + userValidations.validateUserExists(userId, "get policy types", true); + return getPolicyTypes(excludedPolicyTypes); + } + + public Set<String> getExcludedPolicyTypes(String internalComponentType) { + if (StringUtils.isEmpty(internalComponentType)) { + return emptySet(); } + Map<String, Set<String>> excludedPolicyTypesMapping = ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedPolicyTypesMapping(); + Set<String> excludedTypes = excludedPolicyTypesMapping.get(internalComponentType); + return excludedTypes == null ? emptySet() : excludedTypes; } - private Either<List<PolicyTypeDefinition>, ResponseFormat> getPolicyTypes(Set<String> excludedTypes) { - return policyTypeOperation.getAllPolicyTypes(excludedTypes) - .right() - .bind(this::convertToResponseFormatOrNotFoundErrorToEmptyList); + private List<PolicyTypeDefinition> getPolicyTypes(Set<String> excludedTypes) { + return policyTypeOperation.getAllPolicyTypes(excludedTypes); } private Either<List<PolicyTypeDefinition>, ResponseFormat> convertToResponseFormatOrNotFoundErrorToEmptyList(StorageOperationStatus err) { |