8e3893544102f393625412ca2a292d47e63763f5
[so.git] /
1 package org.onap.so.adapters.appc.orchestrator.service;
2
3 import java.util.Optional;
4 import org.onap.appc.client.lcm.model.Status;
5 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerCallback;
6 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerClient;
7 import org.onap.so.adapters.appc.orchestrator.client.ApplicationControllerOrchestratorException;
8 import org.onap.so.adapters.appc.orchestrator.client.beans.ConfigurationParameters;
9 import org.onap.so.adapters.appc.orchestrator.client.beans.Identity;
10 import org.onap.so.adapters.appc.orchestrator.client.beans.Parameters;
11 import org.onap.so.adapters.appc.orchestrator.client.beans.RequestParameters;
12 import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerTaskRequest;
13 import org.onap.so.appc.orchestrator.service.beans.ApplicationControllerVm;
14 import org.onap.aaiclient.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
15 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.stereotype.Component;
17 import com.fasterxml.jackson.core.JsonProcessingException;
18
19 @Component
20 public class ApplicationControllerTaskImpl {
21
22     @Autowired
23     private ApplicationControllerClient appcClient;
24
25     public Status execute(String msoRequestId, ApplicationControllerTaskRequest request,
26             ApplicationControllerCallback listener)
27             throws JsonProcessingException, ApplicationControllerOrchestratorException {
28         Status status = null;
29         GraphInventoryCommonObjectMapperProvider mapper = new GraphInventoryCommonObjectMapperProvider();
30         Optional<String> payload = Optional.empty();
31         String vmId = null;
32         Optional<String> vserverId = Optional.empty();
33         Parameters parameters = new Parameters();
34         ConfigurationParameters configParams = new ConfigurationParameters();
35         RequestParameters requestParams = new RequestParameters();
36
37         switch (request.getAction()) {
38             case HealthCheck:
39                 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
40                 parameters.setRequestParameters(requestParams);
41                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
42                 break;
43             case ResumeTraffic:
44                 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
45                 parameters.setConfigurationParameters(configParams);
46                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
47                 break;
48             case Start:
49             case Stop:
50                 Identity identity = new Identity();
51                 identity.setIdentityUrl(request.getIdentityUrl());
52                 payload = Optional.of((mapper.getMapper().writeValueAsString(identity)));
53                 break;
54             case Unlock:
55             case Lock:
56                 break;
57             case QuiesceTraffic:
58                 parameters.setOperationsTimeout(request.getOperationsTimeout());
59                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
60                 break;
61             case DistributeTraffic:
62                 configParams.setBookName(request.getBookName());
63                 configParams.setNodeList(request.getNodeList());
64                 configParams.setFileParameterContent(request.getFileParameters());
65                 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
66                 parameters.setConfigurationParameters(configParams);
67                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
68                 break;
69             case DistributeTrafficCheck:
70                 configParams.setBookName(request.getBookName());
71                 configParams.setNodeList(request.getNodeList());
72                 configParams.setFileParameterContent(request.getFileParameters());
73                 configParams.setVnfName(request.getApplicationControllerVnf().getVnfName());
74                 parameters.setConfigurationParameters(configParams);
75                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
76                 break;
77             case ConfigModify:
78                 requestParams.setHostIpAddress(request.getApplicationControllerVnf().getVnfHostIpAddress());
79                 configParams.setAdditionalProperties(request.getConfigParams());
80                 parameters.setRequestParameters(requestParams);
81                 parameters.setConfigurationParameters(configParams);
82                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
83                 break;
84             case ConfigScaleOut:
85                 break;
86             case UpgradePreCheck:
87             case UpgradePostCheck:
88             case UpgradeSoftware:
89             case UpgradeBackup:
90                 parameters.setExistingSoftwareVersion(request.getExistingSoftwareVersion());
91                 parameters.setNewSoftwareVersion(request.getNewSoftwareVersion());
92                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
93                 break;
94             case ActionStatus:
95                 break;
96             case Snapshot:
97                 ApplicationControllerVm applicationControllerVm =
98                         request.getApplicationControllerVnf().getApplicationControllerVm();
99                 if (applicationControllerVm != null) {
100                     vmId = request.getApplicationControllerVnf().getApplicationControllerVm().getVmId();
101                     parameters.setVmId(vmId);
102                     payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
103                     vserverId = Optional
104                             .of(request.getApplicationControllerVnf().getApplicationControllerVm().getVserverId());
105                 }
106                 break;
107             default:
108                 // errorMessage = "Unable to idenify Action request for AppCClient";
109                 break;
110         }
111
112         status = appcClient.vnfCommand(request.getAction(), msoRequestId,
113                 request.getApplicationControllerVnf().getVnfId(), vserverId, payload, request.getControllerType(),
114                 listener);
115
116         return status;
117     }
118
119 }