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 | 17 |
1 files changed, 17 insertions, 0 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 6154061056..c74520f825 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 @@ -22,8 +22,10 @@ package org.openecomp.sdc.be.components.impl; import fj.data.Either; import org.apache.commons.lang.StringUtils; +import org.openecomp.sdc.be.components.impl.exceptions.ByActionStatusComponentException; import org.openecomp.sdc.be.components.validation.UserValidations; import org.openecomp.sdc.be.config.ConfigurationManager; +import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao; import org.openecomp.sdc.be.impl.ComponentsUtils; import org.openecomp.sdc.be.model.PolicyTypeDefinition; @@ -63,6 +65,12 @@ public class PolicyTypeBusinessLogic { return getPolicyTypes(excludedPolicyTypes); } + public PolicyTypeDefinition getLatestPolicyTypeByType(String policyTypeName) { + return policyTypeOperation.getLatestPolicyTypeByType(policyTypeName) + .left() + .on(e -> failOnPolicyType(e, policyTypeName)); + } + public Set<String> getExcludedPolicyTypes(String internalComponentType) { if (StringUtils.isEmpty(internalComponentType)) { return emptySet(); @@ -80,4 +88,13 @@ public class PolicyTypeBusinessLogic { log.debug("error when trying to fetch policy types: {}", err); return componentsUtils.convertToResponseFormatOrNotFoundErrorToEmptyList(err); } + + private PolicyTypeDefinition failOnPolicyType(StorageOperationStatus status, String policyType) { + janusGraphDao.rollback(); + if (status == StorageOperationStatus.INVALID_ID) { + throw new ByActionStatusComponentException(ActionStatus.POLICY_TYPE_IS_INVALID, policyType); + } else { + throw new ByActionStatusComponentException(ActionStatus.GENERAL_ERROR); + } + } } |