summaryrefslogtreecommitdiffstats
path: root/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
diff options
context:
space:
mode:
authorandre.schmid <andre.schmid@est.tech>2022-03-24 13:11:04 +0000
committerMichael Morris <michael.morris@est.tech>2022-04-04 15:25:41 +0000
commitf6b81e6da9b95ec5ef2c8b2b7b50fb8de9f3dd28 (patch)
tree6503dc17a281a267dbf9e775552ac4444a6b7170 /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
parentf2e43fb0a2c36b484b686d6c22342e72da66f679 (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')
-rw-r--r--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.java91
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());
+ }
+}