a174ccb05ae295cb05963d94030876c23bdab2c2
[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.so.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
36         switch (request.getAction()) {
37             case HealthCheck:
38                 RequestParameters requestParams = new RequestParameters();
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             case ConfigScaleOut:
79                 break;
80             case UpgradePreCheck:
81             case UpgradePostCheck:
82             case UpgradeSoftware:
83             case UpgradeBackup:
84                 parameters.setExistingSoftwareVersion(request.getExistingSoftwareVersion());
85                 parameters.setNewSoftwareVersion(request.getNewSoftwareVersion());
86                 payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
87                 break;
88             case ActionStatus:
89                 break;
90             case Snapshot:
91                 ApplicationControllerVm applicationControllerVm =
92                         request.getApplicationControllerVnf().getApplicationControllerVm();
93                 if (applicationControllerVm != null) {
94                     vmId = request.getApplicationControllerVnf().getApplicationControllerVm().getVmId();
95                     parameters.setVmId(vmId);
96                     payload = Optional.of((mapper.getMapper().writeValueAsString(parameters)));
97                     vserverId = Optional
98                             .of(request.getApplicationControllerVnf().getApplicationControllerVm().getVserverId());
99                 }
100             default:
101                 // errorMessage = "Unable to idenify Action request for AppCClient";
102                 break;
103         }
104
105         status = appcClient.vnfCommand(request.getAction(), msoRequestId,
106                 request.getApplicationControllerVnf().getVnfId(), vserverId, payload, request.getControllerType(),
107                 listener);
108
109         return status;
110     }
111
112 }