add artifacts support in TOSCA exported yml file
[sdc.git] / common-be / src / main / java / org / openecomp / sdc / be / datatypes / elements / ComponentInstanceDataDefinition.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * SDC\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  *\r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package org.openecomp.sdc.be.datatypes.elements;\r
22 \r
23 import java.util.ArrayList;\r
24 import java.util.List;\r
25 import java.util.Map;\r
26 import java.util.HashMap;\r
27 import java.util.stream.Collectors;\r
28 import org.apache.commons.collections.CollectionUtils;\r
29 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;\r
30 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;\r
31 import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;\r
32 import org.openecomp.sdc.common.util.ValidationUtils;\r
33 \r
34 public class ComponentInstanceDataDefinition extends ToscaDataDefinition {\r
35 \r
36     public ComponentInstanceDataDefinition() {\r
37         setPropertyValueCounter(1);\r
38         setAttributeValueCounter(1);\r
39         setInputValueCounter(1);\r
40         setIsProxy(false);\r
41     }\r
42 \r
43     public ComponentInstanceDataDefinition(ComponentInstanceDataDefinition dataDefinition) {\r
44         setIcon(dataDefinition.getIcon());\r
45         setUniqueId(dataDefinition.getUniqueId());\r
46         setName(dataDefinition.getName());\r
47         setComponentUid(dataDefinition.getComponentUid());\r
48         setCreationTime(dataDefinition.getCreationTime());\r
49         setModificationTime(dataDefinition.getModificationTime());\r
50         setDescription(dataDefinition.getDescription());\r
51         setPosX(dataDefinition.getPosX());\r
52         setPosY(dataDefinition.getPosY());\r
53         setPropertyValueCounter(dataDefinition.getPropertyValueCounter());\r
54         setNormalizedName(dataDefinition.getNormalizedName());\r
55         setOriginType(dataDefinition.getOriginType());\r
56         setCustomizationUUID(dataDefinition.getCustomizationUUID());\r
57         setComponentName(dataDefinition.getComponentName());\r
58         setComponentVersion(dataDefinition.getComponentVersion());\r
59         setToscaComponentName(dataDefinition.getToscaComponentName());\r
60         setInvariantName(dataDefinition.getInvariantName());\r
61         setSourceModelInvariant(dataDefinition.getSourceModelInvariant());\r
62         setSourceModelName(dataDefinition.getSourceModelName());\r
63         setSourceModelUuid(dataDefinition.getSourceModelUuid());\r
64         setSourceModelUid(dataDefinition.getSourceModelUid());\r
65         setIsProxy(dataDefinition.getIsProxy());\r
66         setDirectives(dataDefinition.getDirectives());\r
67         setOriginArchived(dataDefinition.isOriginArchived());\r
68         setToscaArtifacts(dataDefinition.getToscaArtifacts());\r
69     }\r
70 \r
71     public String getIcon() {\r
72         return (String) getToscaPresentationValue(JsonPresentationFields.CI_ICON);\r
73     }\r
74 \r
75     public void setIcon(String icon) {\r
76         setToscaPresentationValue(JsonPresentationFields.CI_ICON, icon);\r
77     }\r
78 \r
79     public String getUniqueId() {\r
80         return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);\r
81     }\r
82 \r
83     public void setUniqueId(String uniqueId) {\r
84         setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);\r
85     }\r
86 \r
87     public Long getCreationTime() {\r
88         return (Long) getToscaPresentationValue(JsonPresentationFields.CREATION_TIME);\r
89     }\r
90 \r
91     public void setCreationTime(Long creationTime) {\r
92         setToscaPresentationValue(JsonPresentationFields.CREATION_TIME, creationTime);\r
93     }\r
94 \r
95     public Long getModificationTime() {\r
96         return (Long) getToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME);\r
97     }\r
98 \r
99     public void setModificationTime(Long modificationTime) {\r
100         setToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME, modificationTime);\r
101     }\r
102 \r
103     public String getDescription() {\r
104         return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);\r
105     }\r
106 \r
107     public void setDescription(String description) {\r
108         setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);\r
109     }\r
110 \r
111     public String getPosX() {\r
112         return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_X);\r
113     }\r
114 \r
115     public void setPosX(String posX) {\r
116         setToscaPresentationValue(JsonPresentationFields.CI_POS_X, posX);\r
117     }\r
118 \r
119     public String getPosY() {\r
120         return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_Y);\r
121     }\r
122 \r
123     public void setPosY(String posY) {\r
124         setToscaPresentationValue(JsonPresentationFields.CI_POS_Y, posY);\r
125     }\r
126 \r
127     public String getComponentUid() {\r
128         return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID);\r
129     }\r
130 \r
131     public void setComponentUid(String resourceUid) {\r
132         setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID, resourceUid);\r
133     }\r
134 \r
135     public String getName() {\r
136         return (String) getToscaPresentationValue(JsonPresentationFields.NAME);\r
137     }\r
138 \r
139     public void setName(String name) {\r
140         if (this.getInvariantName() == null && name != null) {\r
141             this.setInvariantName(ValidationUtils.normalizeComponentInstanceName(name));\r
142         }\r
143         setToscaPresentationValue(JsonPresentationFields.NAME, name);\r
144     }\r
145 \r
146     public String getInvariantName() {\r
147         return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);\r
148     }\r
149 \r
150     public void setInvariantName(String invariantName) {\r
151         setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);\r
152     }\r
153 \r
154     public Integer getPropertyValueCounter() {\r
155         return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER);\r
156     }\r
157 \r
158     public void setPropertyValueCounter(Integer propertyValueCounter) {\r
159         setToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER, propertyValueCounter);\r
160     }\r
161 \r
162     public String getNormalizedName() {\r
163         return (String) getToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME);\r
164     }\r
165 \r
166     public void setNormalizedName(String normalizedName) {\r
167         setToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME, normalizedName);\r
168     }\r
169 \r
170     public OriginTypeEnum getOriginType() {\r
171         OriginTypeEnum originType = null;\r
172         String origType = (String) getToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE);\r
173         if (origType != null && !origType.isEmpty()) {\r
174 \r
175             originType = OriginTypeEnum.findByValue(origType);\r
176         }\r
177         return originType;\r
178     }\r
179 \r
180     public void setOriginType(OriginTypeEnum originType) {\r
181         if (originType != null) {\r
182             setToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE, originType.getValue());\r
183         }\r
184     }\r
185 \r
186     public Integer getAttributeValueCounter() {\r
187         return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER);\r
188     }\r
189 \r
190     public void setAttributeValueCounter(Integer attributeValueCounter) {\r
191         setToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER, attributeValueCounter);\r
192     }\r
193 \r
194     public Integer getInputValueCounter() {\r
195         return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER);\r
196     }\r
197 \r
198     public void setInputValueCounter(Integer inputValueCounter) {\r
199         setToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER, inputValueCounter);\r
200     }\r
201 \r
202     public String getCustomizationUUID() {\r
203         return (String) getToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID);\r
204     }\r
205 \r
206     public void setCustomizationUUID(String customizationUUID) {\r
207         setToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID, customizationUUID);\r
208     }\r
209 \r
210     public String getComponentName() {\r
211         return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);\r
212     }\r
213 \r
214     public void setComponentName(String resourceName) {\r
215         setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, resourceName);\r
216     }\r
217 \r
218     public String getComponentVersion() {\r
219         return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION);\r
220     }\r
221 \r
222     public String getToscaComponentName() {\r
223         return (String) getToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME);\r
224     }\r
225 \r
226     public void setToscaComponentName(String toscaComponentName) {\r
227         setToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME, toscaComponentName);\r
228     }\r
229 \r
230     public void setComponentVersion(String resourceVersion) {\r
231         setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION, resourceVersion);\r
232     }\r
233 \r
234     public void setSourceModelUuid(String targetModelUuid) {\r
235         setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID, targetModelUuid);\r
236     }\r
237 \r
238     public void setSourceModelUid(String targetModelUid) {\r
239         setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID, targetModelUid);\r
240     }\r
241 \r
242     public void setSourceModelName(String targetModelName) {\r
243         setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME, targetModelName);\r
244     }\r
245 \r
246     public void setSourceModelInvariant(String targetModelInvariant) {\r
247         setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT, targetModelInvariant);\r
248     }\r
249 \r
250     public String getSourceModelUuid() {\r
251         return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID);\r
252     }\r
253 \r
254     public String getSourceModelUid() {\r
255         return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID);\r
256     }\r
257 \r
258     public String getSourceModelName() {\r
259         return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME);\r
260     }\r
261 \r
262     public String getSourceModelInvariant() {\r
263         return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT);\r
264     }\r
265 \r
266     public void setIsProxy(Boolean isProxy) {\r
267         if (isProxy == null) {\r
268             setToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY, false);\r
269         } else {\r
270             setToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY, isProxy);\r
271         }\r
272     }\r
273 \r
274     public Boolean getIsProxy() {\r
275         Boolean isProxy = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY);\r
276         return (isProxy != null) ? isProxy : false;\r
277     }\r
278 \r
279     public void setOriginArchived(Boolean originArchived) {\r
280         if (originArchived == null) {\r
281             setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, false);\r
282         } else {\r
283             setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, originArchived);\r
284         }\r
285     }\r
286 \r
287     public List<String> getDirectives() {\r
288         return (List<String>) getToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES);\r
289     }\r
290 \r
291     public void setDirectives(List<String> directives) {\r
292         if (directives == null) {\r
293             directives = new ArrayList<>();\r
294         }\r
295         setToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES, directives);\r
296     }\r
297 \r
298     public  Map<String, ToscaArtifactDataDefinition> getToscaArtifacts() {\r
299         return ( Map<String, ToscaArtifactDataDefinition>) getToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS);\r
300     }\r
301 \r
302     public  void setToscaArtifacts(Map<String, ToscaArtifactDataDefinition> artifacts) {\r
303         if (artifacts == null){\r
304             artifacts = new HashMap<>();\r
305         }\r
306         setToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS, artifacts);\r
307     }\r
308 \r
309     public Boolean isOriginArchived() {\r
310         Boolean originArchived = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED);\r
311         return (originArchived != null) ? originArchived : false;\r
312     }\r
313 \r
314     private String getDirectivesString() {\r
315         if (CollectionUtils.isEmpty(getDirectives())) {\r
316             return "";\r
317         }\r
318         return getDirectives().stream().collect(Collectors.joining(","));\r
319     }\r
320 \r
321     @Override\r
322     public String toString() {\r
323         return "ComponentInstanceDataDefinition [icon=" + getIcon() + ", uniqueId=" + getUniqueId() + ", name="\r
324                 + getName() + ", normalizedName=" + getNormalizedName() + ", componentUid=" + getComponentUid()\r
325                 + ", creationTime=" + getCreationTime() + ", modificationTime=" + getModificationTime()\r
326                 + ", description=" + getDescription() + ", posX=" + getPosX() + ", posY=" + getPosY()\r
327                 + ", propertyValueCounter=" + getPropertyValueCounter() + ", attributeValueCounter="\r
328                 + getAttributeValueCounter() + ", inputValueCounter=" + getInputValueCounter() + ", originType="\r
329                 + getOriginType() + ", customizationUUID=" + getCustomizationUUID() + ", componentName="\r
330                 + getComponentName() + ", componentVersion=" + getComponentVersion() + ", toscaComponentName="\r
331                 + getToscaComponentName() + ", directives =" + getDirectivesString() + "]";\r
332     }\r
333 \r
334 }\r