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;
+ }
}