From 347a2ef9db9036487c9eeb21f9809be564c754f6 Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Thu, 21 Nov 2019 13:54:09 +1100 Subject: [PATCH] Prevent unwanted audit entries appearing when updating the records --- .../schedule/UpdateRecordScheduleGet.java | 84 ++++++++++--------- 1 file changed, 45 insertions(+), 39 deletions(-) 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 86213aff12..8e9c3c92d5 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 @@ -361,48 +361,54 @@ 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);