From 8a00bcdaa12cf68de158c7fd79929ec95e96c53f Mon Sep 17 00:00:00 2001 From: KrupaNagabhushan Date: Thu, 21 Apr 2022 18:19:55 +0100 Subject: Delete VFC - restrict deletion of system deployed VFCs Issue-ID: SDC-3981 Signed-off-by: KrupaNagabhushan Change-Id: Ib475bb4abbaabc072180a4f1ae85c7427bbbf771 --- .../openecomp/sdc/be/components/impl/ResourceBusinessLogic.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'catalog-be/src/main/java') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java index 86d4e0aea1..f4952b6c0d 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogic.java @@ -4223,6 +4223,10 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { return componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(resourceStatus.right().value()), ""); } Resource resource = resourceStatus.left().value(); + if (isComponentSystemDeployed(resource)) { + throw new ByActionStatusComponentException(ActionStatus.CANNOT_DELETE_SYSTEM_DEPLOYED_RESOURCES, ComponentTypeEnum.RESOURCE.getValue(), + resource.getName()); + } StorageOperationStatus result = StorageOperationStatus.OK; lockComponent(resourceId, resource, "Mark resource to delete"); try { @@ -4244,6 +4248,10 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic { } } + private boolean isComponentSystemDeployed(Resource resource) { + return resource.getComponentMetadataDefinition().getMetadataDataDefinition().isNormative(); + } + public ResponseFormat deleteResourceByNameAndVersion(String resourceName, String version, User user) { ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.NO_CONTENT); validateUserExists(user); -- cgit