Containerization feature of SO
[so.git] / bpmn / MSOCommonBPMN / src / main / java / org / onap / so / bpmn / appc / payload / PayloadClient.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.bpmn.appc.payload;
22
23 import java.util.Optional;
24
25 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersHealthCheck;
26 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersQuiesce;
27 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersResumeTraffic;
28 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersUpgrade;
29 import org.onap.so.bpmn.appc.payload.beans.HealthCheckAction;
30 import org.onap.so.bpmn.appc.payload.beans.QuiesceTrafficAction;
31 import org.onap.so.bpmn.appc.payload.beans.RequestParametersHealthCheck;
32 import org.onap.so.bpmn.appc.payload.beans.ResumeTrafficAction;
33 import org.onap.so.bpmn.appc.payload.beans.SnapshotAction;
34 import org.onap.so.bpmn.appc.payload.beans.StartStopAction;
35 import org.onap.so.bpmn.appc.payload.beans.UpgradeAction;
36 import org.onap.so.bpmn.core.json.JsonUtils;
37
38 import com.fasterxml.jackson.core.JsonProcessingException;
39 import com.fasterxml.jackson.databind.ObjectMapper;
40
41 public class PayloadClient {
42
43         protected static ObjectMapper mapper = new ObjectMapper();
44         
45         private PayloadClient() {}
46         
47         public static Optional<String> upgradeFormat(Optional<String> payload, String vnfName) throws JsonProcessingException{
48                         UpgradeAction payloadResult = new UpgradeAction();
49                         ConfigurationParametersUpgrade configParams = new ConfigurationParametersUpgrade();
50                     String payloadString = payload.isPresent() ? payload.get() : "";
51                         String existingSoftware = JsonUtils.getJsonValue(payloadString, "existing-software-version");
52                         String newSoftware = JsonUtils.getJsonValue(payloadString, "new-software-version");
53                         configParams.setExistingSoftwareVersion(existingSoftware);
54                         configParams.setNewSoftwareVersion(newSoftware);
55                         configParams.setVnfName(vnfName);
56                         payloadResult.setConfigurationParameters(configParams);
57                         return Optional.of(mapper.writeValueAsString(payloadResult));
58         }
59         
60         public static Optional<String> resumeTrafficFormat(String vnfName) throws JsonProcessingException{
61                         ResumeTrafficAction payloadResult = new ResumeTrafficAction();
62                         ConfigurationParametersResumeTraffic configParams = new ConfigurationParametersResumeTraffic();
63                         configParams.setVnfName(vnfName);
64                         payloadResult.setConfigurationParameters(configParams);
65                         return Optional.of(mapper.writeValueAsString(payloadResult));
66         } 
67         
68         public static Optional<String> quiesceTrafficFormat(Optional<String> payload, String vnfName) throws JsonProcessingException{
69                         QuiesceTrafficAction payloadResult = new QuiesceTrafficAction();
70                         ConfigurationParametersQuiesce configParams = new ConfigurationParametersQuiesce();
71                         String payloadString = payload.isPresent() ? payload.get() : "";
72                         String operationsTimeout = JsonUtils.getJsonValue(payloadString, "operations-timeout");
73                         configParams.setOperationsTimeout(operationsTimeout);
74                         configParams.setVnfName(vnfName);
75                         payloadResult.setConfigurationParameters(configParams);
76                         return Optional.of(mapper.writeValueAsString(payloadResult));
77         }
78         
79         public static Optional<String> startStopFormat(String aicIdentity) throws JsonProcessingException{
80                         StartStopAction payloadResult = new StartStopAction();
81                         payloadResult.setAicIdentity(aicIdentity);
82                         return Optional.of(mapper.writeValueAsString(payloadResult));
83         }
84         
85         public static Optional<String> healthCheckFormat(String vnfName, String vnfHostIpAddress) throws JsonProcessingException{
86                         HealthCheckAction payloadResult = new HealthCheckAction();
87                         RequestParametersHealthCheck requestParams = new RequestParametersHealthCheck();
88                         ConfigurationParametersHealthCheck configParams = new ConfigurationParametersHealthCheck();
89                         requestParams.setVnfName(vnfName);
90                         configParams.setVnfName(vnfName);
91                         payloadResult.setConfigurationParameters(configParams);
92                         payloadResult.setRequestParameters(requestParams);
93                         return Optional.of(mapper.writeValueAsString(payloadResult));
94         }
95         
96         public static Optional<String> snapshotFormat(String vmId, String identityUrl)throws JsonProcessingException{
97                         SnapshotAction payloadResult = new SnapshotAction();
98                         payloadResult.setVmId(vmId);
99                         payloadResult.setIdentityUrl(identityUrl);
100                         return Optional.of(mapper.writeValueAsString(payloadResult));
101         }
102         
103 }