From ad85080b06553bc37a7bfb9c2c89f51275706ce6 Mon Sep 17 00:00:00 2001 From: aribeiro Date: Fri, 21 Aug 2020 09:17:56 +0100 Subject: [PATCH] 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 --- .../java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java | 13 +++++++++++++ .../openecomp/sdc/be/tosca/model/SubstitutionMapping.java | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) 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; } -- 2.16.6