diff options
author | andre.schmid <andre.schmid@est.tech> | 2022-03-24 13:11:04 +0000 |
---|---|---|
committer | Michael Morris <michael.morris@est.tech> | 2022-04-04 15:25:41 +0000 |
commit | f6b81e6da9b95ec5ef2c8b2b7b50fb8de9f3dd28 (patch) | |
tree | 6503dc17a281a267dbf9e775552ac4444a6b7170 /openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/exception | |
parent | f2e43fb0a2c36b484b686d6c22342e72da66f679 (diff) |
Log partial VSP deletion
Adds entries to the VSP activity log identifying the VSP versions
deleted from the MinIO client, and also if the deletion was fully
complete.
If the VSP deletion from the database fails, there will be registry
of what happened with the MinIO deletion.
Do some refactor in the VendorSoftwareProductsImpl in relation to the
VSP deletion flow and responses.
Issue-ID: SDC-3931
Change-Id: I75cb9d7fb74a48db01b242a5f70fefa0a88faa0d
Signed-off-by: andre.schmid <andre.schmid@est.tech>
Diffstat (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/exception')
1 files changed, 91 insertions, 0 deletions
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/exception/VendorSoftwareProductsExceptionSupplier.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/exception/VendorSoftwareProductsExceptionSupplier.java new file mode 100644 index 0000000000..10d897a28f --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/exception/VendorSoftwareProductsExceptionSupplier.java @@ -0,0 +1,91 @@ +/* + * - + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.vsp.rest.exception; + +import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.VSP_DELETE_ALREADY_IN_USE_BY_VF; +import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.VSP_DELETE_FROM_DATABASE_ERROR; +import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.VSP_DELETE_FROM_STORAGE_ERROR; +import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.VSP_DELETE_GENERIC_ERROR; +import static org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes.VSP_DELETE_NOT_ARCHIVED; + +import java.util.function.Supplier; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; +import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.common.errors.ErrorCategory; +import org.openecomp.sdc.common.errors.ErrorCode.ErrorCodeBuilder; +import org.openecomp.sdc.common.errors.Messages; +import org.openecomp.sdc.vendorsoftwareproduct.dao.errors.VendorSoftwareProductNotFoundErrorBuilder; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class VendorSoftwareProductsExceptionSupplier { + + public static Supplier<CoreException> vspNotFound(final String vspId) { + final VendorSoftwareProductNotFoundErrorBuilder errorBuilder = new VendorSoftwareProductNotFoundErrorBuilder(vspId); + return () -> new CoreException((errorBuilder.build())); + } + + public static Supplier<CoreException> vspInUseByVf(final String vfName) { + final String errorMsg = Messages.DELETE_VSP_ERROR_USED_BY_VF.formatMessage(vfName, vfName); + final ErrorCodeBuilder errorBuilder = + new ErrorCodeBuilder().withId(VSP_DELETE_ALREADY_IN_USE_BY_VF) + .withCategory(ErrorCategory.USER) + .withMessage(errorMsg); + return () -> new CoreException(errorBuilder.build()); + } + + public static Supplier<CoreException> deleteGenericError(final String vspId) { + final String errorMsg = String.format("An error has occurred while trying to delete the VSP '%s'.", vspId); + final ErrorCodeBuilder errorBuilder = + new ErrorCodeBuilder().withId(VSP_DELETE_GENERIC_ERROR) + .withCategory(ErrorCategory.SYSTEM) + .withMessage(errorMsg); + return () -> new CoreException(errorBuilder.build()); + } + + public static Supplier<CoreException> deleteNotArchivedVsp(final String vspId) { + final String errorMsg = Messages.DELETE_NOT_ARCHIVED_VSP_ERROR.formatMessage(vspId); + final ErrorCodeBuilder errorBuilder = + new ErrorCodeBuilder().withId(VSP_DELETE_NOT_ARCHIVED) + .withCategory(ErrorCategory.USER) + .withMessage(errorMsg); + return () -> new CoreException(errorBuilder.build()); + } + + public static Supplier<CoreException> deleteVspFromStorageFailure(final String vspId) { + final String errorMsg = Messages.DELETE_VSP_FROM_STORAGE_ERROR.formatMessage(vspId); + final ErrorCodeBuilder errorBuilder = + new ErrorCodeBuilder().withId(VSP_DELETE_FROM_STORAGE_ERROR) + .withCategory(ErrorCategory.SYSTEM) + .withMessage(errorMsg); + return () -> new CoreException(errorBuilder.build()); + } + + public static Supplier<CoreException> deleteVspFromDatabaseFailure(final String vspId) { + final String errorMsg = Messages.DELETE_VSP_ERROR.formatMessage(vspId); + final ErrorCodeBuilder errorBuilder = + new ErrorCodeBuilder().withId(VSP_DELETE_FROM_DATABASE_ERROR) + .withCategory(ErrorCategory.SYSTEM) + .withMessage(errorMsg); + return () -> new CoreException(errorBuilder.build()); + } +} |