From: andre.schmid Date: Tue, 29 Sep 2020 10:37:47 +0000 (+0100) Subject: Fix substitution_mapping property mapping X-Git-Tag: 1.7.2~4 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=378b6774ddad25d74ba7f05d173bc794b3963c7c;p=sdc.git Fix substitution_mapping property mapping Currently the properties in substitution_mapping are being generated as property definition, copying the inputs. They should be property mappings referring inputs. Change-Id: I0b3b056adeab79915db1b42218364c22f07a079f Issue-ID: SDC-3307 Signed-off-by: andre.schmid --- 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 0907dd1f9b..d0c14f77c5 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 @@ -28,6 +28,7 @@ import static org.openecomp.sdc.be.tosca.InterfacesOperationsConverter.addInterf import java.beans.IntrospectionException; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashSet; @@ -367,9 +368,10 @@ public class ToscaExportHandler { return Either.right(requirements.right().value()); } substitutionMapping = requirements.left().value(); - - final Optional> proxyInputProperties = getProxyNodeTypeInputProperties(component, dataTypes); - proxyInputProperties.ifPresent(substitutionMapping::setProperties); + final Map propertyMappingMap = buildSubstitutionMappingPropertyMapping(component); + if (!propertyMappingMap.isEmpty()) { + substitutionMapping.setProperties(propertyMappingMap); + } topologyTemplate.setSubstitution_mappings(substitutionMapping); @@ -1735,14 +1737,18 @@ public class ToscaExportHandler { } - private Optional> getProxyNodeTypeInputProperties(final Component proxyComponent, - final Map dataTypes) { - if (Objects.isNull(proxyComponent)) { - return Optional.empty(); + private Map buildSubstitutionMappingPropertyMapping(final Component component) { + if (component == null || CollectionUtils.isEmpty(component.getInputs())) { + return Collections.emptyMap(); } - final Map proxyInputProperties = new HashMap<>(); - addInputsToProperties(dataTypes, proxyComponent.getInputs(), proxyInputProperties); - return MapUtils.isNotEmpty(proxyInputProperties) ? Optional.of(proxyInputProperties) : Optional.empty(); + return component.getInputs().stream() + .map(PropertyDataDefinition::getName) + .collect( + Collectors.toMap( + inputName -> inputName, + inputName -> new String[]{inputName}, + (inputName1, inputName2) -> inputName1) + ); } Optional> getProxyNodeTypeProperties(Component proxyComponent, diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/SubstitutionMapping.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/SubstitutionMapping.java index 13a28db038..1a2a13817b 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/SubstitutionMapping.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/SubstitutionMapping.java @@ -38,5 +38,5 @@ public class SubstitutionMapping { private Map capabilities; private Map requirements; private NodeFilter substitution_filter; - private Map properties; + private Map properties; }