}
- void mainServiceTemplateConsolidation(ServiceTemplate serviceTemplate,
- TranslationContext translationContext) {
+ void serviceTemplateConsolidation(ServiceTemplate serviceTemplate,
+ TranslationContext translationContext) {
ConsolidationData consolidationData = translationContext.getConsolidationData();
}
- private Map<String, String> getConsolidationEntityIdToType(ServiceTemplate serviceTemplate,
+ public static Map<String, String> getConsolidationEntityIdToType(ServiceTemplate serviceTemplate,
ConsolidationData consolidationData) {
Map<String, String> consolidationEntityIdToType = new HashMap<>();
FilePortConsolidationData filePortConsolidationData =
consolidationData.getPortConsolidationData()
.getFilePortConsolidationData(serviceTemplateFileName);
-
- for (String computeType : fileComputeConsolidationData.getAllComputeTypes()) {
- TypeComputeConsolidationData typeComputeConsolidationData =
- fileComputeConsolidationData.getTypeComputeConsolidationData(computeType);
- Set<String> computeNodeTemplateIds =
- typeComputeConsolidationData.getAllComputeNodeTemplateIds();
- for (String computeNodeTemplateId : computeNodeTemplateIds) {
- consolidationEntityIdToType.put(computeNodeTemplateId, computeType);
+ if(Objects.nonNull(fileComputeConsolidationData)) {
+ for (String computeType : fileComputeConsolidationData.getAllComputeTypes()) {
+ TypeComputeConsolidationData typeComputeConsolidationData =
+ fileComputeConsolidationData.getTypeComputeConsolidationData(computeType);
+ Set<String> computeNodeTemplateIds =
+ typeComputeConsolidationData.getAllComputeNodeTemplateIds();
+ for (String computeNodeTemplateId : computeNodeTemplateIds) {
+ consolidationEntityIdToType.put(computeNodeTemplateId, computeType);
+ }
}
}
- Set<String> portNodeTemplateIds = filePortConsolidationData.getAllPortNodeTemplateIds();
- for (String portNodeTemplateId : portNodeTemplateIds) {
- consolidationEntityIdToType
- .put(portNodeTemplateId, ConsolidationDataUtil.getPortType(portNodeTemplateId));
+ if(Objects.nonNull(filePortConsolidationData)) {
+ Set<String> portNodeTemplateIds = filePortConsolidationData.getAllPortNodeTemplateIds();
+ for (String portNodeTemplateId : portNodeTemplateIds) {
+ consolidationEntityIdToType
+ .put(portNodeTemplateId, ConsolidationDataUtil.getPortType(portNodeTemplateId));
+ }
}
return consolidationEntityIdToType;
return new ArrayList<>(firstMap.values()).equals(new ArrayList<>(secondMap.values()));
}
- private Set<GetAttrFuncData> getEntityGetAttrFuncAsSet(String portType,
- EntityConsolidationData entityConsolidationData) {
+ private Set<GetAttrFuncData> getEntityGetAttrFuncAsSet(
+ String portType,
+ EntityConsolidationData entityConsolidationData) {
Set<GetAttrFuncData> getAttrFuncDataFromPortsWithSameType = new HashSet<>();
Map<String, List<GetAttrFuncData>> nodesGetAttrOut =
private boolean checkGroupIdsRelations(EntityConsolidationData startingEntity,
EntityConsolidationData currentEntity) {
- if (CollectionUtils.isEmpty(startingEntity.getGroupIds()) &&
- CollectionUtils.isEmpty(currentEntity.getGroupIds())) {
+ if (CollectionUtils.isEmpty(startingEntity.getGroupIds())
+ && CollectionUtils.isEmpty(currentEntity.getGroupIds())) {
return true;
}
}
public void substitutionServiceTemplateConsolidation(String substituteNodeTemplateId,
- ServiceTemplate mainServiceTemplate,
+ ServiceTemplate serviceTemplate,
ServiceTemplate substitutionServiceTemplate,
TranslationContext translationContext) {
translationContext.getConsolidationData().getComputeConsolidationData()
.getFileComputeConsolidationData(
ToscaUtil.getServiceTemplateFileName(substitutionServiceTemplate));
- boolean consolidationRuleResult =
+ boolean substitutionConsolidationRuleResult =
substitutionServiceTemplateConsolidationRule(substitutionServiceTemplate,
fileComputeConsolidationData, translationContext);
- if (consolidationRuleResult) {
+ if (substitutionConsolidationRuleResult) {
List<UnifiedCompositionData> unifiedCompositionDataList =
createSubstitutionUnifiedCompositionDataList(substituteNodeTemplateId,
- mainServiceTemplate, consolidationData);
+ serviceTemplate, consolidationData);
unifiedCompositionService
- .createUnifiedComposition(mainServiceTemplate, substitutionServiceTemplate,
+ .createUnifiedComposition(serviceTemplate, substitutionServiceTemplate,
unifiedCompositionDataList, UnifiedCompositionMode.NestedSingleCompute,
translationContext);
} else {
- //The node template does not qualify for unified composition
+ //The node template does not represent unified VFC but complexVFC
//Adding the id in the context for fixing connectivity from/to nested non-unified nodes
translationContext.addUnifiedNestedNodeTemplateId(ToscaUtil
- .getServiceTemplateFileName(mainServiceTemplate),
+ .getServiceTemplateFileName(serviceTemplate),
substituteNodeTemplateId, substituteNodeTemplateId);
+
+ if (!translationContext.isUnifiedHandledServiceTemplate(substitutionServiceTemplate)) {
+ serviceTemplateConsolidation(substitutionServiceTemplate, translationContext);
+ }
}
}
.getFileNestedConsolidationData(ToscaUtil.getServiceTemplateFileName(serviceTemplate));
if (Objects.nonNull(fileNestedConsolidationData)) {
- Collection<NestedTemplateConsolidationData> nestedConsolidationDatas =
- fileNestedConsolidationData.getAllNestedConsolidationData();
-
- for (NestedTemplateConsolidationData nested : nestedConsolidationDatas) {
- if (nested.getNodeTemplateId().equals(substituteNodeTemplateId)) {
- UnifiedCompositionData unifiedCompositionData = new UnifiedCompositionData();
- unifiedCompositionData.setNestedTemplateConsolidationData(nested);
- unifiedCompositionDataList.add(unifiedCompositionData);
- }
- }
+ NestedTemplateConsolidationData nestedTemplateConsolidationData =
+ fileNestedConsolidationData.getNestedTemplateConsolidationData(substituteNodeTemplateId);
+ UnifiedCompositionData unifiedCompositionData = new UnifiedCompositionData();
+ unifiedCompositionData.setNestedTemplateConsolidationData(nestedTemplateConsolidationData);
+ unifiedCompositionDataList.add(unifiedCompositionData);
+ return unifiedCompositionDataList;
}
return unifiedCompositionDataList;
}
- private boolean consolidationPreCondition(ServiceTemplate serviceTemplate,
- ConsolidationData consolidationData,
- TypeComputeConsolidationData typeComputeConsolidationData) {
+ private boolean consolidationPreCondition(
+ ServiceTemplate serviceTemplate,
+ ConsolidationData consolidationData,
+ TypeComputeConsolidationData typeComputeConsolidationData) {
return (isThereMoreThanOneComputeTypeInstance(typeComputeConsolidationData)
&& isNumberOfPortsEqualsBetweenComputeNodes(typeComputeConsolidationData)