From 67ad6b4214d89f11d35ffa266d95044d3e061656 Mon Sep 17 00:00:00 2001 From: roxana Date: Fri, 21 Oct 2016 11:13:51 +0300 Subject: [PATCH] Checking if disposition as of date was changed manually. (cherry picked from commit fd6fcd8e1442102a446971f691e78780cd576674) --- .../disposition/DispositionServiceImpl.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) 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 b4b1ec1d4a..38ff47a0af 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 @@ -27,6 +27,8 @@ package org.alfresco.module.org_alfresco_module_rm.disposition; +import static org.apache.commons.lang3.BooleanUtils.isNotTrue; + import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -289,26 +291,30 @@ public class DispositionServiceImpl extends ServiceBaseImpl if (dsNextAction != null) { - if (!dsNextAction.getWriteMode().equals(WriteMode.READ_ONLY)) + final NodeRef action = dsNextAction.getNextActionNodeRef(); + if (isNotTrue((Boolean)nodeService.getProperty(action, PROP_MANUALLY_SET_AS_OF))) { - final NodeRef action = dsNextAction.getNextActionNodeRef(); - final String dispositionActionName = dsNextAction.getNextActionName(); - final Date dispositionActionDate = dsNextAction.getNextActionDateAsOf(); - - AuthenticationUtil.runAsSystem(new RunAsWork() + if (!dsNextAction.getWriteMode().equals(WriteMode.READ_ONLY)) { - @Override - public Void doWork() + final String dispositionActionName = dsNextAction.getNextActionName(); + final Date dispositionActionDate = dsNextAction.getNextActionDateAsOf(); + + AuthenticationUtil.runAsSystem(new RunAsWork() { - nodeService.setProperty(action, PROP_DISPOSITION_AS_OF, dispositionActionDate); - if (dsNextAction.getWriteMode().equals(WriteMode.DATE_AND_NAME)) + @Override + public Void doWork() { - nodeService.setProperty(action, PROP_DISPOSITION_ACTION_NAME, dispositionActionName); + nodeService.setProperty(action, PROP_DISPOSITION_AS_OF, dispositionActionDate); + if (dsNextAction.getWriteMode().equals(WriteMode.DATE_AND_NAME)) + { + nodeService.setProperty(action, PROP_DISPOSITION_ACTION_NAME, dispositionActionName); + } + return null; } - return null; - } - }); + }); + } } + dsNodeRef = dsNextAction.getDispositionNodeRef(); } }