summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java28
1 files changed, 25 insertions, 3 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java
index 6b2770ceaf..64c2168241 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java
@@ -194,16 +194,38 @@ public class ConsolidationDataUtil {
PortTemplateConsolidationData portTemplateConsolidationData =
filePortConsolidationData.getPortTemplateConsolidationData(parentPortNodeTemplateId);
if (portTemplateConsolidationData == null) {
- portTemplateConsolidationData = new PortTemplateConsolidationData();
- portTemplateConsolidationData.setNodeTemplateId(parentPortNodeTemplateId);
+ Optional<String> portResourceId = getSubInterfaceParentPortResourceId(parentPortNodeTemplateId,
+ subInterfaceTo);
+ if (portResourceId.isPresent()) {
+ portTemplateConsolidationData = getInitPortTemplateConsolidationData(parentPortNodeTemplateId,
+ portResourceId.get(), HeatToToscaUtil.getResourceType(portResourceId.get(), subInterfaceTo
+ .getHeatOrchestrationTemplate(), subInterfaceTo.getHeatFileName()));
+ } else {
+ portTemplateConsolidationData = new PortTemplateConsolidationData();
+ portTemplateConsolidationData.setNodeTemplateId(parentPortNodeTemplateId);
+ }
filePortConsolidationData.setPortTemplateConsolidationData(parentPortNodeTemplateId,
portTemplateConsolidationData);
}
-
return portTemplateConsolidationData.addSubInterfaceTemplateConsolidationData(
subInterfaceTo.getResource(), subInterfaceNodeTemplateId, parentPortNodeTemplateId);
}
+ private static Optional<String> getSubInterfaceParentPortResourceId(String parentPortNodeTemplateId,
+ TranslateTo subInterfaceTo) {
+ Map<String, String> resourceIdTranslatedResourceIdMap =
+ subInterfaceTo.getContext().getTranslatedIds().get(subInterfaceTo.getHeatFileName());
+ if (MapUtils.isEmpty(resourceIdTranslatedResourceIdMap)) {
+ return Optional.empty();
+ }
+ for (Map.Entry<String, String> entry : resourceIdTranslatedResourceIdMap.entrySet()) {
+ if (entry.getValue().equals(parentPortNodeTemplateId)) {
+ return Optional.of(entry.getKey());
+ }
+ }
+ return Optional.empty();
+ }
+
/**
* Gets nested template consolidation data.
*