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