1 package org.openecomp.sdc.healing.healers;
4 import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
5 import org.openecomp.sdc.common.utils.SdcCommon;
6 import org.openecomp.sdc.healing.interfaces.Healer;
7 import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
8 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
9 import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
10 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
11 import org.openecomp.sdc.versioning.dao.types.Version;
14 import java.util.Objects;
16 public class VspOnboardingMethodHealer implements Healer {
17 private static VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao =
18 VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
19 private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
21 public VspOnboardingMethodHealer(){
24 public VspOnboardingMethodHealer( VendorSoftwareProductInfoDao inVendorSoftwareProductInfoDao){
25 vendorSoftwareProductInfoDao = inVendorSoftwareProductInfoDao;
30 public Object heal(Map<String, Object> healingParams) throws Exception {
31 mdcDataDebugMessage.debugEntryMessage(null, null);
33 String onboardingMethod=null;
34 String vspId = (String) healingParams.get(SdcCommon.VSP_ID);
35 Version version = (Version) healingParams.get(SdcCommon.VERSION);
36 VspDetails vendorSoftwareProductInfo =
37 vendorSoftwareProductInfoDao.get(new VspDetails(vspId, version));
38 String onboardingValue = vendorSoftwareProductInfo.getOnboardingMethod();
40 if(Objects.isNull(onboardingValue)) {
41 onboardingMethod="NetworkPackage";
43 updateVSPInfo(OnboardingTypesEnum.ZIP.toString(), onboardingMethod, vendorSoftwareProductInfo);
44 } else if (onboardingValue.equals("HEAT")){
45 onboardingMethod="NetworkPackage";
46 updateVSPInfo(OnboardingTypesEnum.ZIP.toString(),onboardingMethod, vendorSoftwareProductInfo);
48 return onboardingMethod;
51 private void updateVSPInfo(String onboardingOrigin, String onboardingMethod, VspDetails vendorSoftwareProductInfo) {
52 vendorSoftwareProductInfo.setOnboardingMethod(onboardingMethod);
53 vendorSoftwareProductInfo.setOnboardingOrigin(onboardingOrigin);
54 vendorSoftwareProductInfoDao.update(vendorSoftwareProductInfo);