summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java')
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java78
1 files changed, 78 insertions, 0 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
new file mode 100644
index 0000000000..c759d21f01
--- /dev/null
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java
@@ -0,0 +1,78 @@
+package org.openecomp.sdc.healing.healers;
+
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import org.openecomp.sdc.common.utils.SdcCommon;
+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.VendorSoftwareProductDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.Collection;
+import java.util.Map;
+
+
+public class ComponentQuestionnaireHealer implements Healer {
+ /*private static final VendorSoftwareProductDao vendorSoftwareProductDao =
+ VendorSoftwareProductDaoFactory.getInstance().createInterface();*/
+
+ private static final ComponentDao componentDao =
+ ComponentDaoFactory.getInstance().createInterface();
+ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+
+ public ComponentQuestionnaireHealer(){
+
+ }
+ @Override
+ public Object heal(Map<String, Object> healingParams) throws Exception {
+ mdcDataDebugMessage.debugEntryMessage(null, null);
+ String vspId = (String) healingParams.get(SdcCommon.VSP_ID);
+ Version version = (Version) healingParams.get(SdcCommon.VERSION);
+ String user = (String) healingParams.get(SdcCommon.USER);
+ Collection<ComponentEntity> componentEntities =
+ componentDao.list(new ComponentEntity(vspId, version, null));
+ componentEntities.forEach(componentEntity -> {
+ /*String questionnaire=vendorSoftwareProductDao.getComponent(vspId, version, componentEntity
+ .getId()).getQuestionnaireData();*/
+ String questionnaire = componentDao.getQuestionnaireData(vspId, version, componentEntity
+ .getId()).getQuestionnaireData();
+ if (questionnaire != null) {
+ JsonParser jsonParser = new JsonParser();
+ JsonObject json = (JsonObject) jsonParser.parse(questionnaire);
+ if (json.getAsJsonObject("compute") != null && json.getAsJsonObject("compute")
+ .getAsJsonObject("vmSizing") != null) {
+ json.getAsJsonObject("compute").remove("vmSizing");
+ }
+
+ if (json.getAsJsonObject("compute") != null && json.getAsJsonObject("compute")
+ .getAsJsonObject("numOfVMs") != null ) {
+ if (json.getAsJsonObject("compute").getAsJsonObject("numOfVMs").
+ get("CpuOverSubscriptionRatio") != null ) {
+ json.getAsJsonObject("compute").getAsJsonObject("numOfVMs").remove
+ ("CpuOverSubscriptionRatio");
+ }
+ if (json.getAsJsonObject("compute").getAsJsonObject("numOfVMs").
+ get("MemoryRAM") != null ) {
+ json.getAsJsonObject("compute").getAsJsonObject("numOfVMs").remove("MemoryRAM");
+ }
+ }
+
+ if (json.getAsJsonObject("general") != null && json.getAsJsonObject("general")
+ .getAsJsonObject("image") != null && json.getAsJsonObject("general").getAsJsonObject
+ ("image").get("format") != null) {
+ json.getAsJsonObject("general").getAsJsonObject("image").remove("format");
+ }
+ String questionnaireData = json.toString();
+ /*vendorSoftwareProductDao.updateComponentQuestionnaire(vspId, version, componentEntity
+ .getId(),questionnaireData);*/
+ componentDao.updateQuestionnaireData(vspId, version, componentEntity.getId(),
+ questionnaireData);
+ }
+ });
+ return componentEntities;
+ }
+}