Create new VSP, onboard from TOSCA file - UI
[sdc.git] / openecomp-be / lib / openecomp-healing-lib / openecomp-sdc-healing-impl / src / main / java / org / openecomp / sdc / healing / healers / VspOnboardingMethodHealer.java
index 5d6050a..0b06fb1 100644 (file)
@@ -1,11 +1,10 @@
 package org.openecomp.sdc.healing.healers;
 
 
+import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
 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.VendorSoftwareProductDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory;
 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
@@ -15,15 +14,18 @@ import java.util.Map;
 import java.util.Objects;
 
 public class VspOnboardingMethodHealer implements Healer {
-  /*private static final VendorSoftwareProductDao vendorSoftwareProductDao =
-      VendorSoftwareProductDaoFactory.getInstance().createInterface();*/
-  private static final VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao =
+  private static VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao =
       VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
   private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
 
   public VspOnboardingMethodHealer(){
+  }
 
+  public VspOnboardingMethodHealer( VendorSoftwareProductInfoDao inVendorSoftwareProductInfoDao){
+    vendorSoftwareProductInfoDao = inVendorSoftwareProductInfoDao;
   }
+
+
   @Override
   public Object heal(Map<String, Object> healingParams) throws Exception {
     mdcDataDebugMessage.debugEntryMessage(null, null);
@@ -33,14 +35,22 @@ public class VspOnboardingMethodHealer implements Healer {
     Version version = (Version) healingParams.get(SdcCommon.VERSION);
     VspDetails vendorSoftwareProductInfo =
         vendorSoftwareProductInfoDao.get(new VspDetails(vspId, version));
-    vendorSoftwareProductInfo.getOnboardingMethod();
+    String onboardingValue = vendorSoftwareProductInfo.getOnboardingMethod();
 
-    if(Objects.isNull(vendorSoftwareProductInfo.getOnboardingMethod())) {
-      onboardingMethod="HEAT";
-      vendorSoftwareProductInfo.setOnboardingMethod(onboardingMethod);
-      vendorSoftwareProductInfoDao.update(vendorSoftwareProductInfo);
-      //vendorSoftwareProductDao.updateVendorSoftwareProductInfo(vendorSoftwareProductInfo);
+    if(Objects.isNull(onboardingValue)) {
+      onboardingMethod="NetworkPackage";
+
+      updateVSPInfo(OnboardingTypesEnum.ZIP.toString(), onboardingMethod, vendorSoftwareProductInfo);
+    } else if (onboardingValue.equals("HEAT")){
+      onboardingMethod="NetworkPackage";
+      updateVSPInfo(OnboardingTypesEnum.ZIP.toString(),onboardingMethod, vendorSoftwareProductInfo);
     }
     return onboardingMethod;
   }
+
+  private void updateVSPInfo(String onboardingOrigin,  String onboardingMethod, VspDetails vendorSoftwareProductInfo) {
+    vendorSoftwareProductInfo.setOnboardingMethod(onboardingMethod);
+    vendorSoftwareProductInfo.setOnboardingOrigin(onboardingOrigin);
+    vendorSoftwareProductInfoDao.update(vendorSoftwareProductInfo);
+  }
 }