From 303406052243b43ea98b83e6579dc05c6eec9a4e Mon Sep 17 00:00:00 2001 From: talio Date: Tue, 17 Oct 2017 12:08:49 +0300 Subject: Healing fixed CompositionDataHealer - send non unified data model to extract, instead of the unified one Issue - Id : SDC-473 Change-Id: I39ed1cb06f8a3b533f5ecd7fdc8a81187ea3b075 Signed-off-by: talio --- .../sdc/healing/healers/CompositionDataHealer.java | 95 ++++++---------------- 1 file changed, 27 insertions(+), 68 deletions(-) (limited to 'openecomp-be/lib/openecomp-healing-lib') diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java index e3701743ec..6fc8cfef61 100644 --- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java +++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java @@ -21,6 +21,8 @@ package org.openecomp.sdc.healing.healers; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; import org.openecomp.core.model.dao.ServiceModelDao; import org.openecomp.core.model.dao.ServiceModelDaoFactory; import org.openecomp.core.model.types.ServiceElement; @@ -114,72 +116,36 @@ public class CompositionDataHealer implements Healer { Collection networkEntities = networkDao.list(new NetworkEntity(vspId, version, null)); - Optional serviceModelForHealing = getServiceModelForHealing(vspId, version); + Optional> serviceModels = + getServiceModelForHealing(vspId, version); CompositionData compositionData = null; - if (!doesVspNeedCompositionDataHealing(vspId, version, componentEntities, networkEntities, - nicEntities)) { + if (!doesVspNeedCompositionDataHealing(componentEntities, networkEntities, nicEntities)) { updateComponentsDisplayNames(componentEntities); mdcDataDebugMessage.debugExitMessage(null, null); - //return Optional.empty(); } else { - if (!serviceModelForHealing.isPresent()) { + if (!serviceModels.isPresent()) { mdcDataDebugMessage.debugExitMessage(null, null); return Optional.empty(); } - compositionData = healCompositionData(vspId, version, serviceModelForHealing); + compositionData = serviceModels.isPresent() ? healCompositionData(vspId, version, + serviceModels.get()) : null; } - compositionData = - getCompositionDataForHealing(vspId, version, serviceModelForHealing.get()); - HealNfodData(vspId, version, compositionData); - mdcDataDebugMessage.debugExitMessage(null, null); - return Optional.of(compositionData); - } - - private boolean doesVspNeedCompositionDataHealing(String vspId, Version version, - Collection componentEntities, - Collection networkEntities, - Collection nicEntities) { - - return (CollectionUtils.isEmpty(componentEntities) && CollectionUtils.isEmpty(nicEntities) && - CollectionUtils.isEmpty(networkEntities) ); - -// mdcDataDebugMessage.debugEntryMessage(null, null); -// -//// ToscaServiceModel toscaServiceModel; -// -// ByteBuffer contentData = uploadData.getContentData(); -// FileContentHandler fileContentHandler = CommonUtil.validateAndUploadFileContent(uploadData -// .getContentData().array()); -// -// -// -// TranslatorOutput translatorOutput = -// HeatToToscaUtil.loadAndTranslateTemplateData(fileContentHandler); -// ToscaServiceModel toscaServiceModel = translatorOutput.getToscaServiceModel(); -// -//// toscaServiceModel = enrichedServiceModelDao.getServiceModel(vspId, version); -// -// mdcDataDebugMessage.debugExitMessage(null, null); -// return toscaServiceModel; + if(serviceModels.isPresent()) { + compositionData = + getCompositionDataForHealing(vspId, version, serviceModels.get()); + HealNfodData(vspId, version, compositionData); + } + mdcDataDebugMessage.debugExitMessage(null, null); + return Optional.ofNullable(compositionData); } private void HealNfodData(String vspId, Version version, CompositionData compositionData) { Collection componentEntities; - /*componentEntities = - vendorSoftwareProductDao.listComponents(vspId, version);*/ componentEntities = componentDao.list(new ComponentEntity(vspId, version, null)); - /*Collection computeEntities=vendorSoftwareProductDao.listComputesByVsp(vspId, - version); - Collection imageEntities =vendorSoftwareProductDao.listImagesByVsp(vspId, version); - Collection deploymentFlavorEntities =vendorSoftwareProductDao - .listDeploymentFlavors(vspId, version);*/ - Collection computeEntities = computeDao.listByVsp(vspId, version); Collection imageEntities = imageDao.listByVsp(vspId, version); - //Collection deploymentFlavorEntities = deloymentFlavorDao.list(new - //DeploymentFlavorEntity(vspId, version, null)); if (CollectionUtils.isEmpty(computeEntities) && CollectionUtils.isEmpty(imageEntities)) { for (Component component : compositionData.getComponents()) { @@ -198,17 +164,12 @@ public class CompositionDataHealer implements Healer { } } - - /*if (CollectionUtils.isEmpty(deploymentFlavorEntities)) { - compositionEntityDataManager.saveDeploymentFlavors(vspId,version,compositionData); - }*/ } private CompositionData healCompositionData(String vspId, Version version, - Optional serviceModelForHealing) { - ToscaServiceModel toscaServiceModel = serviceModelForHealing.get(); + Pair toscaServiceModels) { CompositionData compositionData = - getCompositionDataForHealing(vspId, version, toscaServiceModel); + getCompositionDataForHealing(vspId, version, toscaServiceModels); compositionEntityDataManager.saveCompositionData(vspId, version, compositionData); return compositionData; } @@ -222,19 +183,16 @@ public class CompositionDataHealer implements Healer { } private CompositionData getCompositionDataForHealing(String vspId, Version version, - ToscaServiceModel toscaServiceModel) { + Pair toscaServiceModels) { mdcDataDebugMessage.debugEntryMessage(null); - if (Objects.isNull(toscaServiceModel)) { + if (Objects.isNull(toscaServiceModels)) { return null; } - CompositionData compositionData = new CompositionData(); - if (Objects.nonNull(toscaServiceModel)) { - compositionData = compositionDataExtractor - .extractServiceCompositionData(toscaServiceModel); - serviceModelDao.storeServiceModel(vspId, version, toscaServiceModel); - } + CompositionData compositionData = compositionDataExtractor + .extractServiceCompositionData(toscaServiceModels.getRight()); + serviceModelDao.storeServiceModel(vspId, version, toscaServiceModels.getLeft()); mdcDataDebugMessage.debugExitMessage(null); return compositionData; @@ -269,12 +227,12 @@ public class CompositionDataHealer implements Healer { } - private Optional getServiceModelForHealing(String vspId, Version version) + private Optional> getServiceModelForHealing(String + vspId, Version + version) throws IOException { mdcDataDebugMessage.debugEntryMessage("VSP id", vspId); - /*UploadDataEntity uploadData = - vendorSoftwareProductDao.getUploadData(new UploadDataEntity(vspId, version));*/ UploadDataEntity uploadData = orchestrationTemplateDataDao.getOrchestrationTemplate(vspId, version); @@ -297,7 +255,8 @@ public class CompositionDataHealer implements Healer { } mdcDataDebugMessage.debugExitMessage("VSP id", vspId); - return Optional.of(translatorOutput.getToscaServiceModel()); + return Optional.of(new ImmutablePair<>(translatorOutput.getToscaServiceModel(), translatorOutput + .getNonUnifiedToscaServiceModel())); } private TranslatorOutput getTranslatorOutputForHealing(UploadDataEntity uploadData) { -- cgit 1.2.3-korg