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.vid.mso.rest;
23 import com.fasterxml.jackson.annotation.JsonAnyGetter;
24 import com.fasterxml.jackson.annotation.JsonAnySetter;
25 import com.fasterxml.jackson.annotation.JsonIgnore;
26 import com.fasterxml.jackson.annotation.JsonInclude;
27 import com.fasterxml.jackson.annotation.JsonProperty;
28 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
29 import org.apache.commons.lang3.builder.EqualsBuilder;
30 import org.apache.commons.lang3.builder.HashCodeBuilder;
31 import org.apache.commons.lang3.builder.ToStringBuilder;
32 import org.onap.vid.domain.mso.CloudConfiguration;
33 import org.onap.vid.domain.mso.ModelInfo;
34 import org.onap.vid.domain.mso.RequestInfo;
35 import org.onap.vid.domain.mso.RequestParameters;
36 import org.onap.vid.domain.mso.SubscriberInfo;
38 import java.util.HashMap;
39 import java.util.List;
44 * aggregates the context, configuraiton and detailed parameters associated with the request into a single structure.
46 @JsonInclude(JsonInclude.Include.NON_NULL)
54 "configurationParameters"
56 public class RequestDetails{
60 /** The cloud configuration. */
61 @JsonProperty("cloudConfiguration")
62 private CloudConfiguration cloudConfiguration;
64 /** The model info. */
65 @JsonProperty("modelInfo")
66 private ModelInfo modelInfo;
68 /** The related model list. */
69 @JsonProperty("relatedInstanceList")
70 private List<RelatedInstanceWrapper> relatedInstanceList;
72 /** The request info. */
73 @JsonProperty("requestInfo")
74 private RequestInfo requestInfo;
76 /** The subscriber info. */
77 @JsonProperty("subscriberInfo")
78 private SubscriberInfo subscriberInfo;
80 /** The request parameters. */
81 @JsonProperty("requestParameters")
82 private RequestParameters requestParameters;
84 @JsonProperty("configurationParameters")
85 protected List<Map<String, String>> configurationParameters;
87 /** The additional properties. */
89 private Map<String, Object> additionalProperties = new HashMap<String, Object>();
92 * Gets the cloud configuration.
94 * @return The cloudConfiguration
96 @JsonProperty("cloudConfiguration")
97 public CloudConfiguration getCloudConfiguration() {
98 return cloudConfiguration;
102 * Sets the cloud configuration.
104 * @param cloudConfiguration The cloudConfiguration
106 @JsonProperty("cloudConfiguration")
107 public void setCloudConfiguration(CloudConfiguration cloudConfiguration) {
108 this.cloudConfiguration = cloudConfiguration;
112 * Gets the model info.
114 * @return The modelInfo
116 @JsonProperty("modelInfo")
117 public ModelInfo getModelInfo() {
122 * Sets the model info.
124 * @param modelInfo The modelInfo
126 @JsonProperty("modelInfo")
127 public void setModelInfo(ModelInfo modelInfo) {
128 this.modelInfo = modelInfo;
131 * Gets the related instance list.
133 * @return The relatedInstanceList
135 @JsonProperty("relatedInstanceList")
136 public List<RelatedInstanceWrapper> getRelatedInstanceList() {
137 return relatedInstanceList;
141 * Sets the related model list.
143 * @param relatedInstanceList The relatedInstanceList
145 @JsonProperty("relatedInstanceList")
146 public void setRelatedInstanceList(List<RelatedInstanceWrapper> relatedInstanceList) {
147 this.relatedInstanceList = relatedInstanceList;
151 * Gets the request info.
153 * @return The requestInfo
155 @JsonProperty("requestInfo")
156 public RequestInfo getRequestInfo() {
161 * Sets the request info.
163 * @param requestInfo The requestInfo
165 @JsonProperty("requestInfo")
166 public void setRequestInfo(RequestInfo requestInfo) {
167 this.requestInfo = requestInfo;
171 * Gets the subscriber info.
173 * @return The subscriberInfo
175 @JsonProperty("subscriberInfo")
176 public SubscriberInfo getSubscriberInfo() {
177 return subscriberInfo;
181 * Sets the subscriber info.
183 * @param subscriberInfo The subscriberInfo
185 @JsonProperty("subscriberInfo")
186 public void setSubscriberInfo(SubscriberInfo subscriberInfo) {
187 this.subscriberInfo = subscriberInfo;
191 * @see org.onap.vid.domain.mso.RequestDetails#toString()
194 public String toString() {
195 return ToStringBuilder.reflectionToString(this);
199 * @see org.onap.vid.domain.mso.RequestDetails#getAdditionalProperties()
202 public Map<String, Object> getAdditionalProperties() {
203 return this.additionalProperties;
207 * @see org.onap.vid.domain.mso.RequestDetails#setAdditionalProperty(java.lang.String, java.lang.Object)
210 public void setAdditionalProperty(String name, Object value) {
211 this.additionalProperties.put(name, value);
214 @JsonProperty("configurationParameters")
215 public List<Map<String, String>> getConfigurationParameters() {
216 return configurationParameters;
219 @JsonProperty("configurationParameters")
220 public void setConfigurationParameters(List<Map<String, String>> configurationParameters) {
221 this.configurationParameters = configurationParameters;
225 * @see org.onap.vid.domain.mso.RequestDetails#hashCode()
228 public int hashCode() {
229 return new HashCodeBuilder()
230 .append(cloudConfiguration)
232 .append(relatedInstanceList)
234 .append(getRequestParameters())
235 .append(subscriberInfo)
236 .append(additionalProperties)
237 .append(configurationParameters)
242 * @see org.onap.vid.domain.mso.RequestDetails#equals(java.lang.Object)
245 public boolean equals(Object other) {
249 if (!(other instanceof RequestDetails)) {
252 RequestDetails rhs = ((RequestDetails) other);
253 return new EqualsBuilder()
254 .append(cloudConfiguration, rhs.cloudConfiguration)
255 .append(modelInfo, rhs.modelInfo)
256 .append(relatedInstanceList, rhs.relatedInstanceList)
257 .append(requestInfo, rhs.requestInfo)
258 .append(getRequestParameters(), rhs.getRequestParameters())
259 .append(subscriberInfo, rhs.subscriberInfo)
260 .append(additionalProperties, rhs.additionalProperties)
261 .append(configurationParameters, rhs.configurationParameters)
265 public RequestParameters getRequestParameters() {
266 return requestParameters;
269 public void setRequestParameters(RequestParameters requestParameters) {
270 this.requestParameters = requestParameters;