From 117fb0e50d4b83f2f3faa7c372458ef539c63664 Mon Sep 17 00:00:00 2001 From: stasys10 Date: Wed, 13 Apr 2022 14:50:12 +0100 Subject: Support deletion of archived VLMs in onboarding Issue-ID: SDC-3968 Signed-off-by: stasys10 Change-Id: I3f8a77e2ab40f7607920a781ac7ad2bb3c56741d --- .../VendorLicenseModelExceptionSupplier.java | 13 ++++---- .../rest/services/VendorLicenseModelsImpl.java | 37 +++++++++++----------- 2 files changed, 25 insertions(+), 25 deletions(-) (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp') diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/exception/VendorLicenseModelExceptionSupplier.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/exception/VendorLicenseModelExceptionSupplier.java index 330a2dd4d1..d996e23550 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/exception/VendorLicenseModelExceptionSupplier.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/exception/VendorLicenseModelExceptionSupplier.java @@ -21,9 +21,6 @@ package org.openecomp.sdcrests.vendorlicense.rest.exception; -import static org.openecomp.sdc.vendorlicense.errors.VendorLicenseErrorCodes.VLM_IS_CERTIFIED_DELETE_ERROR; -import static org.openecomp.sdc.vendorlicense.errors.VendorLicenseErrorCodes.VLM_IS_IN_USE_DELETE_ERROR; - import java.util.List; import java.util.function.Supplier; import lombok.AccessLevel; @@ -33,6 +30,8 @@ import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.common.errors.ErrorCode.ErrorCodeBuilder; import org.openecomp.sdc.vendorlicense.errors.VendorLicenseModelNotFoundErrorBuilder; +import static org.openecomp.sdc.vendorlicense.errors.VendorLicenseErrorCodes.VLM_IS_CERTIFIED_AND_NOT_ARCHIVED_DELETE_ERROR; +import static org.openecomp.sdc.vendorlicense.errors.VendorLicenseErrorCodes.VLM_IS_IN_USE_DELETE_ERROR; /** * Supplies exceptions happened for a Vendor License Model operation . */ @@ -70,15 +69,15 @@ public class VendorLicenseModelExceptionSupplier { } /** - * Provides a cannot delete certified Vendor License Model exception. + * Provides a cannot delete certified and not archived Vendor License Model exception. * * @param vmlId the Vendor License Model id * @return a Supplier for the exception */ - public static Supplier cantDeleteCertifiedVlm(final String vmlId) { - final String errorMsg = String.format("Vendor License Model '%s' has been certified and cannot be deleted.", vmlId); + public static Supplier cantDeleteCertifiedAndNotArchivedVlm(final String vmlId) { + final String errorMsg = String.format("Vendor License Model '%s' has been certified and must be archived before deleting.", vmlId); final ErrorCode errorCode = new ErrorCodeBuilder() - .withId(VLM_IS_CERTIFIED_DELETE_ERROR) + .withId(VLM_IS_CERTIFIED_AND_NOT_ARCHIVED_DELETE_ERROR) .withMessage(errorMsg) .build(); return () -> new CoreException((errorCode)); diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/VendorLicenseModelsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/VendorLicenseModelsImpl.java index f4e638c07b..ac722a5925 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/VendorLicenseModelsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/services/VendorLicenseModelsImpl.java @@ -15,22 +15,6 @@ */ package org.openecomp.sdcrests.vendorlicense.rest.services; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_USER; -import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.ITEM_ID; -import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.ITEM_NAME; -import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.SUBMIT_DESCRIPTION; -import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.VERSION_ID; -import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.VERSION_NAME; -import static org.openecomp.sdcrests.vendorlicense.types.VendorLicenseModelActionRequestDto.VendorLicenseModelAction.Submit; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Predicate; -import java.util.stream.Collectors; -import javax.inject.Named; -import javax.ws.rs.core.Response; import org.openecomp.core.dao.UniqueValueDaoFactory; import org.openecomp.core.util.UniqueValueUtil; import org.openecomp.sdc.activitylog.ActivityLogManager; @@ -81,6 +65,23 @@ import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import javax.inject.Named; +import javax.ws.rs.core.Response; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_USER; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.ITEM_NAME; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.ITEM_ID; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.VERSION_NAME; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.VERSION_ID; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.SUBMIT_DESCRIPTION; +import static org.openecomp.sdcrests.vendorlicense.types.VendorLicenseModelActionRequestDto.VendorLicenseModelAction.Submit; + @Named @Service("vendorLicenseModels") @Scope(value = "prototype") @@ -217,8 +218,8 @@ public class VendorLicenseModelsImpl implements VendorLicenseModels { final Integer certifiedVersionsCounter = vlm.getVersionStatusCounters().get(VersionStatus.Certified); final boolean wasVlmAtLeastOnceCertified = certifiedVersionsCounter != null && certifiedVersionsCounter > 0; - if (wasVlmAtLeastOnceCertified) { - throw VendorLicenseModelExceptionSupplier.cantDeleteCertifiedVlm(vlmId).get(); + if (wasVlmAtLeastOnceCertified && !ItemStatus.ARCHIVED.equals(vlm.getStatus())) { + throw VendorLicenseModelExceptionSupplier.cantDeleteCertifiedAndNotArchivedVlm(vlmId).get(); } asdcItemManager.delete(vlm); -- cgit 1.2.3-korg