2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6 * Modifications Copyright (C) 2019 Nordix Foundation.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.policy.appclcm;
24 import com.google.gson.annotations.SerializedName;
26 import java.io.Serializable;
28 public class LcmResponse implements Serializable {
30 private static final long serialVersionUID = 6332508597287669750L;
32 @SerializedName(value = "common-header")
33 private LcmCommonHeader commonHeader;
35 @SerializedName(value = "status")
36 private LcmResponseStatus status = new LcmResponseStatus();
38 @SerializedName(value = "payload")
39 private String payload;
41 public LcmResponse() {
46 * Constructs a response using the common header of the request since they will be the same.
48 * @param request an appc lcm request object specified by the lcm api guide
50 public LcmResponse(LcmRequest request) {
51 this.commonHeader = new LcmCommonHeader(request.getCommonHeader());
52 String requestPayload = request.getPayload();
53 if (requestPayload != null) {
54 this.payload = requestPayload;
59 * Get the common header.
61 * @return the commonHeader
63 public LcmCommonHeader getCommonHeader() {
68 * Set the common header.
70 * @param commonHeader the commonHeader to set
72 public void setCommonHeader(LcmCommonHeader commonHeader) {
73 this.commonHeader = commonHeader;
81 public LcmResponseStatus getStatus() {
88 * @param status the status to set
90 public void setStatus(LcmResponseStatus status) {
99 public String getPayload() {
106 * @param payload the payload to set
108 public void setPayload(String payload) {
109 this.payload = payload;
113 public String toString() {
114 return "Response [commonHeader=" + commonHeader + ", status=" + status + ", payload=" + payload + "]";
118 public int hashCode() {
119 final int prime = 31;
121 result = prime * result + ((commonHeader == null) ? 0 : commonHeader.hashCode());
122 result = prime * result + ((payload == null) ? 0 : payload.hashCode());
123 result = prime * result + ((status == null) ? 0 : status.hashCode());
128 public boolean equals(Object obj) {
135 if (getClass() != obj.getClass()) {
138 LcmResponse other = (LcmResponse) obj;
139 if (commonHeader == null) {
140 if (other.commonHeader != null) {
143 } else if (!commonHeader.equals(other.commonHeader)) {
146 if (payload == null) {
147 if (other.payload != null) {
150 } else if (!payload.equals(other.payload)) {
153 if (status == null) {
154 if (other.status != null) {
157 } else if (!status.equals(other.status)) {