2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.bpmn.appc.payload;
23 import java.util.Optional;
24 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersHealthCheck;
25 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersQuiesce;
26 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersResumeTraffic;
27 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersDistributeTraffic;
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.DistributeTrafficAction;
34 import org.onap.so.bpmn.appc.payload.beans.DistributeTrafficCheckAction;
35 import org.onap.so.bpmn.appc.payload.beans.SnapshotAction;
36 import org.onap.so.bpmn.appc.payload.beans.StartStopAction;
37 import org.onap.so.bpmn.appc.payload.beans.UpgradeAction;
38 import org.onap.so.bpmn.core.json.JsonUtils;
39 import com.fasterxml.jackson.core.JsonProcessingException;
40 import com.fasterxml.jackson.databind.ObjectMapper;
42 public class PayloadClient {
44 protected static ObjectMapper mapper = new ObjectMapper();
46 private PayloadClient() {}
48 public static Optional<String> upgradeFormat(Optional<String> payload, String vnfName)
49 throws JsonProcessingException {
50 UpgradeAction payloadResult = new UpgradeAction();
51 ConfigurationParametersUpgrade configParams = new ConfigurationParametersUpgrade();
52 String payloadString = payload.isPresent() ? payload.get() : "";
53 String existingSoftware = JsonUtils.getJsonValue(payloadString, "existing_software_version");
54 String newSoftware = JsonUtils.getJsonValue(payloadString, "new_software_version");
55 configParams.setExistingSoftwareVersion(existingSoftware);
56 configParams.setNewSoftwareVersion(newSoftware);
57 configParams.setVnfName(vnfName);
58 payloadResult.setConfigurationParameters(configParams);
59 return Optional.of(mapper.writeValueAsString(payloadResult));
62 public static Optional<String> distributeTrafficFormat(Optional<String> payload, String vnfName)
63 throws JsonProcessingException {
64 DistributeTrafficAction payloadResult = new DistributeTrafficAction();
65 ConfigurationParametersDistributeTraffic configParams = new ConfigurationParametersDistributeTraffic();
66 String payloadString = payload.isPresent() ? payload.get() : "";
67 String bookName = JsonUtils.getJsonValue(payloadString, "book_name");
68 String nodeList = JsonUtils.getJsonValue(payloadString, "node_list");
69 String fileParameterContent = JsonUtils.getJsonValue(payloadString, "file_parameter_content");
70 configParams.setBookName(bookName);
71 configParams.setNodeList(nodeList);
72 configParams.setFileParameterContent(fileParameterContent);
73 configParams.setVnfName(vnfName);
74 payloadResult.setConfigurationParameters(configParams);
75 return Optional.of(mapper.writeValueAsString(payloadResult));
78 public static Optional<String> distributeTrafficCheckFormat(Optional<String> payload, String vnfName)
79 throws JsonProcessingException {
80 DistributeTrafficCheckAction payloadResult = new DistributeTrafficCheckAction();
81 ConfigurationParametersDistributeTraffic configParams = new ConfigurationParametersDistributeTraffic();
82 String payloadString = payload.isPresent() ? payload.get() : "";
83 String bookName = JsonUtils.getJsonValue(payloadString, "book_name");
84 String nodeList = JsonUtils.getJsonValue(payloadString, "node_list");
85 String fileParameterContent = JsonUtils.getJsonValue(payloadString, "file_parameter_content");
86 configParams.setBookName(bookName);
87 configParams.setNodeList(nodeList);
88 configParams.setFileParameterContent(fileParameterContent);
89 configParams.setVnfName(vnfName);
90 payloadResult.setConfigurationParameters(configParams);
91 return Optional.of(mapper.writeValueAsString(payloadResult));
94 public static Optional<String> resumeTrafficFormat(String vnfName) throws JsonProcessingException {
95 ResumeTrafficAction payloadResult = new ResumeTrafficAction();
96 ConfigurationParametersResumeTraffic configParams = new ConfigurationParametersResumeTraffic();
97 configParams.setVnfName(vnfName);
98 payloadResult.setConfigurationParameters(configParams);
99 return Optional.of(mapper.writeValueAsString(payloadResult));
102 public static Optional<String> quiesceTrafficFormat(Optional<String> payload, String vnfName)
103 throws JsonProcessingException {
104 QuiesceTrafficAction payloadResult = new QuiesceTrafficAction();
105 ConfigurationParametersQuiesce configParams = new ConfigurationParametersQuiesce();
106 String payloadString = payload.isPresent() ? payload.get() : "";
107 String operationsTimeout = JsonUtils.getJsonValue(payloadString, "operations_timeout");
108 configParams.setOperationsTimeout(operationsTimeout);
109 configParams.setVnfName(vnfName);
110 payloadResult.setConfigurationParameters(configParams);
111 return Optional.of(mapper.writeValueAsString(payloadResult));
114 public static Optional<String> startStopFormat(String aicIdentity) throws JsonProcessingException {
115 StartStopAction payloadResult = new StartStopAction();
116 payloadResult.setAicIdentity(aicIdentity);
117 return Optional.of(mapper.writeValueAsString(payloadResult));
120 public static Optional<String> healthCheckFormat(String vnfName, String vnfHostIpAddress)
121 throws JsonProcessingException {
122 HealthCheckAction payloadResult = new HealthCheckAction();
123 RequestParametersHealthCheck requestParams = new RequestParametersHealthCheck();
124 requestParams.setHostIpAddress(vnfHostIpAddress);
125 payloadResult.setRequestParameters(requestParams);
126 return Optional.of((mapper.writeValueAsString(payloadResult)));
129 public static Optional<String> snapshotFormat(String vmId, String identityUrl) throws JsonProcessingException {
130 SnapshotAction payloadResult = new SnapshotAction();
131 payloadResult.setVmId(vmId);
132 payloadResult.setIdentityUrl(identityUrl);
133 return Optional.of(mapper.writeValueAsString(payloadResult));