From bc66560acda8fa4f663f2f686a77223bcd6391a5 Mon Sep 17 00:00:00 2001 From: Ana Bozianu Date: Mon, 31 Oct 2016 18:39:12 +0200 Subject: [PATCH] RM-4295 - moved the placeholder lookup in the node validation method --- .../rm/rest/api/impl/RMNodesImpl.java | 26 ++++--------------- .../FileplanComponentsEntityResource.java | 13 +++++++++- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java index eaadab28ef..a9e1e10546 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java @@ -48,7 +48,6 @@ import org.alfresco.rest.api.impl.NodesImpl; import org.alfresco.rest.api.model.Node; import org.alfresco.rest.api.model.UserInfo; import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException; -import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; import org.alfresco.rest.framework.core.exceptions.PermissionDeniedException; import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.rm.rest.api.RMNodes; @@ -65,6 +64,7 @@ import org.alfresco.service.cmr.site.SiteService; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.util.Pair; +import org.alfresco.util.ParameterCheck; /** * Centralizes access to the repository. @@ -201,12 +201,9 @@ public class RMNodesImpl extends NodesImpl implements RMNodes } @Override - public NodeRef validateOrLookupNode(String nodeId, String path) + public NodeRef validateNode(String nodeId) { - if ((nodeId == null) || (nodeId.isEmpty())) - { - throw new InvalidArgumentException("Missing nodeId"); - } + ParameterCheck.mandatoryString("nodeId", nodeId); if (nodeId.equals(PATH_FILE_PLAN)) { @@ -257,9 +254,9 @@ public class RMNodesImpl extends NodesImpl implements RMNodes } } - return super.validateOrLookupNode(nodeId, path); + return super.validateNode(nodeId); } - + private RMNodeType getType(QName typeQName, NodeRef nodeRef) { // quick check for common types @@ -307,19 +304,6 @@ public class RMNodesImpl extends NodesImpl implements RMNodes return new Pair<>(searchTypeQNames, ignoreAspectQNames); } -/** - * Overridden this as a work around for REPO-1443 issue to remove after that issue is fixed - */ - @Override - public Node updateNode(String nodeId, Node nodeInfo, Parameters parameters) { - if ((nodeId == null) || (nodeId.isEmpty())) - { - throw new InvalidArgumentException("Missing nodeId"); - } - NodeRef nodeRef = validateOrLookupNode(nodeId, null); - return super.updateNode(nodeRef.getId(), nodeInfo, parameters); - } - /** * TODO only override core method when will be made protected in core(REPO-1459). * diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResource.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResource.java index dc016b0d22..e0d6c8c360 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResource.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResource.java @@ -35,6 +35,8 @@ import org.alfresco.rest.framework.resource.EntityResource; import org.alfresco.rest.framework.resource.actions.interfaces.EntityResourceAction; import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.rm.rest.api.RMNodes; +import org.alfresco.util.ParameterCheck; +import org.springframework.beans.factory.InitializingBean; /** * Fileplan component children @@ -46,7 +48,8 @@ import org.alfresco.rm.rest.api.RMNodes; public class FileplanComponentsEntityResource implements EntityResourceAction.ReadById, EntityResourceAction.Delete, - EntityResourceAction.Update + EntityResourceAction.Update, + InitializingBean { private RMNodes nodes; private String PARAM_PERMANENT = "permanent"; @@ -64,12 +67,14 @@ public class FileplanComponentsEntityResource implements } @Override + @WebApiDescription(title="Updates a node (file or folder) with id 'nodeId'") public Node update(String nodeId, Node nodeInfo, Parameters parameters) { return nodes.updateNode(nodeId, nodeInfo, parameters); } @Override + @WebApiDescription(title = "Delete Node", description="Delete the file or folder with id 'nodeId'. Folder will cascade delete") public void delete(String nodeId, Parameters parameters) { String permanentParameter = parameters.getParameter(PARAM_PERMANENT); @@ -79,4 +84,10 @@ public class FileplanComponentsEntityResource implements } nodes.deleteNode(nodeId, parameters); } + + @Override + public void afterPropertiesSet() throws Exception + { + ParameterCheck.mandatory("nodes", this.nodes); + } }