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;
26 import org.apache.commons.lang3.builder.EqualsBuilder;
27 import org.apache.commons.lang3.builder.HashCodeBuilder;
28 import org.onap.sdc.api.notification.IArtifactInfo;
29 import org.onap.sdc.api.notification.INotificationData;
30 import org.onap.sdc.api.notification.IResourceInstance;
31 import org.springframework.stereotype.Component;
33 import com.fasterxml.jackson.annotation.JsonAutoDetect;
34 import com.fasterxml.jackson.annotation.JsonProperty;
35 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
38 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
39 public class NotificationDataImpl implements INotificationData {
41 @JsonProperty("distributionID")
42 private String distributionID;
43 @JsonProperty("serviceName")
44 private String serviceName;
45 @JsonProperty("serviceVersion")
46 private String serviceVersion;
47 @JsonProperty("serviceUUID")
48 private String serviceUUID;
49 @JsonProperty("serviceDescription")
50 private String serviceDescription;
51 @JsonProperty("serviceInvariantUUID")
52 private String serviceInvariantUUID;
53 @JsonProperty("resources")
54 private List<ResourceInfoImpl> resources;
55 @JsonProperty("serviceArtifacts")
56 private List<ArtifactInfoImpl> serviceArtifacts;
57 @JsonProperty("workloadContext")
58 private String workloadContext;
61 public String getDistributionID() {
62 return distributionID;
66 public String getServiceName() {
71 public String getServiceVersion() {
72 return serviceVersion;
76 public String getServiceUUID() {
80 public void setDistributionID(String distributionID) {
81 this.distributionID = distributionID;
84 public void setServiceName(String serviceName) {
85 this.serviceName = serviceName;
88 public void setServiceVersion(String serviceVersion) {
89 this.serviceVersion = serviceVersion;
92 public void setServiceUUID(String serviceUUID) {
93 this.serviceUUID = serviceUUID;
98 public String getServiceDescription() {
99 return serviceDescription;
102 public void setServiceDescription(String serviceDescription) {
103 this.serviceDescription = serviceDescription;
107 public String getWorkloadContext() {
108 return workloadContext;
112 public void setWorkloadContext(String workloadContext) {
113 this.workloadContext = workloadContext;
117 public String toString() {
118 return "NotificationDataImpl [distributionID=" + distributionID + ", serviceName=" + serviceName
119 + ", serviceVersion=" + serviceVersion + ", serviceUUID=" + serviceUUID + ", serviceDescription="
120 + serviceDescription + ", serviceInvariantUUID=" + serviceInvariantUUID + ", resources=" + resources
121 + ", serviceArtifacts=" + serviceArtifacts + ", workloadContext=" + workloadContext + "]";
125 public List<IResourceInstance> getResources() {
126 List<IResourceInstance> ret = new ArrayList<IResourceInstance>();
127 if( resources != null ){
128 ret.addAll(resources);
133 public void setResources(List<ResourceInfoImpl> resources){
134 this.resources = resources;
137 public List<ResourceInfoImpl> getResourcesImpl(){
141 List<ArtifactInfoImpl> getServiceArtifactsImpl(){
142 return serviceArtifacts;
146 public List<IArtifactInfo> getServiceArtifacts() {
147 List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();
148 if( serviceArtifacts != null ){
149 temp.addAll(serviceArtifacts);
154 public void setServiceArtifacts(List<ArtifactInfoImpl> relevantServiceArtifacts) {
155 serviceArtifacts = relevantServiceArtifacts;
160 public String getServiceInvariantUUID() {
161 return serviceInvariantUUID;
165 public void setServiceInvariantUUID(String serviceInvariantUUID) {
166 this.serviceInvariantUUID = serviceInvariantUUID;
169 public IArtifactInfo getArtifactMetadataByUUID(String artifactUUID){
170 IArtifactInfo ret = findArtifactInfoByUUID(artifactUUID, serviceArtifacts);
171 if( ret == null && resources != null ){
172 for( ResourceInfoImpl currResourceInstance : resources ){
173 ret = findArtifactInfoByUUID(artifactUUID, currResourceInstance.getArtifactsImpl());
183 private IArtifactInfo findArtifactInfoByUUID(String artifactUUID, List<ArtifactInfoImpl> listToCheck) {
184 IArtifactInfo ret = null;
185 if( listToCheck != null ){
186 for(IArtifactInfo curr: listToCheck ){
187 if(curr.getArtifactUUID().equals(artifactUUID) ){
197 public boolean equals(final Object other) {
198 if (!(other instanceof NotificationDataImpl)) {
201 NotificationDataImpl castOther = (NotificationDataImpl) other;
202 return new EqualsBuilder().append(serviceUUID, castOther.serviceUUID)
203 .append(serviceVersion, castOther.serviceVersion).isEquals();
207 public int hashCode() {
208 return new HashCodeBuilder().append(distributionID).append(serviceName).append(serviceVersion)
209 .append(serviceUUID).append(serviceDescription).append(serviceInvariantUUID).append(resources)
210 .append(serviceArtifacts).append(workloadContext).toHashCode();