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;
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;
38 import com.fasterxml.jackson.core.JsonProcessingException;
39 import com.fasterxml.jackson.databind.ObjectMapper;
41 public class PayloadClient {
43 protected static ObjectMapper mapper = new ObjectMapper();
45 private PayloadClient() {}
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));
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));
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));
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) 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));
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));