Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)

118692 jvonka: Merge from DEV/SABRE_JANV1 (part 2) - RA-613 / RA-655
   - File Folder API (PoC - experimental WIP)
   - TODO add tests +review backwards compat' (eg. favs)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126349 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jamal Kaabi-Mofrad
2016-05-10 10:26:33 +00:00
parent 4810279cb7
commit 17012b17b6
12 changed files with 967 additions and 484 deletions

View File

@@ -38,7 +38,7 @@ import java.util.List;
* @author janv
*/
@RelationshipResource(name = "children", entityResource = NodesEntityResource.class, title = "Folder children")
public class NodeChildrenRelation implements RelationshipResourceAction.Read<Node>, RelationshipResourceAction.Create<Folder>, InitializingBean
public class NodeChildrenRelation implements RelationshipResourceAction.Read<Node>, RelationshipResourceAction.Create<Node>, InitializingBean
{
private Nodes nodes;
@@ -84,22 +84,22 @@ public class NodeChildrenRelation implements RelationshipResourceAction.Read<Nod
}
/**
* Create one or more sub-folders below parent folder. Note: can also use well-known alias, eg. -root- or -my-
* Create one or more nodes (folder or empty file) below parent folder.
*
* TODO also consider option to create path - eg. by passing name path in name (see Sparta API as an example) ... or should this be a separate API ?
* Note: for parent folder nodeId, can also use well-known alias, eg. -root- or -my-
*
* If parentFolderNodeId does not exist, EntityNotFoundException (status 404).
* If parentFolderNodeId does not represent a folder, InvalidArgumentException (status 400).
*/
@Override
@WebApiDescription(title="Create one (or more) folder(s) as a child of folder identified by parentFolderNodeId")
public List<Folder> create(String parentFolderNodeId, List<Folder> folderInfos, Parameters parameters)
@WebApiDescription(title="Create one (or more) nodes as children of folder identified by parentFolderNodeId")
public List<Node> create(String parentFolderNodeId, List<Node> nodeInfos, Parameters parameters)
{
List<Folder> result = new ArrayList<>(folderInfos.size());
List<Node> result = new ArrayList<>(nodeInfos.size());
for (Folder folderInfo : folderInfos)
for (Node nodeInfo : nodeInfos)
{
result.add(nodes.createFolder(parentFolderNodeId, folderInfo, parameters));
result.add(nodes.createNode(parentFolderNodeId, nodeInfo, parameters));
}
return result;