0ea1a272d1dc905a2bd579810e8d1183b6867bcc
[policy/drools-applications.git] / controlloop / common / model-impl / so / src / main / java / org / onap / policy / so / SoRequestDetails.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * so
4  * ================================================================================
5  * Copyright (C) 2017-2019 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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.policy.so;
22
23 import com.google.gson.annotations.SerializedName;
24
25 import java.io.Serializable;
26 import java.util.LinkedList;
27 import java.util.List;
28 import java.util.Map;
29
30 public class SoRequestDetails implements Serializable {
31
32     private static final long serialVersionUID = -3283942659786236032L;
33
34     @SerializedName("modelInfo")
35     private SoModelInfo modelInfo;
36
37     @SerializedName("cloudConfiguration")
38     private SoCloudConfiguration cloudConfiguration;
39
40     @SerializedName("requestInfo")
41     private SoRequestInfo requestInfo;
42
43     @SerializedName("subscriberInfo")
44     private SoSubscriberInfo subscriberInfo;
45
46     @SerializedName("relatedInstanceList")
47     private List<SoRelatedInstanceListElement> relatedInstanceList = new LinkedList<>();
48
49     @SerializedName("requestParameters")
50     private SoRequestParameters requestParameters;
51
52     @SerializedName("configurationParameters")
53     private List<Map<String, String>> configurationParameters = new LinkedList<>();
54
55     public SoRequestDetails() {
56
57     }
58
59     /**
60      * Constructor.
61      * 
62      * @param soRequestDetails copy object
63      */
64     public SoRequestDetails(SoRequestDetails soRequestDetails) {
65         this.modelInfo = soRequestDetails.modelInfo;
66         this.cloudConfiguration = soRequestDetails.cloudConfiguration;
67         this.requestInfo = soRequestDetails.requestInfo;
68         this.relatedInstanceList = soRequestDetails.relatedInstanceList;
69         this.requestParameters = soRequestDetails.requestParameters;
70         this.subscriberInfo = soRequestDetails.subscriberInfo;
71     }
72
73     @Override
74     public boolean equals(Object obj) {
75         if (this == obj) {
76             return true;
77         }
78         if (obj == null) {
79             return false;
80         }
81         if (getClass() != obj.getClass()) {
82             return false;
83         }
84         SoRequestDetails other = (SoRequestDetails) obj;
85         if (cloudConfiguration == null) {
86             if (other.cloudConfiguration != null) {
87                 return false;
88             }
89         } else if (!cloudConfiguration.equals(other.cloudConfiguration)) {
90             return false;
91         }
92         if (configurationParameters == null) {
93             if (other.configurationParameters != null) {
94                 return false;
95             }
96         } else if (!configurationParameters.equals(other.configurationParameters)) {
97             return false;
98         }
99         if (modelInfo == null) {
100             if (other.modelInfo != null) {
101                 return false;
102             }
103         } else if (!modelInfo.equals(other.modelInfo)) {
104             return false;
105         }
106         if (relatedInstanceList == null) {
107             if (other.relatedInstanceList != null) {
108                 return false;
109             }
110         } else if (!relatedInstanceList.equals(other.relatedInstanceList)) {
111             return false;
112         }
113         if (requestInfo == null) {
114             if (other.requestInfo != null) {
115                 return false;
116             }
117         } else if (!requestInfo.equals(other.requestInfo)) {
118             return false;
119         }
120         if (requestParameters == null) {
121             if (other.requestParameters != null) {
122                 return false;
123             }
124         } else if (!requestParameters.equals(other.requestParameters)) {
125             return false;
126         }
127         if (subscriberInfo == null) {
128             if (other.subscriberInfo != null) {
129                 return false;
130             }
131         } else if (!subscriberInfo.equals(other.subscriberInfo)) {
132             return false;
133         }
134         return true;
135     }
136
137     public SoCloudConfiguration getCloudConfiguration() {
138         return cloudConfiguration;
139     }
140
141     public SoModelInfo getModelInfo() {
142         return modelInfo;
143     }
144
145     public List<SoRelatedInstanceListElement> getRelatedInstanceList() {
146         return relatedInstanceList;
147     }
148
149     public SoRequestInfo getRequestInfo() {
150         return requestInfo;
151     }
152
153     public SoRequestParameters getRequestParameters() {
154         return requestParameters;
155     }
156
157     public List<Map<String, String>> getConfigurationParameters() {
158         return configurationParameters;
159     }
160
161     public SoSubscriberInfo getSubscriberInfo() {
162         return subscriberInfo;
163     }
164
165     @Override
166     public int hashCode() {
167         final int prime = 31;
168         int result = 1;
169         result = prime * result + ((cloudConfiguration == null) ? 0 : cloudConfiguration.hashCode());
170         result = prime * result + ((configurationParameters == null) ? 0 : configurationParameters.hashCode());
171         result = prime * result + ((modelInfo == null) ? 0 : modelInfo.hashCode());
172         result = prime * result + ((relatedInstanceList == null) ? 0 : relatedInstanceList.hashCode());
173         result = prime * result + ((requestInfo == null) ? 0 : requestInfo.hashCode());
174         result = prime * result + ((requestParameters == null) ? 0 : requestParameters.hashCode());
175         result = prime * result + ((subscriberInfo == null) ? 0 : subscriberInfo.hashCode());
176         return result;
177     }
178
179     public void setCloudConfiguration(SoCloudConfiguration cloudConfiguration) {
180         this.cloudConfiguration = cloudConfiguration;
181     }
182
183     public void setModelInfo(SoModelInfo modelInfo) {
184         this.modelInfo = modelInfo;
185     }
186
187     public void setRequestInfo(SoRequestInfo requestInfo) {
188         this.requestInfo = requestInfo;
189     }
190
191     public void setRequestParameters(SoRequestParameters requestParameters) {
192         this.requestParameters = requestParameters;
193     }
194
195     public void setConfigurationParameters(List<Map<String, String>> configurationParameters) {
196         this.configurationParameters = configurationParameters;
197     }
198
199     public void setSubscriberInfo(SoSubscriberInfo subscriberInfo) {
200         this.subscriberInfo = subscriberInfo;
201     }
202
203     public void setRelatedInstanceList(List<SoRelatedInstanceListElement> relatedInstanceList) {
204         this.relatedInstanceList = relatedInstanceList;
205     }
206
207     @Override
208     public String toString() {
209         return "SORequestDetails [modelInfo=" + modelInfo + ", cloudConfiguration=" + cloudConfiguration
210                         + ", requestInfo=" + requestInfo + ", subscriberInfo=" + subscriberInfo
211                         + ", relatedInstanceList=" + relatedInstanceList + ", requestParameters=" + requestParameters
212                         + ", configurationParameters=" + configurationParameters + "]";
213     }
214
215 }