diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java')
-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 | 174 |
1 files changed, 91 insertions, 83 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 4e92372b7e..b0bac3b834 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 @@ -57,41 +57,41 @@ public class ConsolidationDataUtil { * @return the compute template consolidation data */ public static ComputeTemplateConsolidationData getComputeTemplateConsolidationData( - TranslationContext context, - ServiceTemplate serviceTemplate, - String computeNodeType, - String computeNodeTemplateId) { + TranslationContext context, + ServiceTemplate serviceTemplate, + String computeNodeType, + String computeNodeTemplateId) { ConsolidationData consolidationData = context.getConsolidationData(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); ComputeConsolidationData computeConsolidationData = consolidationData - .getComputeConsolidationData(); + .getComputeConsolidationData(); FileComputeConsolidationData fileComputeConsolidationData = computeConsolidationData - .getFileComputeConsolidationData(serviceTemplateFileName); + .getFileComputeConsolidationData(serviceTemplateFileName); if (fileComputeConsolidationData == null) { fileComputeConsolidationData = new FileComputeConsolidationData(); computeConsolidationData.setFileComputeConsolidationData(serviceTemplateFileName, - fileComputeConsolidationData); + fileComputeConsolidationData); } TypeComputeConsolidationData typeComputeConsolidationData = fileComputeConsolidationData - .getTypeComputeConsolidationData(computeNodeType); + .getTypeComputeConsolidationData(computeNodeType); if (typeComputeConsolidationData == null) { typeComputeConsolidationData = new TypeComputeConsolidationData(); fileComputeConsolidationData.setTypeComputeConsolidationData(computeNodeType, - typeComputeConsolidationData); + typeComputeConsolidationData); } ComputeTemplateConsolidationData computeTemplateConsolidationData = - typeComputeConsolidationData.getComputeTemplateConsolidationData(computeNodeTemplateId); + typeComputeConsolidationData.getComputeTemplateConsolidationData(computeNodeTemplateId); if (computeTemplateConsolidationData == null) { computeTemplateConsolidationData = new ComputeTemplateConsolidationData(); computeTemplateConsolidationData.setNodeTemplateId(computeNodeTemplateId); typeComputeConsolidationData.setComputeTemplateConsolidationData(computeNodeTemplateId, - computeTemplateConsolidationData); + computeTemplateConsolidationData); } return computeTemplateConsolidationData; @@ -107,9 +107,9 @@ public class ConsolidationDataUtil { * @return the port template consolidation data */ public static PortTemplateConsolidationData getPortTemplateConsolidationData( - TranslationContext context, - ServiceTemplate serviceTemplate, - String portNodeTemplateId) { + TranslationContext context, + ServiceTemplate serviceTemplate, + String portNodeTemplateId) { ConsolidationData consolidationData = context.getConsolidationData(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); @@ -117,21 +117,21 @@ public class ConsolidationDataUtil { PortConsolidationData portConsolidationData = consolidationData.getPortConsolidationData(); FilePortConsolidationData filePortConsolidationData = portConsolidationData - .getFilePortConsolidationData(serviceTemplateFileName); + .getFilePortConsolidationData(serviceTemplateFileName); if (filePortConsolidationData == null) { filePortConsolidationData = new FilePortConsolidationData(); portConsolidationData.setFilePortConsolidationData(serviceTemplateFileName, - filePortConsolidationData); + filePortConsolidationData); } PortTemplateConsolidationData portTemplateConsolidationData = - filePortConsolidationData.getPortTemplateConsolidationData(portNodeTemplateId); + filePortConsolidationData.getPortTemplateConsolidationData(portNodeTemplateId); if (portTemplateConsolidationData == null) { portTemplateConsolidationData = new PortTemplateConsolidationData(); portTemplateConsolidationData.setNodeTemplateId(portNodeTemplateId); filePortConsolidationData.setPortTemplateConsolidationData(portNodeTemplateId, - portTemplateConsolidationData); + portTemplateConsolidationData); } return portTemplateConsolidationData; @@ -147,40 +147,40 @@ public class ConsolidationDataUtil { *@param nestedNodeTemplateId the nested node template id @return the nested template consolidation data */ public static NestedTemplateConsolidationData getNestedTemplateConsolidationData( - TranslationContext context, - ServiceTemplate serviceTemplate, - String nestedHeatFileName, String nestedNodeTemplateId) { + TranslationContext context, + ServiceTemplate serviceTemplate, + String nestedHeatFileName, String nestedNodeTemplateId) { if(isNestedResourceIdOccuresInDifferentNestedFiles(context, nestedHeatFileName, - nestedNodeTemplateId)){ + nestedNodeTemplateId)){ throw new CoreException((new ErrorCode.ErrorCodeBuilder()) - .withMessage("Resource with id " - + nestedNodeTemplateId + " occures more than once in different addOn " - + "files").build()); + .withMessage("Resource with id " + + nestedNodeTemplateId + " occures more than once in different addOn " + + "files").build()); } ConsolidationData consolidationData = context.getConsolidationData(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); NestedConsolidationData nestedConsolidationData = consolidationData - .getNestedConsolidationData(); + .getNestedConsolidationData(); FileNestedConsolidationData fileNestedConsolidationData = nestedConsolidationData - .getFileNestedConsolidationData(serviceTemplateFileName); + .getFileNestedConsolidationData(serviceTemplateFileName); if (fileNestedConsolidationData == null) { fileNestedConsolidationData = new FileNestedConsolidationData(); nestedConsolidationData.setFileNestedConsolidationData(serviceTemplateFileName, - fileNestedConsolidationData); + fileNestedConsolidationData); } NestedTemplateConsolidationData nestedTemplateConsolidationData = - fileNestedConsolidationData.getNestedTemplateConsolidationData(nestedNodeTemplateId); + fileNestedConsolidationData.getNestedTemplateConsolidationData(nestedNodeTemplateId); if (nestedTemplateConsolidationData == null) { nestedTemplateConsolidationData = new NestedTemplateConsolidationData(); nestedTemplateConsolidationData.setNodeTemplateId(nestedNodeTemplateId); fileNestedConsolidationData.setNestedTemplateConsolidationData(nestedNodeTemplateId, - nestedTemplateConsolidationData); + nestedTemplateConsolidationData); } return nestedTemplateConsolidationData; @@ -199,7 +199,7 @@ public class ConsolidationDataUtil { * @param translatedGroupId Group id of which compute node is a part */ public static void updateGroupIdInConsolidationData(EntityConsolidationData - entityConsolidationData, + entityConsolidationData, String translatedGroupId) { if (entityConsolidationData.getGroupIds() == null) { entityConsolidationData.setGroupIds(new ArrayList<>()); @@ -220,12 +220,12 @@ public class ConsolidationDataUtil { String computeNodeTemplateId, String requirementId, RequirementAssignment - requirementAssignment) { + requirementAssignment) { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); ComputeTemplateConsolidationData computeTemplateConsolidationData = - getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeType, - computeNodeTemplateId); + getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeType, + computeNodeTemplateId); computeTemplateConsolidationData.addVolume(requirementId, requirementAssignment); } @@ -243,8 +243,8 @@ public class ConsolidationDataUtil { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); ComputeTemplateConsolidationData computeTemplateConsolidationData = - getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeNodeType, - translateTo.getTranslatedId()); + getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeNodeType, + translateTo.getTranslatedId()); computeTemplateConsolidationData.addPort(getPortType(portNodeTemplateId), portNodeTemplateId); // create port in consolidation data getPortTemplateConsolidationData(translationContext, serviceTemplate, portNodeTemplateId); @@ -264,34 +264,42 @@ public class ConsolidationDataUtil { RequirementAssignment requirementAssignment) { ConsolidationEntityType consolidationEntityType = ConsolidationEntityType.OTHER; HeatOrchestrationTemplate heatOrchestrationTemplate = translateTo - .getHeatOrchestrationTemplate(); + .getHeatOrchestrationTemplate(); TranslationContext translationContext = translateTo.getContext(); consolidationEntityType.setEntityType(heatOrchestrationTemplate, sourceResource, - targetResource, translateTo.getContext()); + targetResource, translateTo.getContext()); // Add resource dependency information in nodesConnectedIn if the target node // is a consolidation entity if (isConsolidationEntity(consolidationEntityType.getTargetEntityType())) { ConsolidationDataUtil.updateNodesConnectedIn(translateTo, - nodeTemplateId, consolidationEntityType.getTargetEntityType(), targetResourceId, - requirementId, requirementAssignment); + nodeTemplateId, consolidationEntityType.getTargetEntityType(), targetResourceId, + requirementId, requirementAssignment); } //Add resource dependency information in nodesConnectedOut if the source node //is a consolidation entity if (isConsolidationEntity(consolidationEntityType.getSourceEntityType())) { ConsolidationDataUtil.updateNodesConnectedOut(translateTo, - requirementAssignment.getNode(), consolidationEntityType.getSourceEntityType(), - requirementId, requirementAssignment); + requirementAssignment.getNode(), consolidationEntityType.getSourceEntityType(), + requirementId, requirementAssignment); + ConsolidationDataUtil.updateNodesConnectedOut(translateTo, + requirementAssignment.getNode(), consolidationEntityType.getSourceEntityType(), + requirementId + "_" + nodeTemplateId, requirementAssignment); + + translationContext.addSubMappingReqAssignment(ToscaUtil.getServiceTemplateFileName + (translateTo.getServiceTemplate()), + requirementAssignment, requirementId + "_" + nodeTemplateId); + } } private static boolean isConsolidationEntity(ConsolidationEntityType consolidationEntityType) { return (consolidationEntityType == ConsolidationEntityType.COMPUTE - || consolidationEntityType == ConsolidationEntityType.PORT - || consolidationEntityType == ConsolidationEntityType.NESTED - || consolidationEntityType == ConsolidationEntityType.VFC_NESTED); + || consolidationEntityType == ConsolidationEntityType.PORT + || consolidationEntityType == ConsolidationEntityType.NESTED + || consolidationEntityType == ConsolidationEntityType.VFC_NESTED); } /** @@ -312,18 +320,18 @@ public class ConsolidationDataUtil { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); RequirementAssignmentData requirementAssignmentData = new RequirementAssignmentData( - requirementId, requirementAssignment); + requirementId, requirementAssignment); if (consolidationEntityType == ConsolidationEntityType.COMPUTE) { String nodeType = DataModelUtil.getNodeTemplate(serviceTemplate, translateTo - .getTranslatedId()).getType(); + .getTranslatedId()).getType(); entityConsolidationData = getComputeTemplateConsolidationData(translationContext, - serviceTemplate, nodeType, translateTo.getTranslatedId()); + serviceTemplate, nodeType, translateTo.getTranslatedId()); } else if (consolidationEntityType == ConsolidationEntityType.PORT) { entityConsolidationData = getPortTemplateConsolidationData(translationContext, - serviceTemplate, translateTo.getTranslatedId()); + serviceTemplate, translateTo.getTranslatedId()); } else if (consolidationEntityType == ConsolidationEntityType.VFC_NESTED - || consolidationEntityType == ConsolidationEntityType.NESTED) { + || consolidationEntityType == ConsolidationEntityType.NESTED) { //ConnectedOut data for nested is not updated return; } @@ -333,8 +341,8 @@ public class ConsolidationDataUtil { } entityConsolidationData.getNodesConnectedOut() - .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); + .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); } /** @@ -355,34 +363,34 @@ public class ConsolidationDataUtil { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); RequirementAssignmentData requirementAssignmentData = new RequirementAssignmentData( - requirementId, requirementAssignment); + requirementId, requirementAssignment); String dependentNodeTemplateId = requirementAssignment.getNode(); if (consolidationEntityType == ConsolidationEntityType.COMPUTE) { NodeTemplate computeNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - dependentNodeTemplateId); + dependentNodeTemplateId); String nodeType = null; if (Objects.isNull(computeNodeTemplate)) { Resource targetResource = - translateTo.getHeatOrchestrationTemplate().getResources().get(targetResourceId); + translateTo.getHeatOrchestrationTemplate().getResources().get(targetResourceId); NameExtractor nodeTypeNameExtractor = - translateTo.getContext().getNameExtractorImpl(targetResource.getType()); + translateTo.getContext().getNameExtractorImpl(targetResource.getType()); nodeType = - nodeTypeNameExtractor.extractNodeTypeName(translateTo.getHeatOrchestrationTemplate() - .getResources().get(dependentNodeTemplateId), - dependentNodeTemplateId, dependentNodeTemplateId); + nodeTypeNameExtractor.extractNodeTypeName(translateTo.getHeatOrchestrationTemplate() + .getResources().get(dependentNodeTemplateId), + dependentNodeTemplateId, dependentNodeTemplateId); } else { nodeType = computeNodeTemplate.getType(); } entityConsolidationData = getComputeTemplateConsolidationData(translationContext, - serviceTemplate, nodeType, dependentNodeTemplateId); + serviceTemplate, nodeType, dependentNodeTemplateId); } else if (consolidationEntityType == ConsolidationEntityType.PORT) { entityConsolidationData = getPortTemplateConsolidationData(translationContext, - serviceTemplate, dependentNodeTemplateId); + serviceTemplate, dependentNodeTemplateId); } else if (consolidationEntityType == ConsolidationEntityType.NESTED - || consolidationEntityType == ConsolidationEntityType.VFC_NESTED) { + || consolidationEntityType == ConsolidationEntityType.VFC_NESTED) { entityConsolidationData = getNestedTemplateConsolidationData(translationContext, - serviceTemplate, translateTo.getHeatFileName(), dependentNodeTemplateId); + serviceTemplate, translateTo.getHeatFileName(), dependentNodeTemplateId); } if (entityConsolidationData.getNodesConnectedIn() == null) { @@ -390,8 +398,8 @@ public class ConsolidationDataUtil { } entityConsolidationData.getNodesConnectedIn() - .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); + .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); } @@ -406,7 +414,7 @@ public class ConsolidationDataUtil { String resourceId) { String resourceType = heatOrchestrationTemplate.getResources().get(resourceId).getType(); Map<String, ImplementationConfiguration> supportedComputeResources = TranslationContext - .getSupportedConsolidationComputeResources(); + .getSupportedConsolidationComputeResources(); if (supportedComputeResources.containsKey(resourceType)) { if (supportedComputeResources.get(resourceType).isEnable()) { return true; @@ -425,7 +433,7 @@ public class ConsolidationDataUtil { public static boolean isComputeResource(Resource resource) { String resourceType = resource.getType(); Map<String, ImplementationConfiguration> supportedComputeResources = TranslationContext - .getSupportedConsolidationComputeResources(); + .getSupportedConsolidationComputeResources(); if (supportedComputeResources.containsKey(resourceType)) { if (supportedComputeResources.get(resourceType).isEnable()) { return true; @@ -446,7 +454,7 @@ public class ConsolidationDataUtil { String resourceId) { String resourceType = heatOrchestrationTemplate.getResources().get(resourceId).getType(); Map<String, ImplementationConfiguration> supportedPortResources = TranslationContext - .getSupportedConsolidationPortResources(); + .getSupportedConsolidationPortResources(); if (supportedPortResources.containsKey(resourceType)) { if (supportedPortResources.get(resourceType).isEnable()) { return true; @@ -465,7 +473,7 @@ public class ConsolidationDataUtil { public static boolean isPortResource(Resource resource) { String resourceType = resource.getType(); Map<String, ImplementationConfiguration> supportedPortResources = TranslationContext - .getSupportedConsolidationPortResources(); + .getSupportedConsolidationPortResources(); if (supportedPortResources.containsKey(resourceType)) { if (supportedPortResources.get(resourceType).isEnable()) { return true; @@ -486,8 +494,8 @@ public class ConsolidationDataUtil { String resourceId) { String resourceType = heatOrchestrationTemplate.getResources().get(resourceId).getType(); return (resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE.getHeatResource()) - || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE - .getHeatResource())); + || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE + .getHeatResource())); } /** @@ -499,8 +507,8 @@ public class ConsolidationDataUtil { public static boolean isVolumeResource(Resource resource) { String resourceType = resource.getType(); return (resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE.getHeatResource()) - || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE - .getHeatResource())); + || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE + .getHeatResource())); } /** @@ -541,7 +549,7 @@ public class ConsolidationDataUtil { TranslationContext context = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); getNestedTemplateConsolidationData( - context, serviceTemplate, translateTo.getHeatFileName(), translateTo.getTranslatedId()); + context, serviceTemplate, translateTo.getHeatFileName(), translateTo.getTranslatedId()); } public static void removeSharedResource(ServiceTemplate serviceTemplate, @@ -551,23 +559,23 @@ public class ConsolidationDataUtil { String contrailSharedResourceId, String sharedTranslatedResourceId) { if (ConsolidationDataUtil.isComputeResource(heatOrchestrationTemplate, - contrailSharedResourceId)) { + contrailSharedResourceId)) { NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - sharedTranslatedResourceId); + sharedTranslatedResourceId); EntityConsolidationData entityConsolidationData = getComputeTemplateConsolidationData( - context, serviceTemplate, nodeTemplate.getType(), sharedTranslatedResourceId); + context, serviceTemplate, nodeTemplate.getType(), sharedTranslatedResourceId); List<GetAttrFuncData> getAttrFuncDataList = entityConsolidationData - .getOutputParametersGetAttrIn(); + .getOutputParametersGetAttrIn(); removeParamNameFromAttrFuncList(paramName, getAttrFuncDataList); } if (ConsolidationDataUtil.isPortResource(heatOrchestrationTemplate, - contrailSharedResourceId)) { + contrailSharedResourceId)) { NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - sharedTranslatedResourceId); + sharedTranslatedResourceId); EntityConsolidationData entityConsolidationData = getPortTemplateConsolidationData(context, - serviceTemplate, sharedTranslatedResourceId); + serviceTemplate, sharedTranslatedResourceId); List<GetAttrFuncData> getAttrFuncDataList = entityConsolidationData - .getOutputParametersGetAttrIn(); + .getOutputParametersGetAttrIn(); removeParamNameFromAttrFuncList(paramName, getAttrFuncDataList); } } @@ -604,7 +612,7 @@ public class ConsolidationDataUtil { } public static void updateOutputGetAttributeInConsolidationData(EntityConsolidationData - entityConsolidationData, + entityConsolidationData, String outputParameterName, String attributeName) { |