aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java
diff options
context:
space:
mode:
authoraribeiro <anderson.ribeiro@est.tech>2020-11-17 10:52:41 +0000
committerS�bastien Determe <sebastien.determe@intl.att.com>2020-11-17 16:01:54 +0000
commit5eb632de67f90a92e3032f97da1dcc25d53e8110 (patch)
treed1b504d09cb517dd614c344f83a21a68f771c882 /catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java
parent8adf8aa4772b282133e053a21fc8de65973d37e5 (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.java27
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<>();