summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java')
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java202
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java271
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java91
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java145
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java79
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java42
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java127
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java246
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java67
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java92
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java86
11 files changed, 0 insertions, 1448 deletions
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java
deleted file mode 100644
index 83395e015a..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import org.apache.commons.lang3.StringUtils;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Collection;
-import java.util.Objects;
-
-
-public class ComponentQuestionnaireHealer implements Healer {
-
- private static final String GENERAL = "general";
- private static final String IMAGE = "image";
- private static final String FORMAT = "format";
- private static final String CPU_OVER_SUBSCRIPTION_RATIO = "CpuOverSubscriptionRatio";
- private static final String MEMORY_RAM = "MemoryRAM";
- private static final String VM_SIZING = "vmSizing";
- private static final String COMPUTE = "compute";
- private static final String NUM_OF_VMS = "numOfVMs";
- private static final String DISK = "disk";
- private static final String IO_OP_PER_SEC = "IOOperationsPerSec";
- private static final String COMPUTE_CPU_OVER_SUBSCRIPTION_RATIO = "cpuOverSubscriptionRatio";
- private static final String COMPUTE_MEMORY_RAM = "memoryRAM";
- private static final String COMPUTE_IO_OP_PER_SEC = "ioOperationsPerSec";
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
- private final ComponentDao componentDao;
- private final ComputeDao computeDao;
- private final ImageDao imageDao;
-
- public ComponentQuestionnaireHealer() {
- this.componentDao = ComponentDaoFactory.getInstance().createInterface();
- this.computeDao = ComputeDaoFactory.getInstance().createInterface();
- this.imageDao = ImageDaoFactory.getInstance().createInterface();
- }
-
- public ComponentQuestionnaireHealer(ComponentDao componentDao,
- ComputeDao computeDao, ImageDao imageDao) {
- this.componentDao = componentDao;
- this.computeDao = computeDao;
- this.imageDao = imageDao;
- }
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
- mdcDataDebugMessage.debugEntryMessage("VSP ID", vspId);
-
- Collection<ComponentEntity> componentEntities =
- componentDao.list(new ComponentEntity(vspId, version, null));
- componentEntities.forEach(componentEntity -> {
- ComponentEntity componentQuestionnaireData =
- componentDao.getQuestionnaireData(vspId, version, componentEntity.getId());
- String questionnaire = Objects.isNull(componentQuestionnaireData) ? null
- : componentQuestionnaireData.getQuestionnaireData();
-
- if (StringUtils.isNotBlank(questionnaire)) {
- JsonParser jsonParser = new JsonParser();
- JsonObject json = (JsonObject) jsonParser.parse(questionnaire);
-
- Collection<ComputeEntity> computeEntities = computeDao.list(new ComputeEntity(vspId,
- version, componentEntity.getId(), null));
- populateComputeQuestionnaire(json, computeEntities);
-
- Collection<ImageEntity> imageEntities = imageDao.list(new ImageEntity(vspId,
- version, componentEntity.getId(), null));
- populateImageQuestionnaire(json, imageEntities);
-
- processDiskAttribute(json, "bootDiskSizePerVM");
- processDiskAttribute(json, "ephemeralDiskSizePerVM");
-
- String questionnaireData = json.toString();
- componentEntity.setQuestionnaireData(questionnaireData); //Added to validate data in Junit
-
- componentDao.updateQuestionnaireData(vspId, version, componentEntity.getId(),
- questionnaireData);
- }
- });
- return componentEntities;
- }
-
- /**
- * Move Disk Atributes from genral/image/ to genral/disk in component questionnaire itself
- *
- * @param json Component Json
- * @param diskAttrName Name of disk attribute
- */
- private void processDiskAttribute(JsonObject json, String diskAttrName) {
- boolean isBootDisksizePerVM = isDiskAttributePresent(json, diskAttrName);
- if (isBootDisksizePerVM) {
- JsonObject diskJsonObject = json.getAsJsonObject(GENERAL).getAsJsonObject(DISK);
- if (diskJsonObject == null) {
- diskJsonObject = new JsonObject();
- }
-
- diskJsonObject.addProperty(diskAttrName, json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE)
- .get(diskAttrName).getAsNumber());
-
- json.getAsJsonObject(GENERAL).add(DISK, diskJsonObject);
- json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE).remove(diskAttrName);
- }
- }
-
- private boolean isDiskAttributePresent(JsonObject json, String diskAttrName) {
- return json.getAsJsonObject(GENERAL) != null
- && json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE) != null
- && json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE).get(diskAttrName)
- != null;
- }
-
- /**
- * Move the required attributes from component to Image Questionnaire
- *
- * @param json Component Json
- * @param imageEntities All images present in component
- */
- private void populateImageQuestionnaire(JsonObject json, Collection<ImageEntity> imageEntities) {
- JsonObject general = getJsonObject(json, GENERAL);
- boolean isImageFormat = general != null && json
- .getAsJsonObject(GENERAL)
- .getAsJsonObject(IMAGE) != null && json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE)
- .get(FORMAT) != null;
- if (isImageFormat) {
- JsonObject image = getJsonObject(general, IMAGE);
- JsonElement jsonElement = image.get(FORMAT);
- JsonObject jsonObject = new JsonObject();
- jsonObject.add(FORMAT, jsonElement);
- imageEntities.forEach(imageEntity -> imageDao.updateQuestionnaireData(imageEntity.getVspId(),
- imageEntity.getVersion(), imageEntity.getComponentId(),
- imageEntity.getId(), jsonObject.toString()));
- image.remove(FORMAT);
- }
- }
-
- private void populateComputeQuestionnaire(JsonObject json, Collection<ComputeEntity>
- computeEntities) {
- JsonObject compute = getJsonObject(json, COMPUTE);
- if (compute != null) {
- JsonObject vmSizing = handleVmSizing(compute);
- vmSizing = handleNumOfVm(compute, vmSizing);
-
- if (vmSizing != null) {
- JsonObject computeQuestionnaireJsonObject = new JsonObject();
- computeQuestionnaireJsonObject.add(VM_SIZING, vmSizing);
- String computeQuestionnaire = computeQuestionnaireJsonObject.toString();
- computeEntities.forEach(
- computeEntity -> computeDao.updateQuestionnaireData(computeEntity.getVspId(),
- computeEntity.getVersion(), computeEntity.getComponentId(),
- computeEntity.getId(), computeQuestionnaire));
- }
- }
- }
-
- private JsonObject handleVmSizing(JsonObject compute) {
- JsonObject vmSizing = getJsonObject(compute, VM_SIZING);
- if (vmSizing != null) {
- JsonElement ioOperationsPerSec = vmSizing.get(IO_OP_PER_SEC);
- if (ioOperationsPerSec != null) {
- vmSizing.addProperty(COMPUTE_IO_OP_PER_SEC, ioOperationsPerSec.getAsNumber());
- vmSizing.remove(IO_OP_PER_SEC);
- }
- compute.remove(VM_SIZING);
- }
- return vmSizing;
- }
-
- private JsonObject handleNumOfVm(JsonObject compute, JsonObject vmSizing) {
- JsonObject numberOfVms = getJsonObject(compute, NUM_OF_VMS);
- if (numberOfVms != null) {
- JsonElement cpuRatio = numberOfVms.get(CPU_OVER_SUBSCRIPTION_RATIO);
- JsonElement memoryRam = numberOfVms.get(MEMORY_RAM);
- if (vmSizing == null && (cpuRatio != null || memoryRam != null)) {
- vmSizing = new JsonObject();
- }
- if (cpuRatio != null) {
- vmSizing.addProperty(COMPUTE_CPU_OVER_SUBSCRIPTION_RATIO, cpuRatio.getAsString());
- numberOfVms.remove(CPU_OVER_SUBSCRIPTION_RATIO);
- }
- if (memoryRam != null) {
- vmSizing.addProperty(COMPUTE_MEMORY_RAM, memoryRam.getAsString());
- numberOfVms.remove(MEMORY_RAM);
- }
- }
- return vmSizing;
- }
-
- private JsonObject getJsonObject(JsonObject json, String name) {
- return json.getAsJsonObject(name);
- }
-}
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
deleted file mode 100644
index e7a5e30f2d..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-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;
-import org.openecomp.core.translator.datatypes.TranslatorOutput;
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionDataExtractorFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionDataExtractor;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Objects;
-import java.util.Optional;
-
-public class CompositionDataHealer implements Healer {
- private static final Version VERSION00 = new Version(0, 0);
- private static final Version VERSION01 = new Version(0, 1);
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- private static final OrchestrationTemplateDao orchestrationTemplateDataDao =
- OrchestrationTemplateDaoFactory.getInstance().createInterface();
-
- private static ComponentDao componentDao = ComponentDaoFactory.getInstance().createInterface();
- private static NicDao nicDao = NicDaoFactory.getInstance().createInterface();
- private static NetworkDao networkDao = NetworkDaoFactory.getInstance().createInterface();
- private static ComputeDao computeDao = ComputeDaoFactory.getInstance().createInterface();
- private static DeploymentFlavorDao deloymentFlavorDao = DeploymentFlavorDaoFactory.getInstance()
- .createInterface();
- private static ImageDao imageDao = ImageDaoFactory.getInstance().createInterface();
-
- private static final ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao =
- ServiceModelDaoFactory.getInstance().createInterface();
- private static CompositionDataExtractor compositionDataExtractor =
- CompositionDataExtractorFactory.getInstance().createInterface();
- private static CompositionEntityDataManager compositionEntityDataManager =
- CompositionEntityDataManagerFactory.getInstance().createInterface();
-
- private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
- public CompositionDataHealer() {
- }
-
- @Override
- public Optional<CompositionData> heal(String vspId,
- Version version) throws IOException {
- mdcDataDebugMessage.debugEntryMessage(null);
-
- Collection<ComponentEntity> componentEntities =
- componentDao.list(new ComponentEntity(vspId, version, null));
- Collection<NicEntity> nicEntities = nicDao.listByVsp(vspId, version);
- Collection<NetworkEntity> networkEntities =
- networkDao.list(new NetworkEntity(vspId, version, null));
-
- Optional<Pair<ToscaServiceModel, ToscaServiceModel>> serviceModels =
- getServiceModelForHealing(vspId, version);
- CompositionData compositionData = null;
- if (!doesVspNeedCompositionDataHealing(componentEntities, networkEntities, nicEntities)) {
- updateComponentsDisplayNames(componentEntities);
- mdcDataDebugMessage.debugExitMessage(null, null);
- } else {
- if (!serviceModels.isPresent()) {
- mdcDataDebugMessage.debugExitMessage(null, null);
- return Optional.empty();
- }
- compositionData = serviceModels.isPresent() ? healCompositionData(vspId, version,
- serviceModels.get()) : null;
- }
-
- 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<ComponentEntity> componentEntities;
- componentEntities = componentDao.list(new ComponentEntity(vspId, version, null));
-
- Collection<ComputeEntity> computeEntities = computeDao.listByVsp(vspId, version);
- Collection<ImageEntity> imageEntities = imageDao.listByVsp(vspId, version);
-
- if (CollectionUtils.isEmpty(computeEntities) && CollectionUtils.isEmpty(imageEntities)) {
- for (Component component : compositionData.getComponents()) {
- String componentId = null;
- for (ComponentEntity componentEntity : componentEntities) {
- if (componentEntity.getComponentCompositionData().getName().equals(component.getData()
- .getName())) {
- componentId = componentEntity.getId();
- break;
- }
- }
- compositionEntityDataManager.saveComputesFlavorByComponent(vspId, version, component,
- componentId);
- compositionEntityDataManager.saveImagesByComponent(vspId, version, component,
- componentId);
- }
-
- }
- }
-
- private CompositionData healCompositionData(String vspId, Version version,
- Pair<ToscaServiceModel, ToscaServiceModel> toscaServiceModels) {
- CompositionData compositionData =
- getCompositionDataForHealing(vspId, version, toscaServiceModels);
- compositionEntityDataManager.saveCompositionData(vspId, version, compositionData);
- return compositionData;
- }
-
- private boolean doesVspNeedCompositionDataHealing(Collection<ComponentEntity> componentEntities,
- Collection<NetworkEntity> networkEntities,
- Collection<NicEntity> nicEntities) {
-
- return (CollectionUtils.isEmpty(componentEntities) && CollectionUtils.isEmpty(nicEntities) &&
- CollectionUtils.isEmpty(networkEntities));
- }
-
- private CompositionData getCompositionDataForHealing(String vspId, Version version,
- Pair<ToscaServiceModel, ToscaServiceModel> toscaServiceModels) {
- mdcDataDebugMessage.debugEntryMessage(null);
-
- if (Objects.isNull(toscaServiceModels)) {
- return null;
- }
-
- CompositionData compositionData = compositionDataExtractor
- .extractServiceCompositionData(toscaServiceModels.getRight());
- serviceModelDao.storeServiceModel(vspId, version, toscaServiceModels.getLeft());
-
- mdcDataDebugMessage.debugExitMessage(null);
- return compositionData;
- }
-
- private void updateComponentsDisplayNames(Collection<ComponentEntity> componentEntities) {
- if (CollectionUtils.isEmpty(componentEntities)) {
- return;
- }
-
- for (ComponentEntity component : componentEntities) {
- updateComponentName(component);
- componentDao.update(component);
- }
- }
-
- private void updateComponentName(ComponentEntity component) {
- mdcDataDebugMessage.debugEntryMessage("VSP id, component id", component.getVspId(), component
- .getId());
-
- ComponentData componentData =
- JsonUtil.json2Object(component.getCompositionData(), ComponentData.class);
- componentData
- .setDisplayName(compositionDataExtractor.getComponentDisplayName(componentData.getName()));
- String displayName = componentData.getDisplayName();
- componentData.setName(componentData.getName().replace("com.att.d2", "org.openecomp"));
- componentData.setVfcCode(displayName);
- component.setCompositionData(JsonUtil.object2Json(componentData));
-
- mdcDataDebugMessage.debugExitMessage("VSP id, component id", component.getVspId(), component
- .getId());
-
- }
-
- private Optional<Pair<ToscaServiceModel, ToscaServiceModel>> getServiceModelForHealing(String
- vspId,
- Version
- version)
- throws IOException {
- mdcDataDebugMessage.debugEntryMessage("VSP id", vspId);
-
- /*OrchestrationTemplateEntity uploadData =
- vendorSoftwareProductDao.getUploadData(new OrchestrationTemplateEntity(vspId, version));*/
- OrchestrationTemplateEntity uploadData = orchestrationTemplateDataDao.get(vspId, version);
-
- if (Objects.isNull(uploadData) || Objects.isNull(uploadData.getContentData())) {
- return Optional.empty();
- }
-
- TranslatorOutput translatorOutput = getTranslatorOutputForHealing(uploadData);
-
- if (Objects.isNull(translatorOutput)) {
- return Optional.empty();
- }
-
- try {
- serviceModelDao.storeServiceModel(vspId, version,
- translatorOutput.getToscaServiceModel());
- } catch (Exception e) {
- log.debug("", e);
- return Optional.empty();
- }
-
- mdcDataDebugMessage.debugExitMessage("VSP id", vspId);
- return Optional.of(new ImmutablePair<>(translatorOutput.getToscaServiceModel(), translatorOutput
- .getNonUnifiedToscaServiceModel()));
- }
-
- private TranslatorOutput getTranslatorOutputForHealing(OrchestrationTemplateEntity uploadData) {
-
- FileContentHandler fileContentHandler;
- try {
- fileContentHandler =
- CommonUtil.validateAndUploadFileContent(
- OnboardingTypesEnum.ZIP, uploadData.getContentData().array());
- return HeatToToscaUtil.loadAndTranslateTemplateData(fileContentHandler);
- } catch (Exception e) {
- log.debug("", e);
- return null;
- }
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
deleted file mode 100644
index 96b91091ff..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright © 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CandidateServiceFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.services.utils.CandidateEntityBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.HashMap;
-import java.util.Optional;
-
-public class FileDataStructureHealer implements Healer {
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- @Override
- public Optional<FilesDataStructure> heal(String vspId,
- Version version) throws Exception {
- mdcDataDebugMessage.debugEntryMessage(null);
-
- OrchestrationTemplateCandidateDao candidateDao =
- OrchestrationTemplateCandidateDaoFactory.getInstance().createInterface();
-
- OrchestrationTemplateCandidateData candidateData = candidateDao.get(vspId, version);
-
- if (candidateData == null || candidateData.getContentData() == null ||
- candidateData.getFilesDataStructure() != null) {
- return Optional.of(new FilesDataStructure());
- }
-
- Optional<FilesDataStructure> filesDataStructure =
- healFilesDataStructure(vspId, version, candidateData);
-
- filesDataStructure
- .ifPresent(structure -> candidateDao.updateStructure(vspId, version, structure));
-
- mdcDataDebugMessage.debugExitMessage(null);
- return filesDataStructure;
- }
-
- private Optional<FilesDataStructure> healFilesDataStructure(
- String vspId, Version version, OrchestrationTemplateCandidateData candidateData)
- throws Exception {
- mdcDataDebugMessage.debugEntryMessage(null);
-
- Optional<FilesDataStructure> healingResult;
- byte[] byteContentData = candidateData.getContentData().array();
- FileContentHandler fileContentHandler;
- try {
- fileContentHandler =
- CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, byteContentData);
-
- String filesDataStructure =
- new CandidateEntityBuilder(CandidateServiceFactory.getInstance().createInterface())
- .buildCandidateEntityFromZip(new VspDetails(vspId, version), byteContentData,
- fileContentHandler, new HashMap<>()).getFilesDataStructure();
-
- healingResult =
- Optional.of(JsonUtil.json2Object(filesDataStructure, FilesDataStructure.class));
- } catch (Exception e) {
- healingResult = Optional.empty();
- }
-
- mdcDataDebugMessage.debugExitMessage(null);
- return healingResult;
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java
deleted file mode 100644
index f3e5f4d568..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright © 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.apache.commons.collections.MapUtils;
-import org.openecomp.core.model.dao.ServiceModelDao;
-import org.openecomp.core.model.dao.ServiceModelDaoFactory;
-import org.openecomp.core.model.types.ServiceElement;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.togglz.ToggleableFeature;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.tosca.datatypes.ToscaNodeType;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
-import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
-import org.openecomp.sdc.tosca.services.DataModelUtil;
-import org.openecomp.sdc.tosca.services.ToscaAnalyzerService;
-import org.openecomp.sdc.tosca.services.impl.ToscaAnalyzerServiceImpl;
-import org.openecomp.sdc.translator.services.heattotosca.globaltypes.GlobalTypesServiceTemplates;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-
-public class ForwarderCapabilityHealer implements Healer {
-
- private MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- private final ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao;
- private static ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl();
- private static final String FORWARDER_CAPABILITY_ID = "Forwarder";
- private static final String UNDERSCORE = "_";
-
- public ForwarderCapabilityHealer() {
- this.serviceModelDao =
- ServiceModelDaoFactory.getInstance().createInterface();
- }
-
- public ForwarderCapabilityHealer(ServiceModelDao<ToscaServiceModel, ServiceElement>
- serviceModelDao,
- ToscaAnalyzerService toscaAnalyzerService){
- this.serviceModelDao = serviceModelDao;
- this.toscaAnalyzerService = toscaAnalyzerService;
- }
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
- if(!ToggleableFeature.FORWARDER_CAPABILITY.isActive()) {
- return Optional.empty();
- }
-
- ToscaServiceModel serviceModel =
- serviceModelDao.getServiceModel(vspId, version);
-
- if (Objects.isNull(serviceModel)
- || MapUtils.isEmpty(serviceModel.getServiceTemplates())) {
- return Optional.empty();
- }
-
- addForwarderCapabilityToServiceModel(serviceModel);
- serviceModelDao.deleteAll(vspId, version);
- serviceModelDao.storeServiceModel(vspId, version, serviceModel);
-
- return Optional.of(serviceModel);
- }
-
- private void addForwarderCapabilityToServiceModel(ToscaServiceModel serviceModel) {
- serviceModel.getServiceTemplates().entrySet().stream().filter(serviceTemplateEntry -> Objects
- .nonNull(serviceTemplateEntry.getValue()))
- .forEach(serviceTemplateEntry -> handleServiceTemplate(serviceTemplateEntry.getValue(),
- serviceModel));
-
- handleGlobalTypes(serviceModel);
- }
-
- private void handleGlobalTypes(ToscaServiceModel serviceModel) {
- Map<String, ServiceTemplate> globalTypesServiceTemplates =
- GlobalTypesServiceTemplates.getGlobalTypesServiceTemplates(OnboardingTypesEnum.ZIP);
-
- if (MapUtils.isEmpty(globalTypesServiceTemplates)) {
- return;
- }
-
- globalTypesServiceTemplates.entrySet()
- .stream()
- .filter(globalTypesServiceTemplateEntry -> Objects.nonNull
- (globalTypesServiceTemplateEntry.getValue()))
- .forEach(globalTypesServiceTemplateEntry -> serviceModel.addServiceTemplate
- (globalTypesServiceTemplateEntry.getKey(), globalTypesServiceTemplateEntry.getValue()));
- }
-
- private void handleServiceTemplate(ServiceTemplate serviceTemplate,
- ToscaServiceModel toscaServiceModel) {
- if (Objects.isNull(serviceTemplate.getTopology_template())
- || MapUtils.isEmpty(serviceTemplate.getTopology_template().getNode_templates())) {
- return;
- }
-
- Map<String, NodeTemplate> nodeTemplates =
- serviceTemplate.getTopology_template().getNode_templates();
-
- nodeTemplates.entrySet().stream()
- .filter(nodeTemplateEntry ->
- toscaAnalyzerService.isTypeOf(nodeTemplateEntry.getValue(),
- ToscaNodeType.NATIVE_NETWORK_PORT, serviceTemplate, toscaServiceModel))
- .forEach(nodeTemplateEntry ->
- addForwarderToSubstitutionMappings(nodeTemplateEntry.getKey(), serviceTemplate)
- );
- }
-
- private void addForwarderToSubstitutionMappings(String portNodeTemplateId,
- ServiceTemplate serviceTemplate) {
- if (Objects.isNull(serviceTemplate.getTopology_template())
- || Objects.isNull(serviceTemplate.getTopology_template().getSubstitution_mappings())) {
- return;
- }
-
- List<String> substitutionMappingCapabilityList =
- Arrays.asList(portNodeTemplateId, FORWARDER_CAPABILITY_ID);
-
- DataModelUtil.addSubstitutionMappingCapability(
- serviceTemplate,
- FORWARDER_CAPABILITY_ID + UNDERSCORE + portNodeTemplateId,
- substitutionMappingCapabilityList);
-
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java
deleted file mode 100644
index ddae09fa01..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-
-import org.openecomp.core.model.dao.ServiceModelDao;
-import org.openecomp.core.model.dao.ServiceModelDaoFactory;
-import org.openecomp.core.model.types.ServiceElement;
-import org.openecomp.core.translator.datatypes.TranslatorOutput;
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Objects;
-import java.util.Optional;
-
-public class HeatToToscaTranslationHealer implements Healer {
-
- private static final OrchestrationTemplateDao orchestrationTemplateDao =
- OrchestrationTemplateDaoFactory.getInstance().createInterface();
- private static final ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao =
- ServiceModelDaoFactory.getInstance().createInterface();
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
- public HeatToToscaTranslationHealer() {
-
- }
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
- mdcDataDebugMessage.debugEntryMessage(null);;
-
- OrchestrationTemplateEntity uploadData =
- orchestrationTemplateDao.get(vspId, version);
-
- if (Objects.isNull(uploadData) || Objects.isNull(uploadData.getContentData())) {
- return Optional.empty();
- }
-
- FileContentHandler fileContentHandler;
- TranslatorOutput translatorOutput;
- try {
- fileContentHandler =
- CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, uploadData
- .getContentData().array());
- translatorOutput =
- HeatToToscaUtil.loadAndTranslateTemplateData(fileContentHandler);
- } catch (Exception e) {
- log.debug("", e);
- return Optional.empty();
- }
-
- if (Objects.isNull(translatorOutput)) {
- return Optional.empty();
- } else {
-
- if (translatorOutput.getToscaServiceModel() == null) {
- return Optional.empty();
- }
- //templateDao.deleteAll(vspId, version);
- serviceModelDao.deleteAll(vspId, version);
- serviceModelDao.storeServiceModel(vspId, version, translatorOutput.getToscaServiceModel());
- mdcDataDebugMessage.debugExitMessage("VSP id", vspId);
-
- return translatorOutput;
- }
-
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java
deleted file mode 100644
index b2ef965286..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.NetworkType;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Collection;
-
-public class NicDataHealer implements Healer {
- /*private static final VendorSoftwareProductDao vendorSoftwareProductDao =
- VendorSoftwareProductDaoFactory.getInstance().createInterface();*/
-
- private static final NicDao nicDao = NicDaoFactory.getInstance().createInterface();
-
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- public NicDataHealer(){
-
- }
- @Override
- public Object heal(String vspId, Version version) throws Exception {
- mdcDataDebugMessage.debugEntryMessage(null, null);
-
- Collection<NicEntity> nics = nicDao.listByVsp(vspId, version);
- for (NicEntity nicEntity : nics) {
- Nic nic = nicEntity.getNicCompositionData();
- if (nic != null && nic.getNetworkType()==null) {
- nic.setNetworkType(NetworkType.Internal);
- nicEntity.setNicCompositionData(nic);
- //vendorSoftwareProductDao.updateNic(nicEntity);
- nicDao.update(nicEntity);
- }
- }
- return nics;
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java
deleted file mode 100644
index a1dd80c307..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.core.utilities.json.JsonSchemaDataGenerator;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Collection;
-import java.util.Objects;
-
-public class SubEntitiesQuestionnaireHealer implements Healer {
- private static Version version00 = new Version(0, 0);
- private MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- private static ComponentDao componentDao = ComponentDaoFactory.getInstance().createInterface();
- private static NicDao nicDao = NicDaoFactory.getInstance().createInterface();
- private static NetworkDao networkDao = NetworkDaoFactory.getInstance().createInterface();
-
- private static String emptyString = "";
- private static String emptyJson = "{}";
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
-
-
- mdcDataDebugMessage.debugEntryMessage(null);
-
- Collection<ComponentEntity> componentEntities =
- componentDao.listCompositionAndQuestionnaire(vspId, version);
-
- networkDao.list(new NetworkEntity(vspId, version, null));
-
- Collection<NicEntity> nicEntities = nicDao.listByVsp(vspId, version);
-
- healCompositionEntityQuestionnaire(componentEntities, version, CompositionEntityType.component);
- healCompositionEntityQuestionnaire(nicEntities, version, CompositionEntityType.nic);
-
- mdcDataDebugMessage.debugExitMessage(null);
- return new Object();
- }
-
-
- private void healCompositionEntityQuestionnaire(Collection
- compositionEntities,
- Version newVersion, CompositionEntityType type) {
-
-
- mdcDataDebugMessage.debugEntryMessage(null);
-
- for (Object entity : compositionEntities) {
- CompositionEntity compositionEntity = (CompositionEntity) entity;
- if (isQuestionnaireNeedsToGetHealed(compositionEntity)) {
- compositionEntity.setVersion(newVersion);
- updateNullQuestionnaire(compositionEntity, type);
- }
- }
-
- mdcDataDebugMessage.debugExitMessage(null);
- }
-
- private boolean isQuestionnaireNeedsToGetHealed(CompositionEntity compositionEntity) {
- return Objects.isNull(compositionEntity.getQuestionnaireData())
- || emptyString.equals(compositionEntity.getQuestionnaireData())
- || emptyJson.equals(compositionEntity.getQuestionnaireData());
- }
-
- private void updateNullQuestionnaire(CompositionEntity entity,
- CompositionEntityType type) {
-
-
- mdcDataDebugMessage.debugEntryMessage(null);
-
- entity.setQuestionnaireData(
- new JsonSchemaDataGenerator(SchemaGenerator
- .generate(SchemaTemplateContext.questionnaire, type,
- null)).generateData());
-
- switch (type) {
- case component:
- ComponentEntity component = (ComponentEntity) entity;
- componentDao.updateQuestionnaireData(component.getVspId(), component
- .getVersion(), component.getId(), component.getQuestionnaireData());
- break;
-
- case nic:
- NicEntity nic = (NicEntity) entity;
- nicDao.updateQuestionnaireData(nic.getVspId(), nic.getVersion(), nic.getComponentId(),
- nic.getId(), nic.getQuestionnaireData());
- break;
- }
- mdcDataDebugMessage.debugExitMessage(null);
- }
-
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java
deleted file mode 100644
index d172432284..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.sdc.datatypes.error.ErrorMessage;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.heat.datatypes.manifest.FileData;
-import org.openecomp.sdc.heat.datatypes.structure.Artifact;
-import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
-import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-
-/**
- * Created by Talio on 7/30/2017.
- */
-public class ValidationStructureHealer implements Healer {
-
- private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);
- private static final OrchestrationTemplateDao orchestrationTemplateDao =
- OrchestrationTemplateDaoFactory.getInstance().createInterface();
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
-
- OrchestrationTemplateEntity orchestrationTemplate =
- orchestrationTemplateDao.get(vspId, version);
-
- if (Objects.isNull(orchestrationTemplate.getValidationData())
- || !JsonUtil.isValidJson(orchestrationTemplate.getValidationData())) {
- return Optional.empty();
- }
-
- OldValidationStructureTree oldValidationStructureTree;
- try {
- oldValidationStructureTree = JsonUtil
- .json2Object(orchestrationTemplate.getValidationData(), OldValidationStructureTree.class);
- } catch (Exception e) {
- logger.debug("", e);
- return Optional.empty();
- }
-
- Optional<HeatStructureTree> newHeatStructureTreeFromOldStructureTree =
- createNewHeatStructureTreeFromOldStructureTree(
- oldValidationStructureTree.getImportStructure());
-
- newHeatStructureTreeFromOldStructureTree.ifPresent(newStructure ->
- updateValuesInDb(vspId, version, orchestrationTemplate,
- new ValidationStructureList(newStructure)));
-
- return newHeatStructureTreeFromOldStructureTree;
-
- }
-
- private void updateValuesInDb(String vspId, Version version,
- OrchestrationTemplateEntity orchestrationTemplate,
- ValidationStructureList validationData) {
- orchestrationTemplate.setValidationDataStructure(validationData);
- orchestrationTemplateDao.update(vspId, version, orchestrationTemplate);
- }
-
- private Optional<HeatStructureTree> createNewHeatStructureTreeFromOldStructureTree(
- OldHeatStructureTree oldHeatStructureTree) {
-
- HeatStructureTree heatStructureTree = new HeatStructureTree();
-
- if (Objects.isNull(oldHeatStructureTree)) {
- return Optional.empty();
- }
-
- mapOldHeatStructureTreeValues(oldHeatStructureTree, heatStructureTree);
-
- Set<OldHeatStructureTree> heat =
- oldHeatStructureTree.getHeat() == null ? new HashSet<>() : oldHeatStructureTree.getHeat();
- Set<OldHeatStructureTree> volume =
- oldHeatStructureTree.getVolume() == null ? new HashSet<>()
- : oldHeatStructureTree.getVolume();
- Set<OldHeatStructureTree> nested =
- oldHeatStructureTree.getNested() == null ? new HashSet<>()
- : oldHeatStructureTree.getNested();
- Set<OldHeatStructureTree> network =
- oldHeatStructureTree.getNetwork() == null ? new HashSet<>()
- : oldHeatStructureTree.getNetwork();
-
-
- heatStructureTree.setHeat(createHeatStructureTreeSetFromOld(heat));
- heatStructureTree.setVolume(createHeatStructureTreeSetFromOld(volume));
- heatStructureTree.setNested(createHeatStructureTreeSetFromOld(nested));
- heatStructureTree.setNetwork(createHeatStructureTreeSetFromOld(network));
-
- return Optional.of(heatStructureTree);
- }
-
- private void mapOldHeatStructureTreeValues(OldHeatStructureTree oldHeatStructureTree,
- HeatStructureTree heatStructureTree) {
- heatStructureTree.setFileName(oldHeatStructureTree.getFileName());
- heatStructureTree.setBase(oldHeatStructureTree.getBase());
- heatStructureTree.setType(oldHeatStructureTree.getType());
- heatStructureTree.setArtifacts(oldHeatStructureTree.getArtifacts());
- heatStructureTree.setErrors(oldHeatStructureTree.getErrors());
-
- if (Objects.nonNull(oldHeatStructureTree.getEnv())) {
- heatStructureTree.setEnv(new HeatStructureTree(oldHeatStructureTree.getEnv(), false));
- }
- }
-
- private Set<HeatStructureTree> createHeatStructureTreeSetFromOld(Set<OldHeatStructureTree>
- oldHeatStructureTreeSet) {
- if (CollectionUtils.isEmpty(oldHeatStructureTreeSet)) {
- return null;
- }
- Set<HeatStructureTree> newHeatStructureSet = new HashSet<>();
-
- for (OldHeatStructureTree old : oldHeatStructureTreeSet) {
- Optional<HeatStructureTree> newHeatStructureTree =
- createNewHeatStructureTreeFromOldStructureTree(old);
- newHeatStructureTree.ifPresent(newHeatStructureSet::add);
- }
-
- return newHeatStructureSet;
- }
-
- private class OldValidationStructureTree {
- private OldHeatStructureTree importStructure;
-
- OldHeatStructureTree getImportStructure() {
- return importStructure;
- }
- }
-
- private class OldHeatStructureTree {
- private String fileName;
- private FileData.Type type;
- private Boolean isBase;
- private String env;
- private List<ErrorMessage> errors;
- private Set<OldHeatStructureTree> heat;
- private Set<OldHeatStructureTree> volume;
- private Set<OldHeatStructureTree> network;
- private Set<OldHeatStructureTree> nested;
- private Set<OldHeatStructureTree> other;
- private Set<Artifact> artifacts;
-
- public OldHeatStructureTree() {
- }
-
- public String getFileName() {
- return fileName;
- }
-
- public void setFileName(String fileName) {
- this.fileName = fileName;
- }
-
- public FileData.Type getType() {
- return type;
- }
-
- public void setType(FileData.Type type) {
- this.type = type;
- }
-
- public Boolean getBase() {
- return isBase;
- }
-
- public void setBase(Boolean base) {
- isBase = base;
- }
-
- public String getEnv() {
- return env;
- }
-
- public void setEnv(String env) {
- this.env = env;
- }
-
- public List<ErrorMessage> getErrors() {
- return errors;
- }
-
- public void setErrors(List<ErrorMessage> errors) {
- this.errors = errors;
- }
-
- public Set<OldHeatStructureTree> getHeat() {
- return heat;
- }
-
- public void setHeat(Set<OldHeatStructureTree> heat) {
- this.heat = heat;
- }
-
- public Set<OldHeatStructureTree> getVolume() {
- return volume;
- }
-
- public void setVolume(Set<OldHeatStructureTree> volume) {
- this.volume = volume;
- }
-
- public Set<OldHeatStructureTree> getNetwork() {
- return network;
- }
-
- public void setNetwork(
- Set<OldHeatStructureTree> network) {
- this.network = network;
- }
-
- public Set<OldHeatStructureTree> getNested() {
- return nested;
- }
-
- public void setNested(Set<OldHeatStructureTree> nested) {
- this.nested = nested;
- }
-
- public Set<OldHeatStructureTree> getOther() {
- return other;
- }
-
- public void setOther(Set<OldHeatStructureTree> other) {
- this.other = other;
- }
-
- public Set<Artifact> getArtifacts() {
- return artifacts;
- }
-
- public void setArtifacts(Set<Artifact> artifacts) {
- this.artifacts = artifacts;
- }
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java
deleted file mode 100644
index a57ac74350..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.vendorlicense.dao.LicenseAgreementDao;
-import org.openecomp.sdc.vendorlicense.dao.LicenseAgreementDaoFactory;
-import org.openecomp.sdc.vendorlicense.dao.types.LicenseAgreementEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.VersioningManager;
-import org.openecomp.sdc.versioning.VersioningManagerFactory;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Objects;
-import java.util.Optional;
-
-/**
- * Created by TALIO on 7/3/2017.
- */
-public class VlmVersionHealer implements Healer {
- private VersioningManager versioningManager =
- VersioningManagerFactory.getInstance().createInterface();
- private static final VendorSoftwareProductInfoDao vspInfoDao =
- VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
- private static final LicenseAgreementDao licenseAgreementDao =
- LicenseAgreementDaoFactory.getInstance().createInterface();
- private static final Logger logger =
- LoggerFactory.getLogger(VlmVersionHealer.class);
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
- VspDetails vspDetails = vspInfoDao.get(new VspDetails(vspId, version));
-
- if (!Objects.isNull(vspDetails.getVlmVersion())) {
- return Optional.empty();
- }
-
- // get the certified vlm version with the highest number in its name
- Optional<Version> certifiedVlmVersion =
- versioningManager.list(vspDetails.getVendorId()).stream()
- .filter(ver -> VersionStatus.Certified == ver.getStatus())
- .max((o1, o2) -> ((Double) Double.parseDouble(o1.getName()))
- .compareTo(Double.parseDouble(o2.getName())));
- if (!certifiedVlmVersion.isPresent()) {
- logger.debug("No Vlm was found for Vsp " + vspDetails.getName());
- return Optional.empty();
- }
- vspDetails.setVlmVersion(certifiedVlmVersion.get());
-
- Collection<LicenseAgreementEntity> licenseAgreements = licenseAgreementDao.list(
- new LicenseAgreementEntity(vspDetails.getVendorId(), certifiedVlmVersion.get(), null));
- if (!licenseAgreements.isEmpty()) {
- LicenseAgreementEntity licenseAgreement = licenseAgreements.iterator().next();
- vspDetails.setLicenseAgreement(licenseAgreement.getId());
- vspDetails.setFeatureGroups(new ArrayList<>(licenseAgreement.getFeatureGroupIds()));
- }
-
- vspInfoDao.update(vspDetails);
-
- return vspDetails;
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java
deleted file mode 100644
index d5c082bdae..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OnboardingMethod;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Objects;
-
-public class VspOnboardingMethodHealer implements Healer {
-
- private static final String DEFAULT_FILE_NAME = "Upload File";
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
- private VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao;
- private OrchestrationTemplateDao orchestrationTemplateDao;
- private OrchestrationTemplateCandidateDao candidateDao;
-
- public VspOnboardingMethodHealer(){
- this(VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(),
- OrchestrationTemplateDaoFactory.getInstance().createInterface(),
- OrchestrationTemplateCandidateDaoFactory.getInstance().createInterface());
- }
-
- public VspOnboardingMethodHealer(VendorSoftwareProductInfoDao vspInfoDao,
- OrchestrationTemplateDao orchestrationTemplateDao,
- OrchestrationTemplateCandidateDao candidateDao) {
- this.vendorSoftwareProductInfoDao = vspInfoDao;
- this.orchestrationTemplateDao = orchestrationTemplateDao;
- this.candidateDao = candidateDao;
- }
-
- @Override
- public Object heal(String vspId, Version version) throws Exception {
- mdcDataDebugMessage.debugEntryMessage(null);
-
- VspDetails vsp = vendorSoftwareProductInfoDao.get(new VspDetails(vspId, version));
- healOnboardingMethod(vsp);
-
- if (!OnboardingMethod.Manual.name().equals(vsp.getOnboardingMethod())) {
- healOrchestrationTemplateFileName(vspId, version);
- healOrchestrationTemplateCandidateFileName(vspId, version);
- }
-
- mdcDataDebugMessage.debugExitMessage(null);
- return null;
- }
-
- private void healOnboardingMethod(VspDetails vsp) {
- if (Objects.isNull(vsp.getOnboardingMethod()) || "HEAT".equals(vsp.getOnboardingMethod())) {
- vsp.setOnboardingMethod(OnboardingMethod.NetworkPackage.name());
- vendorSoftwareProductInfoDao.update(vsp);
- }
- }
-
- private void healOrchestrationTemplateFileName(String vspId, Version version) {
- OrchestrationTemplateEntity orchestrationTemplate =
- orchestrationTemplateDao.get(vspId, version);
-
- if (orchestrationTemplate == null || orchestrationTemplate.getContentData() == null ||
- orchestrationTemplate.getFileSuffix() != null) {
- return;
- }
- orchestrationTemplate.setFileSuffix(OnboardingTypesEnum.ZIP.toString());
- orchestrationTemplate.setFileName(DEFAULT_FILE_NAME);
-
- orchestrationTemplateDao.update(vspId, version, orchestrationTemplate);
- }
-
- private void healOrchestrationTemplateCandidateFileName(String vspId, Version version) {
- OrchestrationTemplateCandidateData candidate = candidateDao.get(vspId, version);
-
- if (candidate == null || candidate.getContentData() == null ||
- candidate.getFileSuffix() != null) {
- return;
- }
- candidate.setFileSuffix(OnboardingTypesEnum.ZIP.toString());
- candidate.setFileName(DEFAULT_FILE_NAME);
-
- candidateDao.update(vspId, version, candidate);
- }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java
deleted file mode 100644
index b45ce30a3e..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.core.utilities.json.JsonSchemaDataGenerator;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.io.IOException;
-import java.util.Objects;
-import java.util.Optional;
-
-public class VspQuestionnaireHealer implements Healer {
- private static final VendorSoftwareProductInfoDao vspInfoDao =
- VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
- private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
- public VspQuestionnaireHealer() {
- }
-
- @Override
- public Object heal(String vspId, Version version) throws IOException {
-
-
- mdcDataDebugMessage.debugEntryMessage(null, null);
-
- Optional<String> questionnaireData = null;
- VspQuestionnaireEntity vspQuestionnaireEntity =
- vspInfoDao.getQuestionnaire(vspId, version);
-
- if(Objects.isNull(vspQuestionnaireEntity.getQuestionnaireData())|| "".equals(vspQuestionnaireEntity.getQuestionnaireData())) {
- questionnaireData = healQuestionnaire(vspId, version);
- }
-
- mdcDataDebugMessage.debugExitMessage(null, null);
- return questionnaireData;
- }
-
- private Optional<String> healQuestionnaire(String vspId, Version version) {
-
-
- mdcDataDebugMessage.debugEntryMessage(null, null);
-
- String questionnaireData;
- String generatedSchema = SchemaGenerator
- .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.vsp, null);
- try {
- questionnaireData = new JsonSchemaDataGenerator(generatedSchema).generateData();
- vspInfoDao.updateQuestionnaireData(vspId, version, questionnaireData);
- }catch(Exception e){
- log.debug("", e);
- return Optional.empty();
- }
- mdcDataDebugMessage.debugExitMessage(null, null);
- return Optional.of(questionnaireData);
- }
-}