From 4aef437c1966acec4a07a2d0d1064a552e2801b0 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Mon, 26 Jan 2015 15:19:21 +0000 Subject: [PATCH] Merged DEV/BUGFIXING/HEAD-2014_12_09 to BRANCHES/V2.3: 93659: RM-1636 : Disposition steps can be executed for folder with frozen record - add a reference of FreezeService to TransferService and perform the full check only when the user tries to complete the transfer/accession git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@94045 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rm-service-context.xml | 1 + .../transfer/TransferServiceImpl.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) 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 ddbb398b5d..c1f310dd4d 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 @@ -166,6 +166,7 @@ + diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/transfer/TransferServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/transfer/TransferServiceImpl.java index 4f01c4ad5c..b6f1f4261f 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/transfer/TransferServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/transfer/TransferServiceImpl.java @@ -30,6 +30,7 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionAction; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionActionDefinition; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; +import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService; @@ -74,6 +75,9 @@ public class TransferServiceImpl extends ServiceBaseImpl /** Record folder service */ protected RecordFolderService recordFolderService; + /** Freeze Service */ + protected FreezeService freezeService; + /** * @param filePlanService file plan service */ @@ -106,6 +110,14 @@ public class TransferServiceImpl extends ServiceBaseImpl this.recordFolderService = recordFolderService; } + /** + * @param freezeService freeze service + */ + public void setFreezeService(FreezeService freezeService) + { + this.freezeService = freezeService; + } + /** * @see org.alfresco.module.org_alfresco_module_rm.transfer.TransferService#transfer(NodeRef, boolean) */ @@ -228,6 +240,10 @@ public class TransferServiceImpl extends ServiceBaseImpl List assocs = nodeService.getChildAssocs(nodeRef, ASSOC_TRANSFERRED, RegexQNamePattern.MATCH_ALL); for (ChildAssociationRef assoc : assocs) { + if (freezeService.hasFrozenChildren(assoc.getChildRef())) + { + throw new AlfrescoRuntimeException("Cound not complete a transfer that contain "); + } markComplete(assoc.getChildRef(), accessionIndicator, transferLocation); }