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.so.asdc.client.test.emulators;
23 import java.util.ArrayList;
24 import java.util.List;
25 import org.apache.commons.lang3.builder.EqualsBuilder;
26 import org.apache.commons.lang3.builder.HashCodeBuilder;
27 import org.onap.sdc.api.notification.IArtifactInfo;
28 import org.onap.sdc.api.notification.INotificationData;
29 import org.onap.sdc.api.notification.IResourceInstance;
30 import org.springframework.stereotype.Component;
31 import com.fasterxml.jackson.annotation.JsonAutoDetect;
32 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
33 import com.fasterxml.jackson.annotation.JsonProperty;
34 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
37 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE,
38 setterVisibility = Visibility.NONE)
39 @JsonIgnoreProperties(ignoreUnknown = true)
40 public class NotificationDataImpl implements INotificationData {
42 @JsonProperty("distributionID")
43 private String distributionID;
44 @JsonProperty("serviceName")
45 private String serviceName;
46 @JsonProperty("serviceVersion")
47 private String serviceVersion;
48 @JsonProperty("serviceUUID")
49 private String serviceUUID;
50 @JsonProperty("serviceDescription")
51 private String serviceDescription;
52 @JsonProperty("serviceInvariantUUID")
53 private String serviceInvariantUUID;
54 @JsonProperty("resources")
55 private List<ResourceInfoImpl> resources;
56 @JsonProperty("serviceArtifacts")
57 private List<ArtifactInfoImpl> serviceArtifacts;
58 @JsonProperty("workloadContext")
59 private String workloadContext;
62 public String getDistributionID() {
63 return distributionID;
67 public String getServiceName() {
72 public String getServiceVersion() {
73 return serviceVersion;
77 public String getServiceUUID() {
81 public void setDistributionID(String distributionID) {
82 this.distributionID = distributionID;
85 public void setServiceName(String serviceName) {
86 this.serviceName = serviceName;
89 public void setServiceVersion(String serviceVersion) {
90 this.serviceVersion = serviceVersion;
93 public void setServiceUUID(String serviceUUID) {
94 this.serviceUUID = serviceUUID;
99 public String getServiceDescription() {
100 return serviceDescription;
103 public void setServiceDescription(String serviceDescription) {
104 this.serviceDescription = serviceDescription;
108 public String getWorkloadContext() {
109 return workloadContext;
113 public void setWorkloadContext(String workloadContext) {
114 this.workloadContext = workloadContext;
118 public String toString() {
119 return "NotificationDataImpl [distributionID=" + distributionID + ", serviceName=" + serviceName
120 + ", serviceVersion=" + serviceVersion + ", serviceUUID=" + serviceUUID + ", serviceDescription="
121 + serviceDescription + ", serviceInvariantUUID=" + serviceInvariantUUID + ", resources=" + resources
122 + ", serviceArtifacts=" + serviceArtifacts + ", workloadContext=" + workloadContext + "]";
126 public List<IResourceInstance> getResources() {
127 List<IResourceInstance> ret = new ArrayList<IResourceInstance>();
128 if (resources != null) {
129 ret.addAll(resources);
134 public void setResources(List<ResourceInfoImpl> resources) {
135 this.resources = resources;
138 public List<ResourceInfoImpl> getResourcesImpl() {
142 List<ArtifactInfoImpl> getServiceArtifactsImpl() {
143 return serviceArtifacts;
147 public List<IArtifactInfo> getServiceArtifacts() {
148 List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();
149 if (serviceArtifacts != null) {
150 temp.addAll(serviceArtifacts);
155 public void setServiceArtifacts(List<ArtifactInfoImpl> relevantServiceArtifacts) {
156 serviceArtifacts = relevantServiceArtifacts;
161 public String getServiceInvariantUUID() {
162 return serviceInvariantUUID;
166 public void setServiceInvariantUUID(String serviceInvariantUUID) {
167 this.serviceInvariantUUID = serviceInvariantUUID;
171 public IArtifactInfo getArtifactMetadataByUUID(String artifactUUID) {
172 IArtifactInfo ret = findArtifactInfoByUUID(artifactUUID, serviceArtifacts);
173 if (ret == null && resources != null) {
174 for (ResourceInfoImpl currResourceInstance : resources) {
175 ret = findArtifactInfoByUUID(artifactUUID, currResourceInstance.getArtifactsImpl());
185 private IArtifactInfo findArtifactInfoByUUID(String artifactUUID, List<ArtifactInfoImpl> listToCheck) {
186 IArtifactInfo ret = null;
187 if (listToCheck != null) {
188 for (IArtifactInfo curr : listToCheck) {
189 if (curr.getArtifactUUID().equals(artifactUUID)) {
199 public boolean equals(final Object other) {
200 if (!(other instanceof NotificationDataImpl)) {
203 NotificationDataImpl castOther = (NotificationDataImpl) other;
204 return new EqualsBuilder().append(serviceUUID, castOther.serviceUUID)
205 .append(serviceVersion, castOther.serviceVersion).isEquals();
209 public int hashCode() {
210 return new HashCodeBuilder().append(distributionID).append(serviceName).append(serviceVersion)
211 .append(serviceUUID).append(serviceDescription).append(serviceInvariantUUID).append(resources)
212 .append(serviceArtifacts).append(workloadContext).toHashCode();