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 List<ResourceInfoImpl> getResourcesImpl(){
137 List<ArtifactInfoImpl> getServiceArtifactsImpl(){
138 return serviceArtifacts;
142 public List<IArtifactInfo> getServiceArtifacts() {
143 List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();
144 if( serviceArtifacts != null ){
145 temp.addAll(serviceArtifacts);
150 public void setServiceArtifacts(List<ArtifactInfoImpl> relevantServiceArtifacts) {
151 serviceArtifacts = relevantServiceArtifacts;
156 public String getServiceInvariantUUID() {
157 return serviceInvariantUUID;
161 public void setServiceInvariantUUID(String serviceInvariantUUID) {
162 this.serviceInvariantUUID = serviceInvariantUUID;
165 public IArtifactInfo getArtifactMetadataByUUID(String artifactUUID){
166 IArtifactInfo ret = findArtifactInfoByUUID(artifactUUID, serviceArtifacts);
167 if( ret == null && resources != null ){
168 for( ResourceInfoImpl currResourceInstance : resources ){
169 ret = findArtifactInfoByUUID(artifactUUID, currResourceInstance.getArtifactsImpl());
179 private IArtifactInfo findArtifactInfoByUUID(String artifactUUID, List<ArtifactInfoImpl> listToCheck) {
180 IArtifactInfo ret = null;
181 if( listToCheck != null ){
182 for(IArtifactInfo curr: listToCheck ){
183 if(curr.getArtifactUUID().equals(artifactUUID) ){
193 public boolean equals(final Object other) {
194 if (!(other instanceof NotificationDataImpl)) {
197 NotificationDataImpl castOther = (NotificationDataImpl) other;
198 return new EqualsBuilder().append(serviceUUID, castOther.serviceUUID)
199 .append(serviceVersion, castOther.serviceVersion).isEquals();
203 public int hashCode() {
204 return new HashCodeBuilder().append(distributionID).append(serviceName).append(serviceVersion)
205 .append(serviceUUID).append(serviceDescription).append(serviceInvariantUUID).append(resources)
206 .append(serviceArtifacts).append(workloadContext).toHashCode();