org.onap migration
[vid.git] / vid-app-common / src / main / java / org / onap / vid / services / WorkflowServiceImpl.java
1 package org.onap.vid.services;
2
3 import org.onap.vid.model.Workflow;
4 import org.springframework.stereotype.Service;
5
6 import java.util.ArrayList;
7 import java.util.Arrays;
8 import java.util.Collection;
9 import java.util.stream.Collectors;
10
11 @Service
12 public class WorkflowServiceImpl implements WorkflowService {
13     //TODO: Add the list of workflows hard coded or from DB.
14     private ArrayList<Workflow> workflows = new ArrayList<>(Arrays.asList(
15             new Workflow(0, "Upgrade", new ArrayList<>(Arrays.asList("VNF1", "VNF2", "VNF3", "VNF4"))),
16             new Workflow(1, "Clean", new ArrayList<>(Arrays.asList("VNF1", "VNF2", "VNF3"))),
17             new Workflow(2, "Reinstall", new ArrayList<>(Arrays.asList("VNF1", "VNF2", "VNF4"))),
18             new Workflow(3, "Dump", new ArrayList<>(Arrays.asList("VNF1", "VNF3", "VNF4"))),
19             new Workflow(4, "Flush", new ArrayList<>(Arrays.asList("VNF2", "VNF3", "VNF4")))
20     ));
21
22     @Override
23     public Collection<String> getWorkflowsForVNFs(Collection<String> vnfNames) {
24         Collection<String> result = workflows.stream()
25                 .filter(workflow -> workflow.getVnfNames().containsAll(vnfNames))
26                 .map(workflow -> workflow.getWorkflowName())
27                 .distinct()
28                 .collect(Collectors.toList());
29
30         return result;
31     }
32
33     @Override
34     public Collection<String> getAllWorkflows() {
35         return workflows.stream()
36                 .map(workflow -> workflow.getWorkflowName())
37                 .distinct()
38                 .collect(Collectors.toList());
39     }
40 }