Introduced mocked SO workflows in VID FE
[vid.git] / vid-app-common / src / main / java / org / onap / vid / services / ExtWorkflowsServiceImpl.java
1 package org.onap.vid.services;
2
3 import java.util.List;
4 import org.onap.vid.model.SOWorkflow;
5 import org.onap.vid.model.SOWorkflows;
6 import org.onap.vid.mso.MsoResponseWrapper2;
7 import org.onap.vid.mso.rest.MockedWorkflowsRestClient;
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service;
10
11 @Service
12 public class ExtWorkflowsServiceImpl implements ExtWorkflowsService {
13
14     private MockedWorkflowsRestClient mockedWorkflowsRestClient;
15
16     @Autowired
17     public ExtWorkflowsServiceImpl(MockedWorkflowsRestClient mockedWorkflowsRestClient) {
18         this.mockedWorkflowsRestClient = mockedWorkflowsRestClient;
19     }
20
21     @Override
22     public List<SOWorkflow> getWorkflows(String vnfName) {
23         MsoResponseWrapper2<SOWorkflows> msoResponse = mockedWorkflowsRestClient.getWorkflows(vnfName);
24         if (msoResponse.getStatus() >= 400 || msoResponse.getEntity() == null) {
25             throw new BadResponseFromMso(msoResponse);
26         }
27         return convertMsoResponseToWorkflowList(msoResponse);
28     }
29
30     private List<SOWorkflow> convertMsoResponseToWorkflowList(MsoResponseWrapper2<SOWorkflows> msoResponse) {
31         SOWorkflows soWorkflows = (SOWorkflows) msoResponse.getEntity();
32         return soWorkflows.getWorkflows();
33     }
34
35     public static class BadResponseFromMso extends RuntimeException {
36         private final MsoResponseWrapper2<SOWorkflows> msoResponse;
37
38         public BadResponseFromMso(MsoResponseWrapper2<SOWorkflows> msoResponse) {
39             this.msoResponse = msoResponse;
40         }
41
42         public MsoResponseWrapper2<SOWorkflows> getMsoResponse() {
43             return msoResponse;
44         }
45     }
46
47 }