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 java.util.ArrayList;
24 import java.util.HashMap;
25 import java.util.List;
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;
36 public class ComponentInstanceDataDefinition extends ToscaDataDefinition {
38 public ComponentInstanceDataDefinition() {
39 setPropertyValueCounter(1);
40 setAttributeValueCounter(1);
41 setInputValueCounter(1);
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());
73 public String getIcon() {
74 return (String) getToscaPresentationValue(JsonPresentationFields.CI_ICON);
77 public void setIcon(String icon) {
78 setToscaPresentationValue(JsonPresentationFields.CI_ICON, icon);
81 public String getUniqueId() {
82 return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
85 public void setUniqueId(String uniqueId) {
86 setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
89 public Long getCreationTime() {
90 return (Long) getToscaPresentationValue(JsonPresentationFields.CREATION_TIME);
93 public void setCreationTime(Long creationTime) {
94 setToscaPresentationValue(JsonPresentationFields.CREATION_TIME, creationTime);
97 public Long getModificationTime() {
98 return (Long) getToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME);
101 public void setModificationTime(Long modificationTime) {
102 setToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME, modificationTime);
105 public CreatedFrom getCreatedFrom() {
106 String createdFrom = (String) getToscaPresentationValue(JsonPresentationFields.CREATED_FROM);
107 return Objects.nonNull(createdFrom) ? CreatedFrom.valueOf(createdFrom) : null;
110 public void setCreatedFrom(CreatedFrom createdFrom) {
111 if (Objects.nonNull(createdFrom)) {
112 setToscaPresentationValue(JsonPresentationFields.CREATED_FROM, createdFrom.name());
116 public String getDescription() {
117 return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
120 public void setDescription(String description) {
121 setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
124 public String getPosX() {
125 return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_X);
128 public void setPosX(String posX) {
129 setToscaPresentationValue(JsonPresentationFields.CI_POS_X, posX);
132 public String getPosY() {
133 return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_Y);
136 public void setPosY(String posY) {
137 setToscaPresentationValue(JsonPresentationFields.CI_POS_Y, posY);
140 public String getComponentUid() {
141 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID);
144 public void setComponentUid(String resourceUid) {
145 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID, resourceUid);
148 public void setName(String name) {
149 if (this.getInvariantName() == null && name != null) {
150 this.setInvariantName(ValidationUtils.normalizeComponentInstanceName(name));
152 setToscaPresentationValue(JsonPresentationFields.NAME, name);
155 public String getInvariantName() {
156 return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
159 public void setInvariantName(String invariantName) {
160 setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
163 public Integer getPropertyValueCounter() {
164 return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER);
167 public void setPropertyValueCounter(Integer propertyValueCounter) {
168 setToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER, propertyValueCounter);
171 public String getNormalizedName() {
172 return (String) getToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME);
175 public void setNormalizedName(String normalizedName) {
176 setToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME, normalizedName);
179 public OriginTypeEnum getOriginType() {
180 OriginTypeEnum originType = null;
181 String origType = (String) getToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE);
182 if (origType != null && !origType.isEmpty()) {
184 originType = OriginTypeEnum.findByValue(origType);
189 public void setOriginType(OriginTypeEnum originType) {
190 if (originType != null) {
191 setToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE, originType.getValue());
195 public Integer getAttributeValueCounter() {
196 return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER);
199 public void setAttributeValueCounter(Integer attributeValueCounter) {
200 setToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER, attributeValueCounter);
203 public Integer getInputValueCounter() {
204 return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER);
207 public void setInputValueCounter(Integer inputValueCounter) {
208 setToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER, inputValueCounter);
211 public String getCustomizationUUID() {
212 return (String) getToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID);
215 public void setCustomizationUUID(String customizationUUID) {
216 setToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID, customizationUUID);
219 public String getComponentName() {
220 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
223 public void setComponentName(String resourceName) {
224 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, resourceName);
227 public String getComponentVersion() {
228 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION);
231 public void setComponentVersion(String resourceVersion) {
232 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION, resourceVersion);
235 public String getToscaComponentName() {
236 return (String) getToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME);
239 public void setToscaComponentName(String toscaComponentName) {
240 setToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME, toscaComponentName);
243 public String getSourceModelUuid() {
244 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID);
247 public void setSourceModelUuid(String targetModelUuid) {
248 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID, targetModelUuid);
251 public String getSourceModelUid() {
252 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID);
255 public void setSourceModelUid(String targetModelUid) {
256 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID, targetModelUid);
259 public String getSourceModelName() {
260 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME);
263 public void setSourceModelName(String targetModelName) {
264 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME, targetModelName);
267 public String getSourceModelInvariant() {
268 return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT);
271 public void setSourceModelInvariant(String targetModelInvariant) {
272 setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT, targetModelInvariant);
275 public Boolean getIsProxy() {
276 Boolean isProxy = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY);
277 return (isProxy != null) ? isProxy : false;
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 isServiceSubstitution() {
289 return getOriginType() == OriginTypeEnum.ServiceSubstitution;
292 public void setOriginArchived(Boolean originArchived) {
293 if (originArchived == null) {
294 setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, false);
296 setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, originArchived);
300 public List<String> getDirectives() {
301 return (List<String>) getToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES);
304 public void setDirectives(List<String> directives) {
305 if (directives == null) {
306 directives = new ArrayList<>();
308 setToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES, directives);
311 public Map<String, ToscaArtifactDataDefinition> getToscaArtifacts() {
312 return (Map<String, ToscaArtifactDataDefinition>) getToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS);
315 public void setToscaArtifacts(Map<String, ToscaArtifactDataDefinition> artifacts) {
316 if (artifacts == null) {
317 artifacts = new HashMap<>();
319 setToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS, artifacts);
322 public Boolean isOriginArchived() {
323 Boolean originArchived = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED);
324 return (originArchived != null) ? originArchived : false;
327 private String getDirectivesString() {
328 if (CollectionUtils.isEmpty(getDirectives())) {
331 return getDirectives().stream().collect(Collectors.joining(","));
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() + "]";