From 723cec335bf69d656c8c3e53cd9c10422121c9ca Mon Sep 17 00:00:00 2001 From: "katy.rotman" Date: Mon, 9 Oct 2017 11:57:18 +0300 Subject: Fix VSP resubmit logic Issue-ID: SDC-434 Change-Id: I2472f4a35f53763136f1e7586c4df24e3af25759 Signed-off-by: katy.rotman --- .../VendorSoftwareProductManager.java | 5 ++- .../impl/VendorSoftwareProductManagerImpl.java | 45 ++++++++++++---------- 2 files changed, 28 insertions(+), 22 deletions(-) (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager') diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductManager.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductManager.java index 738e267ca0..0adca1c695 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductManager.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/VendorSoftwareProductManager.java @@ -34,7 +34,7 @@ import java.io.IOException; import java.util.Collection; import java.util.List; -public interface VendorSoftwareProductManager { +public interface VendorSoftwareProductManager { Version checkout(String vendorSoftwareProductId, String user); @@ -78,4 +78,7 @@ public interface VendorSoftwareProductManager { String fetchValidationVsp(String user); Collection getComputeByVsp(String vspId, Version version, String user); + + Version healAndAdvanceFinalVersion(String vspId, VspDetails vendorSoftwareProductInfo, + String user) throws IOException; } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java index f4015ab848..0a3428579d 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java @@ -634,7 +634,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa try { validateUniqueName(VALIDATION_VSP_NAME); } catch (Exception ignored) { - logger.debug("",ignored); + logger.debug("", ignored); return VALIDATION_VSP_ID; } VspDetails validationVsp = new VspDetails(); @@ -708,7 +708,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa vsps.add(new VersionedVendorSoftwareProductInfo(vsp, versionInfo)); } } catch (RuntimeException rte) { - logger.debug("",rte); + logger.debug("", rte); logger.error( "Error trying to retrieve vsp[" + entry.getKey() + "] version[" + version.toString () + "] " + @@ -789,8 +789,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa throw new CoreException(new VendorSoftwareProductNotFoundErrorBuilder(vspId).build()); } vsp.setValidationData(orchestrationTemplateDao.getValidationData(vspId, version)); - - if (Objects.isNull(vsp.getOnboardingOrigin())) { + if (Objects.isNull(vsp.getOnboardingOrigin())) { //todo should this only be done for non-Manual? vsp.setOnboardingOrigin(OnboardingTypesEnum.ZIP.toString()); } @@ -818,22 +817,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa autoHeal(vspId, checkoutVersion, vendorSoftwareProductInfo, user); return checkin(vspId, user); case Final: - Version checkoutFinalVersion = checkout(vspId, user); - autoHeal(vspId, checkoutFinalVersion, vendorSoftwareProductInfo, user); - Version checkinFinalVersion = checkin(vspId, user); - ValidationResponse response = submit(vspId, user); - if (!response.isValid()) { - return checkout(vspId, user); - } - - try { - Version finalVersion = checkinFinalVersion.calculateNextFinal(); - createPackage(vspId, finalVersion, user); - return finalVersion; - } catch (IOException ex) { - logger.debug("",ex); - throw new Exception(ex.getMessage()); - } + return healAndAdvanceFinalVersion(vspId, vendorSoftwareProductInfo, user); default: //do nothing break; @@ -841,8 +825,27 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa return versionInfo.getActiveVersion(); } - @Override + public Version healAndAdvanceFinalVersion(String vspId, VspDetails vendorSoftwareProductInfo, + String user) throws IOException { + + Version checkoutFinalVersion = checkout(vspId, user); + autoHeal(vspId, checkoutFinalVersion, vendorSoftwareProductInfo, user); + Version checkinFinalVersion = checkin(vspId, user); + + ValidationResponse response = Objects.requireNonNull(submit(vspId, user), + "Null response not expected"); + if (!response.isValid()) { + return checkout(vspId, user); + } + + Version finalVersion = checkinFinalVersion.calculateNextFinal(); + createPackage(vspId, finalVersion, user); + return finalVersion; + + } + + @Override public void deleteVsp(String vspId, String user) { mdcDataDebugMessage.debugEntryMessage("VSP id", vspId); -- cgit 1.2.3-korg