From cc968e5aa82f5f79491e4d6cb29e52f89e5c56d4 Mon Sep 17 00:00:00 2001 From: cagache Date: Fri, 16 Aug 2019 17:28:53 +0300 Subject: [PATCH 1/2] small fix --- .../hold/HoldServiceImpl.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java index e2bdd33280..70a08a409c 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java @@ -229,7 +229,7 @@ public class HoldServiceImpl extends ServiceBaseImpl { // remove the freeze aspect from the node //set in transaction cache in order not to trigger update policy when removing the aspect - transactionalResourceHelper.getSet(nodeRef).add("frozen"); + transactionalResourceHelper.getSet("frozen").add(nodeRef); nodeService.removeAspect(nodeRef, ASPECT_FROZEN); } @@ -245,7 +245,7 @@ public class HoldServiceImpl extends ServiceBaseImpl { // remove the freeze aspect from the node //set in transaction cache in order not to trigger update policy when removing the aspect - transactionalResourceHelper.getSet(record).add("frozen"); + transactionalResourceHelper.getSet("frozen").add(record); nodeService.removeAspect(record, ASPECT_FROZEN); } } @@ -721,19 +721,17 @@ public class HoldServiceImpl extends ServiceBaseImpl // run as system so we don't run into further permission issues // we already know we have to have the correct capability to get here authenticationUtil.runAsSystem((RunAsWork) () -> { - { + // remove from hold + //set in transaction cache in order not to trigger update policy when removing the child association + transactionalResourceHelper.getSet("frozen").add(nodeRef); + nodeService.removeChild(hold, nodeRef); - // remove from hold - //set in transaction cache in order not to trigger update policy when removing the child association - transactionalResourceHelper.getSet(nodeRef).add("frozen"); - nodeService.removeChild(hold, nodeRef); + // audit that the node has been remove from the hold + // TODO add details of the hold that the node was removed from + recordsManagementAuditService.auditEvent(nodeRef, AUDIT_REMOVE_FROM_HOLD); - // audit that the node has been remove from the hold - // TODO add details of the hold that the node was removed from - recordsManagementAuditService.auditEvent(nodeRef, AUDIT_REMOVE_FROM_HOLD); + return null; - return null; - } }); } } From f858d6d203725b505502afad99632242e55d1cb9 Mon Sep 17 00:00:00 2001 From: cagache Date: Fri, 16 Aug 2019 19:08:54 +0300 Subject: [PATCH 2/2] Added fix to not trigger onUpdateProperties policy when deleting a hold. --- .../module/org_alfresco_module_rm/hold/HoldServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java index 70a08a409c..c4da746aa2 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java @@ -202,6 +202,8 @@ public class HoldServiceImpl extends ServiceBaseImpl List frozenNodes = getHeld(hold); for (NodeRef frozenNode : frozenNodes) { + //set in transaction cache in order not to trigger update policy when removing the child association + transactionalResourceHelper.getSet("frozen").add(frozenNode); removeFreezeAspect(frozenNode, 1); }