diff --git a/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml b/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml index 67152cf0f6..25205b9104 100644 --- a/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml +++ b/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-public-rest-context.xml @@ -81,6 +81,7 @@ + diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/fileplans/FilePlanRolesRelation.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/fileplans/FilePlanRolesRelation.java index 183234f42e..a6200e9063 100644 --- a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/fileplans/FilePlanRolesRelation.java +++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/fileplans/FilePlanRolesRelation.java @@ -30,7 +30,9 @@ import static org.alfresco.util.ParameterCheck.mandatory; import org.springframework.beans.factory.InitializingBean; +import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; +import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException; import org.alfresco.rest.framework.resource.RelationshipResource; import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction; import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo; @@ -44,6 +46,7 @@ import org.alfresco.service.cmr.repository.NodeRef; public class FilePlanRolesRelation implements RelationshipResourceAction.Read, InitializingBean { private RMRoles rmRoles; + private FilePlanService filePlanService; private FilePlanComponentsApiUtils apiUtils; @Override @@ -51,15 +54,31 @@ public class FilePlanRolesRelation implements RelationshipResourceAction.Read readAll(String filePlanId, Parameters params) { - NodeRef filePlanNodeRef = apiUtils.lookupAndValidateNodeType(filePlanId, RecordsManagementModel.TYPE_FILE_PLAN); + NodeRef filePlanNodeRef = getFilePlan(filePlanId); + if (filePlanNodeRef == null) + { + throw new EntityNotFoundException(filePlanId); + } + return rmRoles.getRoles(filePlanNodeRef, params); } + private NodeRef getFilePlan(String filePlanId) + { + NodeRef filePlanNodeRef = apiUtils.lookupAndValidateNodeType(filePlanId, RecordsManagementModel.TYPE_FILE_PLAN); + if (!FilePlanComponentsApiUtils.FILE_PLAN_ALIAS.equals(filePlanId)) + { + filePlanNodeRef = filePlanService.getFilePlan(filePlanNodeRef); + } + return filePlanNodeRef; + } + public void setRmRoles(RMRoles rmRoles) { this.rmRoles = rmRoles; @@ -69,4 +88,9 @@ public class FilePlanRolesRelation implements RelationshipResourceAction.Read