diff options
author | aribeiro <anderson.ribeiro@est.tech> | 2020-11-17 10:52:41 +0000 |
---|---|---|
committer | S�bastien Determe <sebastien.determe@intl.att.com> | 2020-11-17 16:01:54 +0000 |
commit | 5eb632de67f90a92e3032f97da1dcc25d53e8110 (patch) | |
tree | d1b504d09cb517dd614c344f83a21a68f771c882 /catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java | |
parent | 8adf8aa4772b282133e053a21fc8de65973d37e5 (diff) |
Fix import VFC with attributes1.7.3
Fix import VFC with default attribute value
Fix Update, create and delete attribute action
Make attribute definition tosca compliant
Issue-ID: SDC-3381
Signed-off-by: aribeiro <anderson.ribeiro@est.tech>
Change-Id: Ibbd36b105b8c86d1e750f3b6d55752d63fe6530e
(cherry picked from commit 2f74a4ac81f228bdb0bf0f509e9c0ef296d28d82)
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java index d0c14f77c5..7c68f28508 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java @@ -25,6 +25,10 @@ import static org.apache.commons.collections.CollectionUtils.isNotEmpty; import static org.apache.commons.collections.MapUtils.isNotEmpty; import static org.openecomp.sdc.be.components.utils.PropertiesUtils.resolvePropertyValueFromInput; import static org.openecomp.sdc.be.tosca.InterfacesOperationsConverter.addInterfaceTypeElement; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import fj.data.Either; import java.beans.IntrospectionException; import java.util.ArrayList; import java.util.Collection; @@ -46,6 +50,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.ImmutableTriple; import org.apache.commons.lang3.tuple.Triple; +import org.onap.sdc.tosca.datatypes.model.AttributeDefinition; import org.onap.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.be.components.impl.exceptions.SdcResourceNotFoundException; import org.openecomp.sdc.be.config.ConfigurationManager; @@ -58,7 +63,6 @@ import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition; import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; import org.openecomp.sdc.be.datatypes.elements.RequirementNodeFilterCapabilityDataDefinition; import org.openecomp.sdc.be.datatypes.elements.RequirementNodeFilterPropertyDataDefinition; -import org.openecomp.sdc.be.datatypes.elements.RequirementSubstitutionFilterCapabilityDataDefinition; import org.openecomp.sdc.be.datatypes.elements.RequirementSubstitutionFilterPropertyDataDefinition; import org.openecomp.sdc.be.datatypes.elements.SubstitutionFilterDataDefinition; import org.openecomp.sdc.be.datatypes.elements.ToscaArtifactDataDefinition; @@ -123,9 +127,6 @@ import org.yaml.snakeyaml.nodes.NodeTuple; import org.yaml.snakeyaml.nodes.Tag; import org.yaml.snakeyaml.representer.Represent; import org.yaml.snakeyaml.representer.Representer; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import fj.data.Either; @org.springframework.stereotype.Component("tosca-export-handler") public class ToscaExportHandler { @@ -1074,14 +1075,28 @@ public class ToscaExportHandler { if (component instanceof Resource) { final List<AttributeDataDefinition> attributes = ((Resource) component).getAttributes(); if (CollectionUtils.isNotEmpty(attributes)) { - final Map<String, AttributeDataDefinition> attributeDataDefinitionMap - = attributes.stream().collect(Collectors.toMap(AttributeDataDefinition::getName, a -> a)); + final Map<String, Object> attributeDataDefinitionMap = new HashMap<>(); + attributes.forEach(attributeDataDefinition -> + buildAttributeData(attributeDataDefinition, attributeDataDefinitionMap)); + toscaNodeType.setAttributes(attributeDataDefinitionMap); } } return toscaNodeType; } + private void buildAttributeData(final AttributeDataDefinition originalAttributeDataDefinition, + final Map<String, Object> attributeDataDefinitionMap) { + + attributeDataDefinitionMap.put(originalAttributeDataDefinition.getName(), + new ObjectMapper().convertValue(new AttributeDefinition( + originalAttributeDataDefinition.getType(), + originalAttributeDataDefinition.getDescription(), + originalAttributeDataDefinition.get_default(), + originalAttributeDataDefinition.getStatus(), + originalAttributeDataDefinition.getEntry_schema()), Object.class)); + } + private Either<Map<String, Object>, ToscaError> createProxyInterfaceTypes(Component container) { Map<String, Object> proxyInterfaceTypes = new HashMap<>(); |