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.appc;
24 import com.google.gson.annotations.SerializedName;
26 import java.io.Serializable;
27 import java.util.HashMap;
34 public class Response implements Serializable {
36 private static final long serialVersionUID = 434953706339865151L;
38 @SerializedName("CommonHeader")
39 private CommonHeader commonHeader;
41 @SerializedName("Status")
42 private ResponseStatus status = new ResponseStatus();
44 @SerializedName("Payload")
45 private Map<String, Object> payload = new HashMap<>();
52 * Construct an instance from an existing instance.
54 * @param request the existing instance
56 public Response(Request request) {
57 if (request.getCommonHeader() != null) {
58 this.commonHeader = new CommonHeader(request.getCommonHeader());
60 if (request.getPayload() != null) {
61 this.payload.putAll(request.getPayload());
66 public String toString() {
67 return "Response [CommonHeader=" + commonHeader + ", Status=" + status + ", Payload=" + payload + "]";
71 public int hashCode() {
74 result = prime * result + ((commonHeader == null) ? 0 : commonHeader.hashCode());
75 result = prime * result + ((payload == null) ? 0 : payload.hashCode());
76 result = prime * result + ((status == null) ? 0 : status.hashCode());
81 public boolean equals(Object obj) {
88 if (getClass() != obj.getClass()) {
91 Response other = (Response) obj;
92 if (commonHeader == null) {
93 if (other.commonHeader != null) {
96 } else if (!commonHeader.equals(other.commonHeader)) {
99 if (payload == null) {
100 if (other.payload != null) {
103 } else if (!payload.equals(other.payload)) {
106 if (status == null) {
107 return other.status == null;
109 return status.equals(other.status);