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.ConfigurationParametersUpgrade;
28 import org.onap.so.bpmn.appc.payload.beans.HealthCheckAction;
29 import org.onap.so.bpmn.appc.payload.beans.QuiesceTrafficAction;
30 import org.onap.so.bpmn.appc.payload.beans.RequestParametersHealthCheck;
31 import org.onap.so.bpmn.appc.payload.beans.ResumeTrafficAction;
32 import org.onap.so.bpmn.appc.payload.beans.SnapshotAction;
33 import org.onap.so.bpmn.appc.payload.beans.StartStopAction;
34 import org.onap.so.bpmn.appc.payload.beans.UpgradeAction;
35 import org.onap.so.bpmn.core.json.JsonUtils;
36 import com.fasterxml.jackson.core.JsonProcessingException;
37 import com.fasterxml.jackson.databind.ObjectMapper;
39 public class PayloadClient {
41 protected static ObjectMapper mapper = new ObjectMapper();
43 private PayloadClient() {}
45 public static Optional<String> upgradeFormat(Optional<String> payload, String vnfName)
46 throws JsonProcessingException {
47 UpgradeAction payloadResult = new UpgradeAction();
48 ConfigurationParametersUpgrade configParams = new ConfigurationParametersUpgrade();
49 String payloadString = payload.isPresent() ? payload.get() : "";
50 String existingSoftware = JsonUtils.getJsonValue(payloadString, "existing_software_version");
51 String newSoftware = JsonUtils.getJsonValue(payloadString, "new_software_version");
52 configParams.setExistingSoftwareVersion(existingSoftware);
53 configParams.setNewSoftwareVersion(newSoftware);
54 configParams.setVnfName(vnfName);
55 payloadResult.setConfigurationParameters(configParams);
56 return Optional.of(mapper.writeValueAsString(payloadResult));
59 public static Optional<String> resumeTrafficFormat(String vnfName) throws JsonProcessingException {
60 ResumeTrafficAction payloadResult = new ResumeTrafficAction();
61 ConfigurationParametersResumeTraffic configParams = new ConfigurationParametersResumeTraffic();
62 configParams.setVnfName(vnfName);
63 payloadResult.setConfigurationParameters(configParams);
64 return Optional.of(mapper.writeValueAsString(payloadResult));
67 public static Optional<String> quiesceTrafficFormat(Optional<String> payload, String vnfName)
68 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));
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));
85 public static Optional<String> healthCheckFormat(String vnfName, String vnfHostIpAddress)
86 throws JsonProcessingException {
87 HealthCheckAction payloadResult = new HealthCheckAction();
88 RequestParametersHealthCheck requestParams = new RequestParametersHealthCheck();
89 requestParams.setHostIpAddress(vnfHostIpAddress);
90 payloadResult.setRequestParameters(requestParams);
91 return Optional.of((mapper.writeValueAsString(payloadResult)));
94 public static Optional<String> snapshotFormat(String vmId, String identityUrl) throws JsonProcessingException {
95 SnapshotAction payloadResult = new SnapshotAction();
96 payloadResult.setVmId(vmId);
97 payloadResult.setIdentityUrl(identityUrl);
98 return Optional.of(mapper.writeValueAsString(payloadResult));