diff options
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.java | 28 |
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. * |