From: aribeiro Date: Fri, 21 Aug 2020 08:17:56 +0000 (+0100) Subject: Map topology inputs to properties in substitution mapping X-Git-Tag: 1.7.1~32 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=ad85080b06553bc37a7bfb9c2c89f51275706ce6;p=sdc.git Map topology inputs to properties in substitution mapping Allows to map properties of the node_type to inputs of the topology template for a service Issue-ID: SDC-3254 Signed-off-by: aribeiro Change-Id: Iee49fe0ac29a39b98d8dc8185401f4d1c4aeffbb --- 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 45db4f7365..b59930e6c3 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 @@ -367,6 +367,9 @@ public class ToscaExportHandler { } substitutionMapping = requirements.left().value(); + final Optional> proxyInputProperties = getProxyNodeTypeInputProperties(component, dataTypes); + proxyInputProperties.ifPresent(substitutionMapping::setProperties); + topologyTemplate.setSubstitution_mappings(substitutionMapping); toscaNode.setTopology_template(topologyTemplate); @@ -1726,6 +1729,16 @@ public class ToscaExportHandler { } + private Optional> getProxyNodeTypeInputProperties(final Component proxyComponent, + final Map dataTypes) { + if (Objects.isNull(proxyComponent)) { + return Optional.empty(); + } + final Map proxyInputProperties = new HashMap<>(); + addInputsToProperties(dataTypes, proxyComponent.getInputs(), proxyInputProperties); + return MapUtils.isNotEmpty(proxyInputProperties) ? Optional.of(proxyInputProperties) : Optional.empty(); + } + Optional> getProxyNodeTypeProperties(Component proxyComponent, Map dataTypes) { 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 376f211b70..13a28db038 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; }