aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupTypeBusinessLogic.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupTypeBusinessLogic.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupTypeBusinessLogic.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupTypeBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupTypeBusinessLogic.java
new file mode 100644
index 0000000000..cdd1b30656
--- /dev/null
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/GroupTypeBusinessLogic.java
@@ -0,0 +1,46 @@
+package org.openecomp.sdc.be.components.impl;
+
+import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
+import org.openecomp.sdc.be.components.validation.UserValidations;
+import org.openecomp.sdc.be.config.ConfigurationManager;
+import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
+import org.openecomp.sdc.be.model.GroupTypeDefinition;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.operations.impl.GroupTypeOperation;
+import org.openecomp.sdc.exception.ResponseFormat;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Set;
+
+@Component
+public class GroupTypeBusinessLogic {
+
+ private final GroupTypeOperation groupTypeOperation;
+ private final TitanDao titanDao;
+ private final UserValidations userValidations;
+
+ public GroupTypeBusinessLogic(GroupTypeOperation groupTypeOperation, TitanDao titanDao, UserValidations userValidations) {
+ this.groupTypeOperation = groupTypeOperation;
+ this.titanDao = titanDao;
+ this.userValidations = userValidations;
+ }
+
+
+ public List<GroupTypeDefinition> getAllGroupTypes(String userId, String internalComponentType) {
+ try {
+ userValidations.validateUserExists(userId, "get group types", true)
+ .left()
+ .on(this::onUserError);
+
+ Set<String> excludeGroupTypes = ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedGroupTypesMapping().get(internalComponentType);
+ return groupTypeOperation.getAllGroupTypes(excludeGroupTypes);
+ } finally {
+ titanDao.commit();
+ }
+ }
+
+ private User onUserError(ResponseFormat responseFormat) {
+ throw new ComponentException(responseFormat);
+ }
+}