From 0a79d24defc9a8ff106b2dfe37f147be9e105823 Mon Sep 17 00:00:00 2001 From: roxana Date: Mon, 31 Oct 2016 14:41:58 +0200 Subject: [PATCH] Renamed method for calculating next disposition step and added null check. --- .../rm-service-context.xml | 2 +- .../disposition/DispositionService.java | 2 +- .../disposition/DispositionServiceImpl.java | 25 +++++++++++-------- .../record/RecordServiceImpl.java | 6 ++--- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml index 81a2ad8478..6b39ea2065 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml @@ -142,7 +142,7 @@ org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.updateDispositionActionDefinition=RM_ALLOW org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.isNextDispositionActionEligible=RM.Read.0 org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getNextDispositionAction=RM.Read.0 - org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.updateDispositionWhenLinkingOrUnlinking=RM.Read.0 + org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.recalculateNextDispositionStep=RM.Read.0 org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getCompletedDispositionActions=RM.Read.0 org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getLastCompletedDispostionAction=RM.Read.0 org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.isDisposableItemCutoff=RM.Read.0 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java index 67e0ff072d..a666b950c4 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionService.java @@ -271,5 +271,5 @@ public interface DispositionService * * @param record */ - void updateDispositionWhenLinkingOrUnlinking(NodeRef record); + void recalculateNextDispositionStep(NodeRef record); } diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java index 272a2beb7a..2dcd859cf4 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/disposition/DispositionServiceImpl.java @@ -1095,24 +1095,27 @@ public class DispositionServiceImpl extends ServiceBaseImpl return null; } - public void updateDispositionWhenLinkingOrUnlinking(NodeRef record) + public void recalculateNextDispositionStep(NodeRef record) { List recordFolders = recordFolderService.getRecordFolders(record); DispositionAction nextDispositionAction = getNextDispositionAction(record); - NextActionFromDisposition dsNextAction = getNextDispositionAction(record, recordFolders, nextDispositionAction); - final NodeRef action = dsNextAction.getNextActionNodeRef(); - final Date dispositionActionDate = dsNextAction.getNextActionDateAsOf(); - AuthenticationUtil.runAsSystem(new RunAsWork() + if (nextDispositionAction != null) { - @Override - public Void doWork() + NextActionFromDisposition dsNextAction = getNextDispositionAction(record, recordFolders, nextDispositionAction); + final NodeRef action = dsNextAction.getNextActionNodeRef(); + final Date dispositionActionDate = dsNextAction.getNextActionDateAsOf(); + AuthenticationUtil.runAsSystem(new RunAsWork() { - nodeService.setProperty(action, PROP_DISPOSITION_AS_OF, dispositionActionDate); - return null; - } - }); + @Override + public Void doWork() + { + nodeService.setProperty(action, PROP_DISPOSITION_AS_OF, dispositionActionDate); + return null; + } + }); + } } /** diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java index c56cec4f50..22d4c95733 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/record/RecordServiceImpl.java @@ -546,7 +546,7 @@ public class RecordServiceImpl extends BaseBehaviourBean // create and file the content as a record file(nodeRef); // recalculate disposition schedule for the record when linking it - dispositionService.updateDispositionWhenLinkingOrUnlinking(nodeRef); + dispositionService.recalculateNextDispositionStep(nodeRef); } } } @@ -1720,7 +1720,7 @@ public class RecordServiceImpl extends BaseBehaviourBean QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, name)); // recalculate disposition schedule for the record when linking it - dispositionService.updateDispositionWhenLinkingOrUnlinking(record); + dispositionService.recalculateNextDispositionStep(record); } else { @@ -1779,7 +1779,7 @@ public class RecordServiceImpl extends BaseBehaviourBean nodeService.removeChild(recordFolder, record); // recalculate disposition schedule for record after unlinking it - dispositionService.updateDispositionWhenLinkingOrUnlinking(record); + dispositionService.recalculateNextDispositionStep(record); } else {