diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/repo/web/scripts/schedule/UpdateRecordScheduleGet.java b/rm-community/rm-community-repo/source/java/org/alfresco/repo/web/scripts/schedule/UpdateRecordScheduleGet.java index 5f4f15acc5..ee5c16207e 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/repo/web/scripts/schedule/UpdateRecordScheduleGet.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/repo/web/scripts/schedule/UpdateRecordScheduleGet.java @@ -377,49 +377,52 @@ public class UpdateRecordScheduleGet extends AbstractWebScript implements Record public Integer execute() throws Throwable { int recordCount = 0; - - behaviourFilter.disableBehaviour(recordFolder); - if (logger.isDebugEnabled()) + + behaviourFilter.disableBehaviour(ASPECT_FILE_PLAN_COMPONENT); + try { - logger.info("Checking folder: " + recordFolder); + if (logger.isDebugEnabled()) + { + logger.info("Checking folder: " + recordFolder); + } + recordCount = AuthenticationUtil.runAsSystem(new AuthenticationUtil.RunAsWork() + { + @Override + public Integer doWork() throws Exception + { + DispositionSchedule schedule = dispositionService.getDispositionSchedule(recordFolder); + int innerRecordCount = 0; + if (schedule != null && schedule.isRecordLevelDisposition()) + { + + List records = recordService.getRecords(recordFolder); + for (NodeRef record : records) + { + if (!nodeService.hasAspect(record, ASPECT_DISPOSITION_LIFECYCLE)) + { + if (recordFolder.equals(nodeService.getPrimaryParent(record).getParentRef())) + { + if (logger.isDebugEnabled()) + { + logger.info("updating record: " + record); + } + + // update record disposition information + dispositionService.updateNextDispositionAction(record, schedule); + innerRecordCount++; + } + } + } + } + return innerRecordCount; + } + }); + nodeService.addAspect(recordFolder, ASPECT_DISPOSITION_PROCESSED, null); } - recordCount = AuthenticationUtil.runAsSystem(new AuthenticationUtil.RunAsWork() + finally { - @Override - public Integer doWork() throws Exception - { - DispositionSchedule schedule = dispositionService.getDispositionSchedule(recordFolder); - int innerRecordCount = 0; - if (schedule != null && schedule.isRecordLevelDisposition()) - { - - List records = recordService.getRecords(recordFolder); - for (NodeRef record : records) - { - if (!nodeService.hasAspect(record, ASPECT_DISPOSITION_LIFECYCLE)) - { - if (recordFolder.equals(nodeService.getPrimaryParent(record) - .getParentRef())) - { - if (logger.isDebugEnabled()) - { - logger.info("updating record: " + record); - } - behaviourFilter.disableBehaviour(record); - dispositionService.updateNextDispositionAction(record, schedule); - innerRecordCount++; - behaviourFilter.enableBehaviour(record); - } - - } - } - - } - return innerRecordCount; - } - }); - nodeService.addAspect(recordFolder, ASPECT_DISPOSITION_PROCESSED, null); - behaviourFilter.enableBehaviour(recordFolder); + behaviourFilter.enableBehaviour(ASPECT_FILE_PLAN_COMPONENT); + } return recordCount; } }, false, true);