Initial OpenECOMP MSO commit
[so.git] / packages / arquillian-unit-tests / src / test / java / org / openecomp / mso / global_tests / asdc / notif_emulator / JsonArtifactInfo.java
1 package org.openecomp.mso.global_tests.asdc.notif_emulator;
2 import java.util.HashMap;
3 import java.util.LinkedList;
4 import java.util.List;
5 import java.util.Map;
6
7 import org.codehaus.jackson.annotate.JsonAnySetter;
8 import org.codehaus.jackson.annotate.JsonIgnore;
9
10 import org.openecomp.sdc.api.notification.IArtifactInfo;
11
12 public class JsonArtifactInfo implements IArtifactInfo {
13
14         @JsonIgnore
15         private Map<String,IArtifactInfo> artifactsMapByUUID = new HashMap<>();
16         
17         @JsonIgnore
18         private Map<String,Object> attributesMap = new HashMap<>();
19         
20         public JsonArtifactInfo() {
21                 
22         }
23         
24         public synchronized void addArtifactToUUIDMap (List<JsonArtifactInfo> artifactList) {
25                 for (JsonArtifactInfo artifact:artifactList) {
26                         artifactsMapByUUID.put(artifact.getArtifactUUID(), artifact);   
27                 }
28                 
29         }
30         
31         @SuppressWarnings("unused")
32         @JsonAnySetter
33         public final void setAttribute(String attrName, Object attrValue) {
34                 if ((null != attrName) && (!attrName.isEmpty()) && (null != attrValue) && (null != attrValue.toString())) {
35                         this.attributesMap.put(attrName,attrValue);
36                 }
37         }
38         
39         
40         
41         public Map<String, IArtifactInfo> getArtifactsMapByUUID() {
42                 return artifactsMapByUUID;
43         }
44
45         @Override
46         public String getArtifactChecksum() {
47                 return (String)attributesMap.get("artifactCheckSum");
48         }
49
50         @Override
51         public String getArtifactDescription() {
52                 return (String)attributesMap.get("artifactDescription");
53         }
54
55         @Override
56         public String getArtifactName() {
57                 return (String)attributesMap.get("artifactName");
58         }
59
60         @Override
61         public Integer getArtifactTimeout() {
62                 return (Integer)attributesMap.get("artifactTimeout");
63         }
64
65         @Override
66         public String getArtifactType() {
67                 return (String)attributesMap.get("artifactType");
68         }
69
70         @Override
71         public String getArtifactURL() {
72                 return (String)attributesMap.get("artifactURL");
73         }
74
75         @Override
76         public String getArtifactUUID() {
77                 return (String)attributesMap.get("artifactUUID");
78         }
79
80         @Override
81         public String getArtifactVersion() {
82                 return (String)attributesMap.get("artifactVersion");
83         }
84
85         @Override
86         public IArtifactInfo getGeneratedArtifact () {
87                 return artifactsMapByUUID.get(attributesMap.get("generatedArtifact"));
88         }
89
90         @Override
91         public List<IArtifactInfo> getRelatedArtifacts() {
92                 List<IArtifactInfo> listArtifacts = new LinkedList<>();
93                 List<String> uuidList = (List<String>)attributesMap.get("relatedArtifact");
94                 if (uuidList != null) {
95                         for(String uuid:uuidList) {
96                                 listArtifacts.add(artifactsMapByUUID.get(uuid));
97                         }
98                 }
99                 return listArtifacts;
100         }
101
102 }