From cc777a14d889279efa270cb5cfc2d13f0633561a Mon Sep 17 00:00:00 2001 From: Jamal Kaabi-Mofrad Date: Tue, 10 May 2016 10:53:54 +0000 Subject: [PATCH] Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2) 121870 gjames: Adding copy and move actions to the NodeEntityResource git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126432 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/rest/api/model/NodeTarget.java | 47 +++++++++++++++++++ .../rest/api/nodes/NodesEntityResource.java | 18 +++++++ 2 files changed, 65 insertions(+) create mode 100644 source/java/org/alfresco/rest/api/model/NodeTarget.java diff --git a/source/java/org/alfresco/rest/api/model/NodeTarget.java b/source/java/org/alfresco/rest/api/model/NodeTarget.java new file mode 100644 index 0000000000..afe2c2cca9 --- /dev/null +++ b/source/java/org/alfresco/rest/api/model/NodeTarget.java @@ -0,0 +1,47 @@ +package org.alfresco.rest.api.model; + +import org.alfresco.service.cmr.repository.NodeRef; + +/** + * A target object. + * @author Gethin James + */ +public class NodeTarget extends Target +{ + String targetParentId; + String name; + + public NodeTarget() + { + } + + public String getTargetParentId() + { + return targetParentId; + } + + public void setTargetParentId(String targetParentId) + { + this.targetParentId = targetParentId; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + @Override + public String toString() + { + final StringBuilder sb = new StringBuilder("NodeTarget{"); + sb.append("targetParentId=").append(targetParentId); + sb.append(", name='").append(name).append('\''); + sb.append('}'); + return sb.toString(); + } +} diff --git a/source/java/org/alfresco/rest/api/nodes/NodesEntityResource.java b/source/java/org/alfresco/rest/api/nodes/NodesEntityResource.java index 5f6784bb74..97d4088ef2 100644 --- a/source/java/org/alfresco/rest/api/nodes/NodesEntityResource.java +++ b/source/java/org/alfresco/rest/api/nodes/NodesEntityResource.java @@ -20,6 +20,8 @@ package org.alfresco.rest.api.nodes; import org.alfresco.rest.api.Nodes; import org.alfresco.rest.api.model.Node; +import org.alfresco.rest.api.model.NodeTarget; +import org.alfresco.rest.framework.Action; import org.alfresco.rest.framework.BinaryProperties; import org.alfresco.rest.framework.WebApiDescription; import org.alfresco.rest.framework.WebApiParam; @@ -120,4 +122,20 @@ public class NodesEntityResource implements { nodes.deleteNode(nodeId); } + + @Action("copy") + @WebApiDescription(title = "Copy Node", description="Copy one or more nodes (files or folders) to a new target folder, with option to rename.") + public Node copyById(String nodeId, NodeTarget target, Parameters parameters) + { + return nodes.copyNode(nodeId, target.getTargetParentId(), target.getName(), parameters); + } + + @Action("move") + @WebApiDescription(title = "Move Node", description="Moves one or more nodes (files or folders) to a new target folder, with option to rename.") + public Node moveById(String nodeId, NodeTarget target, Parameters parameters) + { + return nodes.moveNode(nodeId, target.getTargetParentId(), target.getName(), parameters); + } + } +