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;
42 * This should only be populated if the incoming message actually has a "Status"
43 * field. Otherwise, actor.appc will be unable to use this to distinguish between
44 * Request and Response objects.
46 @SerializedName("Status")
47 private ResponseStatus status;
49 @SerializedName("Payload")
50 private Map<String, Object> payload = new HashMap<>();
57 * Construct an instance from an existing instance.
59 * @param request the existing instance
61 public Response(Request request) {
62 if (request.getCommonHeader() != null) {
63 this.commonHeader = new CommonHeader(request.getCommonHeader());
65 if (request.getPayload() != null) {
66 this.payload.putAll(request.getPayload());
71 public String toString() {
72 return "Response [CommonHeader=" + commonHeader + ", Status=" + status + ", Payload=" + payload + "]";
76 public int hashCode() {
79 result = prime * result + ((commonHeader == null) ? 0 : commonHeader.hashCode());
80 result = prime * result + ((payload == null) ? 0 : payload.hashCode());
81 result = prime * result + ((status == null) ? 0 : status.hashCode());
86 public boolean equals(Object obj) {
93 if (getClass() != obj.getClass()) {
96 Response other = (Response) obj;
97 if (commonHeader == null) {
98 if (other.commonHeader != null) {
101 } else if (!commonHeader.equals(other.commonHeader)) {
104 if (payload == null) {
105 if (other.payload != null) {
108 } else if (!payload.equals(other.payload)) {
111 if (status == null) {
112 return other.status == null;
114 return status.equals(other.status);