From 5f7b97b6a21dc499161a5bc89da238e227b17c25 Mon Sep 17 00:00:00 2001 From: mohit-singh4 Date: Tue, 2 Jul 2024 16:55:49 +0530 Subject: [PATCH] [MNT-24127] Added Endpoint to Calculate Size of the folder with Integration Test Cases [ags][tas] --- .../api/nodes/NodeFolderSizeRelation.java | 20 ++++++++++--------- .../rest/api/tests/NodeFolderSizeApiTest.java | 9 --------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/remote-api/src/main/java/org/alfresco/rest/api/nodes/NodeFolderSizeRelation.java b/remote-api/src/main/java/org/alfresco/rest/api/nodes/NodeFolderSizeRelation.java index 9f880670d6..487d6d76f4 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/nodes/NodeFolderSizeRelation.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/nodes/NodeFolderSizeRelation.java @@ -80,6 +80,7 @@ public class NodeFolderSizeRelation implements CalculateSize private ActionTrackingService actionTrackingService; private Action folderSizeAction; private String exceptionMessage = "Invalid parameter: value of nodeId is invalid"; + private InvalidNodeTypeException invalidNodeTypeException; /** * The logger @@ -151,7 +152,8 @@ public class NodeFolderSizeRelation implements CalculateSize if(!"folder".equals(qName.getLocalName())) { - makeErrorResponse(new InvalidNodeTypeException(exceptionMessage),422); + invalidNodeTypeException = new InvalidNodeTypeException(exceptionMessage); + return (Map) new ErrorResponse(invalidNodeTypeException.getMsgId(), 422, invalidNodeTypeException.getLocalizedMessage(), invalidNodeTypeException.getStackTrace(), invalidNodeTypeException.getAdditionalState()); } try @@ -181,11 +183,19 @@ public class NodeFolderSizeRelation implements CalculateSize public Map readById(String nodeId, String id, Parameters parameters) { NodeRef nodeRef = nodes.validateNode(nodeId); + // Check node type. + QName qName = nodeService.getType(nodeRef); Object resultAction; Map result = new HashMap<>(); validatePermissions(nodeRef, nodeId); validateNodeType(nodeRef); + if(!"folder".equals(qName.getLocalName())) + { + invalidNodeTypeException = new InvalidNodeTypeException(exceptionMessage); + return (Map) new ErrorResponse(invalidNodeTypeException.getMsgId(), 422, invalidNodeTypeException.getLocalizedMessage(), invalidNodeTypeException.getStackTrace(), invalidNodeTypeException.getAdditionalState()); + } + try { LOG.info("Retrieving OUTPUT from ActionExecutor in NodeFolderSizeRelation:readById"); @@ -246,14 +256,6 @@ public class NodeFolderSizeRelation implements CalculateSize private void validateNodeType(NodeRef nodeRef) { - // Check node type. - QName qName = nodeService.getType(nodeRef); - - if (!"folder".equals(qName.getLocalName())) - { - makeErrorResponse(new InvalidNodeTypeException(exceptionMessage),422); - } - if(folderSizeAction!=null) { String errorInAction = (String) folderSizeAction.getParameterValue(NodeSizeActionExecuter.ERROR); diff --git a/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeFolderSizeApiTest.java b/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeFolderSizeApiTest.java index f408738925..d2a601d916 100644 --- a/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeFolderSizeApiTest.java +++ b/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeFolderSizeApiTest.java @@ -181,15 +181,6 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest NodeTarget tgt = new NodeTarget(); tgt.setTargetParentId(folderId); HttpResponse response = post(getFolderSizeUrl(UUID.randomUUID().toString()), toJsonAsStringNonNull(tgt), null, 404); - - assertNotNull(response); - - // create node - Node n = new Node(); - n.setName("temp1"); - n.setNodeType("retention"); - - response = post(getFolderSizeUrl(n.getName()), RestApiUtil.toJsonAsStringNonNull(n), 422); assertNotNull(response); }