re base code
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / components / impl / PolicyTypeBusinessLogic.java
index a65a23e..cb4b6ff 100644 (file)
@@ -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) {