From 38eaf2ddd678a837e2bfed25d5b4b45d72fce338 Mon Sep 17 00:00:00 2001 From: JvD_Ericsson Date: Fri, 12 May 2023 12:37:02 +0100 Subject: Disabling archive functionality for normatives Issue-ID: SDC-4497 Signed-off-by: JvD_Ericsson Change-Id: If7ce7205543682697a2b787aebfd4c8a3da25db7 --- .../sdc/be/model/jsonjanusgraph/operations/ArchiveOperation.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'catalog-model') diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ArchiveOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ArchiveOperation.java index b8ef2aec16..a8367b337a 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ArchiveOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ArchiveOperation.java @@ -29,6 +29,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import org.apache.commons.collections.MapUtils; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus; import org.openecomp.sdc.be.dao.jsongraph.GraphVertex; @@ -38,6 +39,7 @@ import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum; import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum; import org.openecomp.sdc.be.datatypes.elements.ComponentInstanceDataDefinition; import org.openecomp.sdc.be.datatypes.elements.CompositionDataDefinition; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum; import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields; import org.openecomp.sdc.be.model.LifecycleStateEnum; @@ -66,6 +68,11 @@ public class ArchiveOperation extends BaseOperation { public Either, ActionStatus> archiveComponent(String componentId) { final Either vertexResult = this.janusGraphDao.getVertexById(componentId); if (vertexResult.isLeft()) { + Map metadataJson = vertexResult.left().value().getMetadataJson(); + String normative = JsonPresentationFields.NORMATIVE.getPresentation(); + if (MapUtils.isNotEmpty(metadataJson) && metadataJson.containsKey(normative) && (boolean) metadataJson.get(normative)) { + return Either.right(ActionStatus.CANNOT_ARCHIVE_SYSTEM_DEPLOYED_RESOURCES); + } return doAction(ARCHIVE, vertexResult.left().value()); } else { return Either.right(onError(ARCHIVE.name(), componentId, vertexResult.right().value())); -- cgit 1.2.3-korg