* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
package org.openecomp.sdc.be.datatypes.elements;
-import java.io.Serializable;
-
+import org.apache.commons.collections.CollectionUtils;
+import org.openecomp.sdc.be.datatypes.enums.CreatedFrom;
+import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
-
-public class ComponentInstanceDataDefinition extends ToscaDataDefinition implements Serializable {
-
- /**
- *
- */
-
- private static final long serialVersionUID = 7215033872921497743L;
-
- private String icon;
-
- private String uniqueId;
-
- private String name;
-
- private String normalizedName;
-
- private String componentUid;
-
- private Long creationTime;
-
- private Long modificationTime;
-
- private String description;
-
- private String posX;
-
- private String posY;
- private Integer propertyValueCounter = 1;
- private Integer attributeValueCounter;
- private Integer inputValueCounter = 1;
- private OriginTypeEnum originType;
- private String customizationUUID;
- private String componentName;
- private String componentVersion;
- private String toscaComponentName;
- private String invariantName;
-
- public ComponentInstanceDataDefinition() {
- super();
- }
-
- public ComponentInstanceDataDefinition(ComponentInstanceDataDefinition dataDefinition) {
- this.icon = dataDefinition.icon;
- this.uniqueId = dataDefinition.uniqueId;
- this.name = dataDefinition.name;
- this.componentUid = dataDefinition.componentUid;
- this.creationTime = dataDefinition.creationTime;
- this.modificationTime = dataDefinition.modificationTime;
- this.description = dataDefinition.description;
- this.posX = dataDefinition.posX;
- this.posY = dataDefinition.posY;
- this.propertyValueCounter = dataDefinition.propertyValueCounter;
- this.normalizedName = dataDefinition.normalizedName;
- this.originType = dataDefinition.originType;
- this.customizationUUID = dataDefinition.customizationUUID;
- this.componentName = dataDefinition.componentName;
- this.componentVersion = dataDefinition.componentVersion;
- this.toscaComponentName = dataDefinition.toscaComponentName;
- this.invariantName = dataDefinition.invariantName;
- }
-
- public String getIcon() {
- return icon;
- }
-
- public void setIcon(String icon) {
- this.icon = icon;
- }
- public String getUniqueId() {
- return uniqueId;
- }
-
- public void setUniqueId(String uniqueId) {
- this.uniqueId = uniqueId;
- }
-
- public Long getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Long creationTime) {
- this.creationTime = creationTime;
- }
-
- public Long getModificationTime() {
- return modificationTime;
- }
-
- public void setModificationTime(Long modificationTime) {
- this.modificationTime = modificationTime;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getPosX() {
- return posX;
- }
-
- public void setPosX(String posX) {
- this.posX = posX;
- }
-
- public String getPosY() {
- return posY;
- }
-
- public void setPosY(String posY) {
- this.posY = posY;
- }
-
- public String getComponentUid() {
- return componentUid;
- }
-
- public void setComponentUid(String resourceUid) {
- this.componentUid = resourceUid;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- if(invariantName == null){
- invariantName = name;
+import org.openecomp.sdc.common.util.ValidationUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+public class ComponentInstanceDataDefinition extends ToscaDataDefinition {
+
+ public ComponentInstanceDataDefinition() {
+ setPropertyValueCounter(1);
+ setAttributeValueCounter(1);
+ setInputValueCounter(1);
+ setIsProxy(false);
+ }
+
+ public ComponentInstanceDataDefinition(ComponentInstanceDataDefinition dataDefinition) {
+ setIcon(dataDefinition.getIcon());
+ setUniqueId(dataDefinition.getUniqueId());
+ setName(dataDefinition.getName());
+ setComponentUid(dataDefinition.getComponentUid());
+ setCreationTime(dataDefinition.getCreationTime());
+ setModificationTime(dataDefinition.getModificationTime());
+ setDescription(dataDefinition.getDescription());
+ setPosX(dataDefinition.getPosX());
+ setPosY(dataDefinition.getPosY());
+ setMinOccurrences(dataDefinition.getMinOccurrences());
+ setMaxOccurrences(dataDefinition.getMaxOccurrences());
+ setPropertyValueCounter(dataDefinition.getPropertyValueCounter());
+ setNormalizedName(dataDefinition.getNormalizedName());
+ setOriginType(dataDefinition.getOriginType());
+ setCustomizationUUID(dataDefinition.getCustomizationUUID());
+ setComponentName(dataDefinition.getComponentName());
+ setComponentVersion(dataDefinition.getComponentVersion());
+ setToscaComponentName(dataDefinition.getToscaComponentName());
+ setInvariantName(dataDefinition.getInvariantName());
+ setSourceModelInvariant(dataDefinition.getSourceModelInvariant());
+ setSourceModelName(dataDefinition.getSourceModelName());
+ setSourceModelUuid(dataDefinition.getSourceModelUuid());
+ setSourceModelUid(dataDefinition.getSourceModelUid());
+ setIsProxy(dataDefinition.getIsProxy());
+ setDirectives(dataDefinition.getDirectives());
+ setOriginArchived(dataDefinition.isOriginArchived());
+ setToscaArtifacts(dataDefinition.getToscaArtifacts());
+ }
+
+ public String getIcon() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_ICON);
+ }
+
+ public void setIcon(String icon) {
+ setToscaPresentationValue(JsonPresentationFields.CI_ICON, icon);
+ }
+
+ public String getUniqueId() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
+ }
+
+ public void setUniqueId(String uniqueId) {
+ setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
+ }
+
+ public Long getCreationTime() {
+ return (Long) getToscaPresentationValue(JsonPresentationFields.CREATION_TIME);
+ }
+
+ public void setCreationTime(Long creationTime) {
+ setToscaPresentationValue(JsonPresentationFields.CREATION_TIME, creationTime);
+ }
+
+ public Long getModificationTime() {
+ return (Long) getToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME);
+ }
+
+ public void setModificationTime(Long modificationTime) {
+ setToscaPresentationValue(JsonPresentationFields.MODIFICATION_TIME, modificationTime);
+ }
+
+ public CreatedFrom getCreatedFrom() {
+ String createdFrom = (String) getToscaPresentationValue(JsonPresentationFields.CREATED_FROM);
+ return Objects.nonNull(createdFrom) ? CreatedFrom.valueOf(createdFrom) : null;
+ }
+
+ public void setCreatedFrom(CreatedFrom createdFrom) {
+ if (Objects.nonNull(createdFrom)){
+ setToscaPresentationValue(JsonPresentationFields.CREATED_FROM, createdFrom.name());
}
- this.name = name;
- }
-
- public String getInvariantName() {
- return invariantName;
- }
-
- public void setInvariantName(String invariantName) {
- this.invariantName = invariantName;
- }
-
- public Integer getPropertyValueCounter() {
- return propertyValueCounter;
- }
-
- public void setPropertyValueCounter(Integer propertyValueCounter) {
- this.propertyValueCounter = propertyValueCounter;
- }
-
- public String getNormalizedName() {
- return normalizedName;
- }
-
- public void setNormalizedName(String normalizedName) {
- this.normalizedName = normalizedName;
- }
-
- public OriginTypeEnum getOriginType() {
- return originType;
- }
-
- public void setOriginType(OriginTypeEnum originType) {
- this.originType = originType;
- }
-
- public Integer getAttributeValueCounter() {
- return attributeValueCounter;
- }
-
- public void setAttributeValueCounter(Integer attributeValueCounter) {
- this.attributeValueCounter = attributeValueCounter;
- }
-
- public Integer getInputValueCounter() {
- return inputValueCounter;
- }
-
- public void setInputValueCounter(Integer inputValueCounter) {
- this.inputValueCounter = inputValueCounter;
- }
-
- public String getCustomizationUUID() {
- return customizationUUID;
- }
-
- public void setCustomizationUUID(String customizationUUID) {
- this.customizationUUID = customizationUUID;
- }
-
- public String getComponentName() {
- return componentName;
- }
-
- public void setComponentName(String resourceName) {
- this.componentName = resourceName;
- }
-
- public String getComponentVersion() {
- return componentVersion;
- }
-
- public String getToscaComponentName() {
- return toscaComponentName;
- }
-
- public void setToscaComponentName(String toscaComponentName) {
- this.toscaComponentName = toscaComponentName;
- }
-
- public void setComponentVersion(String resourceVersion) {
- this.componentVersion = resourceVersion;
- }
-
- @Override
- public String toString() {
- return "ComponentInstanceDataDefinition [icon=" + icon + ", uniqueId=" + uniqueId + ", name=" + name + ", normalizedName=" + normalizedName + ", componentUid=" + componentUid + ", creationTime=" + creationTime + ", modificationTime="
- + modificationTime + ", description=" + description + ", posX=" + posX + ", posY=" + posY + ", propertyValueCounter=" + propertyValueCounter + ", attributeValueCounter=" + attributeValueCounter + ", inputValueCounter="
- + inputValueCounter + ", originType=" + originType + ", customizationUUID=" + customizationUUID + ", componentName=" + componentName + ", componentVersion=" + componentVersion + ", toscaComponentName=" + toscaComponentName + "]";
- }
+ }
+
+ public String getDescription() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
+ }
+
+ public void setDescription(String description) {
+ setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
+ }
+
+ public String getPosX() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_X);
+ }
+
+ public void setPosX(String posX) {
+ setToscaPresentationValue(JsonPresentationFields.CI_POS_X, posX);
+ }
+
+ public String getPosY() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_POS_Y);
+ }
+
+ public void setPosY(String posY) {
+ setToscaPresentationValue(JsonPresentationFields.CI_POS_Y, posY);
+ }
+
+ public String getMinOccurrences() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_MIN_OCCURRENCES);
+ }
+
+ public void setMinOccurrences(String minOccurrences) {
+ setToscaPresentationValue(JsonPresentationFields.CI_MIN_OCCURRENCES, minOccurrences);
+ }
+
+ public String getMaxOccurrences() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_MAX_OCCURRENCES);
+ }
+
+ public void setMaxOccurrences(String maxOccurrences) {
+ setToscaPresentationValue(JsonPresentationFields.CI_MAX_OCCURRENCES, maxOccurrences);
+ }
+
+ public String getComponentUid() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID);
+ }
+
+ public void setComponentUid(String resourceUid) {
+ setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_UID, resourceUid);
+ }
+
+ public String getName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.NAME);
+ }
+
+ public void setName(String name) {
+ if (this.getInvariantName() == null && name != null) {
+ this.setInvariantName(ValidationUtils.normalizeComponentInstanceName(name));
+ }
+ setToscaPresentationValue(JsonPresentationFields.NAME, name);
+ }
+
+ public String getInvariantName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
+ }
+
+ public void setInvariantName(String invariantName) {
+ setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
+ }
+
+ public Integer getPropertyValueCounter() {
+ return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER);
+ }
+
+ public void setPropertyValueCounter(Integer propertyValueCounter) {
+ setToscaPresentationValue(JsonPresentationFields.CI_PROP_VALUE_COUNTER, propertyValueCounter);
+ }
+
+ public String getNormalizedName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME);
+ }
+
+ public void setNormalizedName(String normalizedName) {
+ setToscaPresentationValue(JsonPresentationFields.NORMALIZED_NAME, normalizedName);
+ }
+
+ public OriginTypeEnum getOriginType() {
+ OriginTypeEnum originType = null;
+ String origType = (String) getToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE);
+ if (origType != null && !origType.isEmpty()) {
+
+ originType = OriginTypeEnum.findByValue(origType);
+ }
+ return originType;
+ }
+
+ public void setOriginType(OriginTypeEnum originType) {
+ if (originType != null) {
+ setToscaPresentationValue(JsonPresentationFields.CI_ORIGIN_TYPE, originType.getValue());
+ }
+ }
+
+ public Integer getAttributeValueCounter() {
+ return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER);
+ }
+
+ public void setAttributeValueCounter(Integer attributeValueCounter) {
+ setToscaPresentationValue(JsonPresentationFields.CI_ATTR_VALUE_COUNTER, attributeValueCounter);
+ }
+
+ public Integer getInputValueCounter() {
+ return (Integer) getToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER);
+ }
+
+ public void setInputValueCounter(Integer inputValueCounter) {
+ setToscaPresentationValue(JsonPresentationFields.CI_INPUT_VALUE_COUNTER, inputValueCounter);
+ }
+
+ public String getCustomizationUUID() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID);
+ }
+
+ public void setCustomizationUUID(String customizationUUID) {
+ setToscaPresentationValue(JsonPresentationFields.CUSTOMIZATION_UUID, customizationUUID);
+ }
+
+ public String getComponentName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
+ }
+
+ public void setComponentName(String resourceName) {
+ setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, resourceName);
+ }
+
+ public String getComponentVersion() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION);
+ }
+
+ public String getToscaComponentName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME);
+ }
+
+ public void setToscaComponentName(String toscaComponentName) {
+ setToscaPresentationValue(JsonPresentationFields.CI_TOSCA_COMPONENT_NAME, toscaComponentName);
+ }
+
+ public void setComponentVersion(String resourceVersion) {
+ setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_VERSION, resourceVersion);
+ }
+
+ public void setSourceModelUuid(String targetModelUuid) {
+ setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID, targetModelUuid);
+ }
+
+ public void setSourceModelUid(String targetModelUid) {
+ setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID, targetModelUid);
+ }
+
+ public void setSourceModelName(String targetModelName) {
+ setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME, targetModelName);
+ }
+
+ public void setSourceModelInvariant(String targetModelInvariant) {
+ setToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT, targetModelInvariant);
+ }
+
+ public String getSourceModelUuid() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UUID);
+ }
+
+ public String getSourceModelUid() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_UID);
+ }
+
+ public String getSourceModelName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_NAME);
+ }
+
+ public String getSourceModelInvariant() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_SOURCE_MODEL_INVARIANT);
+ }
+
+ public void setIsProxy(Boolean isProxy) {
+ if (isProxy == null) {
+ setToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY, false);
+ } else {
+ setToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY, isProxy);
+ }
+ }
+
+ public Boolean getIsProxy() {
+ Boolean isProxy = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_PROXY);
+ return (isProxy != null) ? isProxy : false;
+ }
+
+ public Boolean isServiceSubstitution() {
+ return getOriginType() == OriginTypeEnum.ServiceSubstitution;
+ }
+
+ public void setOriginArchived(Boolean originArchived) {
+ if (originArchived == null) {
+ setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, false);
+ } else {
+ setToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED, originArchived);
+ }
+ }
+
+ public List<String> getDirectives() {
+ return (List<String>) getToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES);
+ }
+
+ public void setDirectives(List<String> directives) {
+ if (directives == null) {
+ directives = new ArrayList<>();
+ }
+ setToscaPresentationValue(JsonPresentationFields.CI_DIRECTIVES, directives);
+ }
+
+ public Map<String, ToscaArtifactDataDefinition> getToscaArtifacts() {
+ return ( Map<String, ToscaArtifactDataDefinition>) getToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS);
+ }
+
+ public void setToscaArtifacts(Map<String, ToscaArtifactDataDefinition> artifacts) {
+ if (artifacts == null){
+ artifacts = new HashMap<>();
+ }
+ setToscaPresentationValue(JsonPresentationFields.CI_ARTIFACTS, artifacts);
+ }
+
+ public Boolean isOriginArchived() {
+ Boolean originArchived = (Boolean) getToscaPresentationValue(JsonPresentationFields.CI_IS_ORIGIN_ARCHIVED);
+ return (originArchived != null) ? originArchived : false;
+ }
+
+ private String getDirectivesString() {
+ if (CollectionUtils.isEmpty(getDirectives())) {
+ return "";
+ }
+ return getDirectives().stream().collect(Collectors.joining(","));
+ }
+
+ @Override
+ public String toString() {
+ return "ComponentInstanceDataDefinition [icon=" + getIcon() + ", uniqueId=" + getUniqueId() + ", name="
+ + getName() + ", normalizedName=" + getNormalizedName() + ", componentUid=" + getComponentUid()
+ + ", creationTime=" + getCreationTime() + ", modificationTime=" + getModificationTime()
+ + ", description=" + getDescription() + ", posX=" + getPosX() + ", posY=" + getPosY()
+ + ", propertyValueCounter=" + getPropertyValueCounter() + ", attributeValueCounter="
+ + getAttributeValueCounter() + ", inputValueCounter=" + getInputValueCounter() + ", originType="
+ + getOriginType() + ", customizationUUID=" + getCustomizationUUID() + ", componentName="
+ + getComponentName() + ", componentVersion=" + getComponentVersion() + ", toscaComponentName="
+ + getToscaComponentName() + ", directives =" + getDirectivesString() + ", minOccurrences ="
+ + getMinOccurrences() + ", maxOccurrences =" + getMaxOccurrences() +"]";
+ }
}