diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java index 8ed963c752..85a64b7c01 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java @@ -485,6 +485,7 @@ public class RMAfterInvocationProvider extends RMSecurityCommon returnedObject.getResultSetMetaData().getLimitedBy(), PermissionEvaluationMode.EAGER, returnedObject.getResultSetMetaData().getSearchParameters())); + filteringResultSet.setNumberFound(returnedObject.getNumberFound()); return filteringResultSet; } else @@ -498,6 +499,7 @@ public class RMAfterInvocationProvider extends RMSecurityCommon returnedObject.getResultSetMetaData().getLimitedBy(), PermissionEvaluationMode.EAGER, returnedObject.getResultSetMetaData().getSearchParameters())); + filteringResultSet.setNumberFound(returnedObject.getNumberFound()); return filteringResultSet; } } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionScheduleImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionScheduleImpl.java index 5ab334b6a9..eec7f3db4e 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionScheduleImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionScheduleImpl.java @@ -35,6 +35,7 @@ import java.util.Map; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.RecordsManagementServiceRegistry; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; @@ -51,7 +52,10 @@ public class DispositionScheduleImpl implements DispositionSchedule, private NodeService nodeService; private RecordsManagementServiceRegistry services; private NodeRef dispositionDefinitionNodeRef; - + /** authentication helper */ + private AuthenticationUtil authenticationUtil; + + private List actions; private Map actionsById; @@ -61,6 +65,11 @@ public class DispositionScheduleImpl implements DispositionSchedule, /** Map of disposition definitions by disposition action name */ private Map actionsByDispositionActionName; + + public void setAuthenticationUtil(AuthenticationUtil authenticationUtil) + { + this.authenticationUtil = authenticationUtil; + } public DispositionScheduleImpl(RecordsManagementServiceRegistry services, NodeService nodeService, NodeRef nodeRef) { @@ -100,13 +109,18 @@ public class DispositionScheduleImpl implements DispositionSchedule, */ public boolean isRecordLevelDisposition() { - boolean result = false; - Boolean value = (Boolean)this.nodeService.getProperty(this.dispositionDefinitionNodeRef, PROP_RECORD_LEVEL_DISPOSITION); - if (value != null) + return authenticationUtil.runAsSystem(new AuthenticationUtil.RunAsWork() { - result = value.booleanValue(); - } - return result; + public Boolean doWork() throws Exception + { + Boolean value = (Boolean)nodeService.getProperty(dispositionDefinitionNodeRef, PROP_RECORD_LEVEL_DISPOSITION); + if (value != null) + { + return value.booleanValue(); + } + return null; + } + }); } /** diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java index 32f68c1bb5..d3cd3cb49d 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java @@ -348,6 +348,9 @@ public class DispositionServiceImpl extends ServiceBaseImpl return ds; } + + + /** * This method returns a NodeRef * Gets the disposition instructions @@ -380,7 +383,7 @@ public class DispositionServiceImpl extends ServiceBaseImpl NodeRef result = getAssociatedDispositionScheduleImpl(parent); if (result == null) { - return getOriginDispositionSchedule(parent); + return null; } return new DispositionScheduleImpl(serviceRegistry, nodeService, result); }