c9d3bf1ea9e859418b1f91f2a672fe8627bb4f16
[sdc/sdc-workflow-designer.git] / workflow-designer-be / src / main / java / org / onap / sdc / workflow / api / types / VersionStatesFormatter.java
1 package org.onap.sdc.workflow.api.types;
2
3 import java.util.Arrays;
4 import java.util.Collections;
5 import java.util.Set;
6 import java.util.stream.Collectors;
7 import lombok.Getter;
8 import org.onap.sdc.workflow.persistence.types.WorkflowVersionState;
9 import org.openecomp.sdc.logging.api.Logger;
10 import org.openecomp.sdc.logging.api.LoggerFactory;
11
12 @Getter
13 public class VersionStatesFormatter {
14
15     private static final Logger LOGGER = LoggerFactory.getLogger(VersionStatesFormatter.class);
16
17     private Set<WorkflowVersionState> versionStates = null;
18
19     public void setVersionState(String value) {
20         this.versionStates = formatString(value);
21     }
22
23     public void setState(String value) {
24         this.versionStates = formatString(value);
25     }
26
27     private static Set<WorkflowVersionState> formatString(String value) {
28         try {
29             return value == null ? null : Arrays.stream(value.split(",")).map(WorkflowVersionState::valueOf)
30                                                 .collect(Collectors.toSet());
31         } catch (Exception ignore) {
32             LOGGER.info(
33                     "value is invalid and cannot be formatted to a set of version states, therefore it set to empty set");
34             return Collections.emptySet();
35         }
36     }
37 }