diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml index 74b8b672fb..4f3404a3ae 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml @@ -41,10 +41,18 @@ - - + + + + + + + + + + + + + - - - \ No newline at end of file diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryChildrenRelation.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryChildrenRelation.java index 35491ad896..aa48716a8d 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryChildrenRelation.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryChildrenRelation.java @@ -38,7 +38,7 @@ import org.alfresco.rest.framework.resource.RelationshipResource; import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; import org.alfresco.rest.framework.resource.parameters.Parameters; -@RelationshipResource(name="category-children", entityResource = RMNodesEntityResource.class, title = "Children of Category type") +@RelationshipResource(name="category-children", entityResource = CategoryEntityResource.class, title = "Children of Category type") public class CategoryChildrenRelation implements RelationshipResourceAction.Create { diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryEntityResource.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryEntityResource.java new file mode 100644 index 0000000000..f5eef95d34 --- /dev/null +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/CategoryEntityResource.java @@ -0,0 +1,36 @@ +/* + * #%L + * Alfresco Records Management Module + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ + +package org.alfresco.module.org_alfresco_module_rm.rest.api; + +import org.alfresco.rest.framework.resource.EntityResource; + +@EntityResource(name="categories", title = "Categories") +public class CategoryEntityResource +{ + +} diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/FileplanChildrenRelation.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/FileplanChildrenRelation.java new file mode 100644 index 0000000000..b8d07d8137 --- /dev/null +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/FileplanChildrenRelation.java @@ -0,0 +1,53 @@ +/* + * #%L + * Alfresco Records Management Module + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ + +package org.alfresco.module.org_alfresco_module_rm.rest.api; + +import org.alfresco.rest.api.Nodes; +import org.alfresco.rest.api.model.Node; +import org.alfresco.rest.framework.resource.RelationshipResource; +import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; +import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo; +import org.alfresco.rest.framework.resource.parameters.Parameters; + +@RelationshipResource(name="children", entityResource = RMFileplanComponentsEntityResource.class, title = "Children of fileplan component") +public class FileplanChildrenRelation implements RelationshipResourceAction.Read +{ + private Nodes nodes; + + public void setNodes(Nodes nodes) + { + this.nodes = nodes; + } + + @Override + public CollectionWithPagingInfo readAll(String parentFolderNodeId, Parameters parameters) + { + return nodes.listChildren(parentFolderNodeId, parameters); + } + +} diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/RMNodesEntityResource.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/RMFileplanComponentsEntityResource.java similarity index 64% rename from rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/RMNodesEntityResource.java rename to rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/RMFileplanComponentsEntityResource.java index ab294d2e0b..c8860d17b1 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/RMNodesEntityResource.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/RMFileplanComponentsEntityResource.java @@ -27,30 +27,31 @@ package org.alfresco.module.org_alfresco_module_rm.rest.api; -import org.alfresco.module.org_alfresco_module_rm.rest.api.model.RMNode; -import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException; +import org.alfresco.rest.api.Nodes; +import org.alfresco.rest.api.model.Node; +import org.alfresco.rest.framework.WebApiDescription; +import org.alfresco.rest.framework.WebApiParam; import org.alfresco.rest.framework.resource.EntityResource; import org.alfresco.rest.framework.resource.actions.interfaces.EntityResourceAction; import org.alfresco.rest.framework.resource.parameters.Parameters; -@EntityResource(name="nodes", title = "Nodes") -public class RMNodesEntityResource implements - EntityResourceAction.ReadById, - EntityResourceAction.Update +@EntityResource(name="fileplan-components", title = "Fileplan Components") +public class RMFileplanComponentsEntityResource implements + EntityResourceAction.ReadById { - @Override - public String readById(String arg0, Parameters arg1) throws EntityNotFoundException + private Nodes nodes; + + public void setNodes(Nodes nodes) { - return null; + this.nodes = nodes; } - @Override - public RMNode update(String arg0, RMNode arg1, Parameters arg2) + @WebApiDescription(title = "Get Node Information", description = "Get information for the fileplan component with id 'nodeId'") + @WebApiParam(name = "nodeId", title = "The node id") + public Node readById(String nodeId, Parameters parameters) { - // TODO Auto-generated method stub - return null; + return nodes.getFolderOrDocument(nodeId, parameters); } - } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/impl/RMNodesImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/impl/RMNodesImpl.java index 33a797f2f9..bd6badcf37 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/impl/RMNodesImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/impl/RMNodesImpl.java @@ -27,15 +27,24 @@ package org.alfresco.module.org_alfresco_module_rm.rest.api.impl; +import java.util.List; +import java.util.Map; + +import org.alfresco.module.org_alfresco_module_rm.rest.api.model.RMNode; import org.alfresco.rest.api.impl.NodesImpl; +import org.alfresco.rest.api.model.Node; +import org.alfresco.rest.api.model.UserInfo; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.namespace.QName; public class RMNodesImpl extends NodesImpl { - -// @Override -// public Node getFolderOrDocument(String nodeId, Parameters parameters) -// { -// return null; -// } - + @Override + public Node getFolderOrDocument(final NodeRef nodeRef, NodeRef parentNodeRef, QName nodeTypeQName, List includeParam, Map mapUserInfo) + { + Node node = super.getFolderOrDocument(nodeRef, parentNodeRef, nodeTypeQName, includeParam, mapUserInfo); + Node node2 = new RMNode(node); + + return node2; + } } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/model/RMNode.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/model/RMNode.java index 8cd7e2a5cb..335333f1e5 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/model/RMNode.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/rest/api/model/RMNode.java @@ -27,7 +27,16 @@ package org.alfresco.module.org_alfresco_module_rm.rest.api.model; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.alfresco.rest.api.model.AssocChild; +import org.alfresco.rest.api.model.AssocTarget; import org.alfresco.rest.api.model.Node; +import org.alfresco.rest.api.model.PathInfo; +import org.alfresco.rest.api.model.UserInfo; +import org.alfresco.service.cmr.repository.NodeRef; public class RMNode extends Node { @@ -42,4 +51,29 @@ public class RMNode extends Node { this.hasRetentionSchedule = hasRetentionSchedule; } + + public RMNode(Node node) + { + this.nodeRef = node.getNodeRef(); + this.name = node.getName(); + this.createdAt = node.getCreatedAt(); + this.modifiedAt = node.getModifiedAt(); + this.createdByUser = node.getCreatedByUser(); + this.modifiedByUser = node.getModifiedByUser(); + this.archivedAt = node.getArchivedAt(); + this.archivedByUser = node.getArchivedByUser(); + this.isFolder = node.getIsFolder(); + this.isFile = node.getIsFile(); + this.isLink = node.getIsLink(); + this.parentNodeRef = node.getParentId(); + this.pathInfo = node.getPath(); + this.relativePath = node.getRelativePath(); + this.secondaryChildren = node.getSecondaryChildren(); + this.targets = node.getTargets(); + this.aspectNames = node.getAspectNames(); + this.properties = node.getProperties(); + this.allowableOperations = node.getAllowableOperations(); + + this.hasRetentionSchedule = true; + } }