0afc9b11918f304bb5d86e3a59964db1ea47ba18
[sdc/sdc-workflow-designer.git] /
1 package org.onap.sdc.workflow.services.impl.mappers;
2
3 import java.util.Map;
4 import java.util.Set;
5 import java.util.stream.Collectors;
6 import org.mapstruct.InheritInverseConfiguration;
7 import org.mapstruct.Mapper;
8 import org.mapstruct.ValueMapping;
9 import org.mapstruct.ValueMappings;
10 import org.onap.sdc.workflow.persistence.types.WorkflowVersionState;
11 import org.openecomp.sdc.versioning.dao.types.VersionStatus;
12
13 @Mapper(componentModel = "spring")
14 public interface VersionStateMapper {
15
16     @ValueMappings({@ValueMapping(source = "Certified", target = "CERTIFIED"),
17             @ValueMapping(source = "Draft", target = "DRAFT"),
18             @ValueMapping(source = "<ANY_REMAINING>", target = "DRAFT")})
19     WorkflowVersionState versionStatusToWorkflowVersionState(VersionStatus status);
20
21     @InheritInverseConfiguration
22     VersionStatus workflowVersionStateToVersionStatus(WorkflowVersionState status);
23
24     default Set<WorkflowVersionState> versionStatusCountersToWorkflowVersionStates(
25             Map<VersionStatus, Integer> versionStatusCounters) {
26         return versionStatusCounters.keySet().stream().map(this::versionStatusToWorkflowVersionState)
27                                     .collect(Collectors.toSet());
28     }
29
30
31 }