1 package org.openecomp.sdc.be.components.impl;
3 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
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.model.GroupTypeDefinition;
8 import org.openecomp.sdc.be.model.User;
9 import org.openecomp.sdc.be.model.operations.impl.GroupTypeOperation;
10 import org.openecomp.sdc.exception.ResponseFormat;
11 import org.springframework.stereotype.Component;
13 import java.util.List;
17 public class GroupTypeBusinessLogic {
19 private final GroupTypeOperation groupTypeOperation;
20 private final TitanDao titanDao;
21 private final UserValidations userValidations;
23 public GroupTypeBusinessLogic(GroupTypeOperation groupTypeOperation, TitanDao titanDao, UserValidations userValidations) {
24 this.groupTypeOperation = groupTypeOperation;
25 this.titanDao = titanDao;
26 this.userValidations = userValidations;
30 public List<GroupTypeDefinition> getAllGroupTypes(String userId, String internalComponentType) {
32 userValidations.validateUserExists(userId, "get group types", true)
34 .on(this::onUserError);
36 Set<String> excludeGroupTypes = ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedGroupTypesMapping().get(internalComponentType);
37 return groupTypeOperation.getAllGroupTypes(excludeGroupTypes);
43 private User onUserError(ResponseFormat responseFormat) {
44 throw new ComponentException(responseFormat);