1 package org.openecomp.mso.global_tests.asdc.notif_emulator;
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.HashMap;
9 import org.codehaus.jackson.annotate.JsonAnySetter;
10 import org.codehaus.jackson.annotate.JsonIgnore;
11 import org.codehaus.jackson.annotate.JsonProperty;
12 import org.codehaus.jackson.map.ObjectMapper;
13 import org.codehaus.jackson.map.annotate.JsonDeserialize;
14 import org.jboss.shrinkwrap.api.exporter.FileExistsException;
16 import org.openecomp.sdc.api.notification.IArtifactInfo;
17 import org.openecomp.sdc.api.notification.INotificationData;
18 import org.openecomp.sdc.api.notification.IResourceInstance;
21 public class JsonNotificationData implements INotificationData {
24 private Map<String,Object> attributesMap = new HashMap<>();
26 @JsonProperty("serviceArtifacts")
27 @JsonDeserialize(using=JsonArtifactInfoDeserializer.class)
28 private List<IArtifactInfo> serviceArtifacts;
30 @JsonProperty("resources")
31 @JsonDeserialize(using=JsonResourceInfoDeserializer.class)
32 private List<IResourceInstance> resourcesList;
34 public JsonNotificationData() {
39 * Method instantiate a INotificationData implementation from a JSON file.
41 * @param notifFilePath The file path in String
42 * @return A JsonNotificationData instance
43 * @throws IOException in case of the file is not readable or not accessible
45 public static JsonNotificationData instantiateNotifFromJsonFile(String notifFilePath) throws IOException {
47 InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(notifFilePath+"/notif-structure.json");
50 throw new FileExistsException("Resource Path does not exist: "+notifFilePath);
52 ObjectMapper mapper = new ObjectMapper();
53 return mapper.readValue(is, JsonNotificationData.class);
56 @SuppressWarnings("unused")
58 public final void setAttribute(String attrName, Object attrValue) {
59 if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
60 this.attributesMap.put(attrName,attrValue);
65 public IArtifactInfo getArtifactMetadataByUUID(String arg0) {
70 public String getDistributionID() {
71 return (String)this.attributesMap.get("distributionID");
75 public List<IResourceInstance> getResources() {
80 public List<IArtifactInfo> getServiceArtifacts() {
81 return this.serviceArtifacts;
85 public String getServiceDescription() {
86 return (String)this.attributesMap.get("serviceDescription");
90 public String getServiceInvariantUUID() {
91 return (String)this.attributesMap.get("serviceInvariantUUID");
95 public String getServiceName() {
96 return (String)this.attributesMap.get("serviceName");
100 public String getServiceUUID() {
101 return (String)this.attributesMap.get("serviceUUID");
105 public String getServiceVersion() {
106 return (String)this.attributesMap.get("serviceVersion");