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.openecomp.sdc.be.datatypes.elements;
23 import org.apache.commons.collections.CollectionUtils;
24 import org.openecomp.sdc.be.datatypes.enums.CreatedFrom;
25 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
26 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
27 import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
28 import org.openecomp.sdc.common.util.ValidationUtils;
30 import java.util.ArrayList;
31 import java.util.HashMap;
32 import java.util.List;
34 import java.util.Objects;
35 import java.util.stream.Collectors;
37 public class ComponentInstanceDataDefinition extends ToscaDataDefinition {
39 public ComponentInstanceDataDefinition() {
40 setPropertyValueCounter(1);
41 setAttributeValueCounter(1);
42 setInputValueCounter(1);
46 public ComponentInstanceDataDefinition(ComponentInstanceDataDefinition dataDefinition) {
47 setIcon(dataDefinition.getIcon());
48 setUniqueId(dataDefinition.getUniqueId());
49 setName(dataDefinition.getName());
50 setComponentUid(dataDefinition.getComponentUid());
51 setCreationTime(dataDefinition.getCreationTime());
52 setModificationTime(dataDefinition.getModificationTime());
53 setDescription(dataDefinition.getDescription());
54 setPosX(dataDefinition.getPosX());
55 setPosY(dataDefinition.getPosY());
56 setPropertyValueCounter(dataDefinition.getPropertyValueCounter());
57 setNormalizedName(dataDefinition.getNormalizedName());
58 setOriginType(dataDefinition.getOriginType());
59 setCustomizationUUID(dataDefinition.getCustomizationUUID());
60 setComponentName(dataDefinition.getComponentName());
61 setComponentVersion(dataDefinition.getComponentVersion());
62 setToscaComponentName(dataDefinition.getToscaComponentName());
63 setInvariantName(dataDefinition.getInvariantName());
64 setSourceModelInvariant(dataDefinition.getSourceModelInvariant());
65 setSourceModelName(dataDefinition.getSourceModelName());
66 setSourceModelUuid(dataDefinition.getSourceModelUuid());
67 setSourceModelUid(dataDefinition.getSourceModelUid());
68 setIsProxy(dataDefinition.getIsProxy());
69 setDirectives(dataDefinition.getDirectives());
70 setOriginArchived(dataDefinition.isOriginArchived());
71 setToscaArtifacts(dataDefinition.getToscaArtifacts());
74 public String getIcon() {
75 return (String) getToscaPresentationValue(JsonPresentationFields.CI_ICON);
78 public void setIcon(String icon) {
79 setToscaPresentationValue(JsonPresentationFields.CI_ICON, icon);
82 public String getUniqueId() {
83 return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
86 public void setUniqueId(String uniqueId) {
87 setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
90 public Long getCreationTime() {
91 return (Long) getToscaPresentationValue(JsonPresentationFields.CREATION_TIME);
94 public void setCreationTime(Long creationTime) {
95 setToscaPresentationValue(JsonPresentationFields.CREATION_TIME, creationTime);
98 public Long getModificationTime() {
99 return (Long) getToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME);
102 public void setModificationTime(Long modificationTime) {
103 setToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME, modificationTime);
106 public CreatedFrom getCreatedFrom() {
107 String createdFrom = (String) getToscaPresentationValue(JsonPresentationFields.CREATED_FROM);
108 return Objects.nonNull(createdFrom) ? CreatedFrom.valueOf(createdFrom) : null;
111 public void setCreatedFrom(CreatedFrom createdFrom) {
112 if (Objects.nonNull(createdFrom)){
113 setToscaPresentationValue(JsonPresentationFields.CREATED_FROM, createdFrom.name());
117 public String getDescription() {
118 return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
121 public void setDescription(String description) {
122 setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
125 public String getPosX() {
126 return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_X);
129 public void setPosX(String posX) {
130 setToscaPresentationValue(JsonPresentationFields.CI_POS_X, posX);
133 public String getPosY() {
134 return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_Y);
137 public void setPosY(String posY) {
138 setToscaPresentationValue(JsonPresentationFields.CI_POS_Y, posY);
141 public String getComponentUid() {
142 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID);
145 public void setComponentUid(String resourceUid) {
146 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID, resourceUid);
149 public String getName() {
150 return (String) getToscaPresentationValue(JsonPresentationFields.NAME);
153 public void setName(String name) {
154 if (this.getInvariantName() == null && name != null) {
155 this.setInvariantName(ValidationUtils.normalizeComponentInstanceName(name));
157 setToscaPresentationValue(JsonPresentationFields.NAME, name);
160 public String getInvariantName() {
161 return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
164 public void setInvariantName(String invariantName) {
165 setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
168 public Integer getPropertyValueCounter() {
169 return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER);
172 public void setPropertyValueCounter(Integer propertyValueCounter) {
173 setToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER, propertyValueCounter);
176 public String getNormalizedName() {
177 return (String) getToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME);
180 public void setNormalizedName(String normalizedName) {
181 setToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME, normalizedName);
184 public OriginTypeEnum getOriginType() {
185 OriginTypeEnum originType = null;
186 String origType = (String) getToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE);
187 if (origType != null && !origType.isEmpty()) {
189 originType = OriginTypeEnum.findByValue(origType);
194 public void setOriginType(OriginTypeEnum originType) {
195 if (originType != null) {
196 setToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE, originType.getValue());
200 public Integer getAttributeValueCounter() {
201 return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER);
204 public void setAttributeValueCounter(Integer attributeValueCounter) {
205 setToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER, attributeValueCounter);
208 public Integer getInputValueCounter() {
209 return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER);
212 public void setInputValueCounter(Integer inputValueCounter) {
213 setToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER, inputValueCounter);
216 public String getCustomizationUUID() {
217 return (String) getToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID);
220 public void setCustomizationUUID(String customizationUUID) {
221 setToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID, customizationUUID);
224 public String getComponentName() {
225 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
228 public void setComponentName(String resourceName) {
229 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, resourceName);
232 public String getComponentVersion() {
233 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION);
236 public String getToscaComponentName() {
237 return (String) getToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME);
240 public void setToscaComponentName(String toscaComponentName) {
241 setToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME, toscaComponentName);
244 public void setComponentVersion(String resourceVersion) {
245 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION, resourceVersion);
248 public void setSourceModelUuid(String targetModelUuid) {
249 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID, targetModelUuid);
252 public void setSourceModelUid(String targetModelUid) {
253 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID, targetModelUid);
256 public void setSourceModelName(String targetModelName) {
257 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME, targetModelName);
260 public void setSourceModelInvariant(String targetModelInvariant) {
261 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT, targetModelInvariant);
264 public String getSourceModelUuid() {
265 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID);
268 public String getSourceModelUid() {
269 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID);
272 public String getSourceModelName() {
273 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME);
276 public String getSourceModelInvariant() {
277 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT);
280 public void setIsProxy(Boolean isProxy) {
281 if (isProxy == null) {
282 setToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY, false);
284 setToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY, isProxy);
288 public Boolean getIsProxy() {
289 Boolean isProxy = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY);
290 return (isProxy != null) ? isProxy : false;
293 public Boolean isServiceSubstitution() {
294 return getOriginType() == OriginTypeEnum.ServiceSubstitution;
297 public void setOriginArchived(Boolean originArchived) {
298 if (originArchived == null) {
299 setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, false);
301 setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, originArchived);
305 public List<String> getDirectives() {
306 return (List<String>) getToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES);
309 public void setDirectives(List<String> directives) {
310 if (directives == null) {
311 directives = new ArrayList<>();
313 setToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES, directives);
316 public Map<String, ToscaArtifactDataDefinition> getToscaArtifacts() {
317 return ( Map<String, ToscaArtifactDataDefinition>) getToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS);
320 public void setToscaArtifacts(Map<String, ToscaArtifactDataDefinition> artifacts) {
321 if (artifacts == null){
322 artifacts = new HashMap<>();
324 setToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS, artifacts);
327 public Boolean isOriginArchived() {
328 Boolean originArchived = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED);
329 return (originArchived != null) ? originArchived : false;
332 private String getDirectivesString() {
333 if (CollectionUtils.isEmpty(getDirectives())) {
336 return getDirectives().stream().collect(Collectors.joining(","));
340 public String toString() {
341 return "ComponentInstanceDataDefinition [icon=" + getIcon() + ", uniqueId=" + getUniqueId() + ", name="
342 + getName() + ", normalizedName=" + getNormalizedName() + ", componentUid=" + getComponentUid()
343 + ", creationTime=" + getCreationTime() + ", modificationTime=" + getModificationTime()
344 + ", description=" + getDescription() + ", posX=" + getPosX() + ", posY=" + getPosY()
345 + ", propertyValueCounter=" + getPropertyValueCounter() + ", attributeValueCounter="
346 + getAttributeValueCounter() + ", inputValueCounter=" + getInputValueCounter() + ", originType="
347 + getOriginType() + ", customizationUUID=" + getCustomizationUUID() + ", componentName="
348 + getComponentName() + ", componentVersion=" + getComponentVersion() + ", toscaComponentName="
349 + getToscaComponentName() + ", directives =" + getDirectivesString() + "]";