aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org
diff options
context:
space:
mode:
authorvasraz <vasyl.razinkov@est.tech>2020-10-20 18:16:28 +0100
committerS�bastien Determe <sebastien.determe@intl.att.com>2020-11-05 11:22:14 +0000
commit7f7b1c8e7a8fba8e73786cb158f1ebfa5b11a8c4 (patch)
tree628454ed6ba923fcbcd28781f4deb331d9861ab3 /catalog-be/src/main/java/org
parenta26f07d36732915193c56c8100e70680531b4d55 (diff)
Add substitution_mapping attributes mapping
Add support of mapping the outputs to attributes in substitution_mapping Change-Id: Ifbe95a1fdfd476aa7aca17502ee9b30bea906874 Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech> Issue-ID: SDC-3320
Diffstat (limited to 'catalog-be/src/main/java/org')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java19
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/model/SubstitutionMapping.java1
2 files changed, 20 insertions, 0 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..08c3d18157 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
@@ -373,6 +373,11 @@ public class ToscaExportHandler {
substitutionMapping.setProperties(propertyMappingMap);
}
+ final Map<String, String[]> attributesMappingMap = buildSubstitutionMappingAttributesMapping(component);
+ if (!attributesMappingMap.isEmpty()) {
+ substitutionMapping.setAttributes(attributesMappingMap);
+ }
+
topologyTemplate.setSubstitution_mappings(substitutionMapping);
toscaNode.setTopology_template(topologyTemplate);
@@ -1751,6 +1756,20 @@ public class ToscaExportHandler {
);
}
+ private Map<String, String[]> buildSubstitutionMappingAttributesMapping(final Component component) {
+ if (component == null || CollectionUtils.isEmpty(component.getOutputs())) {
+ return Collections.emptyMap();
+ }
+ return component.getOutputs().stream()
+ .map(PropertyDataDefinition::getName)
+ .collect(
+ Collectors.toMap(
+ outputName -> outputName,
+ outputName -> new String[]{outputName},
+ (outputName1, outputName2) -> outputName1)
+ );
+ }
+
Optional<Map<String, ToscaProperty>> getProxyNodeTypeProperties(Component proxyComponent,
Map<String, DataTypeDefinition>
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 1a2a13817b..7b70a0b5f4 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
@@ -39,4 +39,5 @@ public class SubstitutionMapping {
private Map<String, String[]> requirements;
private NodeFilter substitution_filter;
private Map<String, String[]> properties;
+ private Map<String, String[]> attributes;
}