1 package org.openecomp.sdc.be.components.impl;
4 import org.openecomp.sdc.be.components.validation.UserValidations;
5 import org.openecomp.sdc.be.config.ConfigurationManager;
6 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
7 import org.openecomp.sdc.be.impl.ComponentsUtils;
8 import org.openecomp.sdc.be.model.PolicyTypeDefinition;
9 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
10 import org.openecomp.sdc.be.model.operations.impl.PolicyTypeOperation;
11 import org.openecomp.sdc.exception.ResponseFormat;
12 import org.slf4j.Logger;
13 import org.slf4j.LoggerFactory;
14 import org.springframework.stereotype.Component;
16 import java.util.List;
20 public class PolicyTypeBusinessLogic {
22 private static final Logger log = LoggerFactory.getLogger(PolicyTypeBusinessLogic.class);
23 private PolicyTypeOperation policyTypeOperation;
24 private TitanDao titanDao;
25 private ComponentsUtils componentsUtils;
26 private UserValidations userValidations;
28 public PolicyTypeBusinessLogic(PolicyTypeOperation policyTypeOperation, TitanDao titanDao, ComponentsUtils componentsUtils, UserValidations userValidations) {
29 this.policyTypeOperation = policyTypeOperation;
30 this.titanDao = titanDao;
31 this.componentsUtils = componentsUtils;
32 this.userValidations = userValidations;
35 public Either<List<PolicyTypeDefinition>, ResponseFormat> getAllPolicyTypes(String userId, String internalComponentType) {
37 Set<String> excludedPolicyTypes = ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedPolicyTypesMapping().get(internalComponentType);
38 return userValidations.validateUserExists(userId, "get policy types", true)
40 .bind(user -> getPolicyTypes(excludedPolicyTypes));
46 private Either<List<PolicyTypeDefinition>, ResponseFormat> getPolicyTypes(Set<String> excludedTypes) {
47 return policyTypeOperation.getAllPolicyTypes(excludedTypes)
49 .bind(this::convertToResponseFormatOrNotFoundErrorToEmptyList);
52 private Either<List<PolicyTypeDefinition>, ResponseFormat> convertToResponseFormatOrNotFoundErrorToEmptyList(StorageOperationStatus err) {
53 log.debug("error when trying to fetch policy types: {}", err);
54 return componentsUtils.convertToResponseFormatOrNotFoundErrorToEmptyList(err);