From e7b3724d44a7d768bce3a6dada5426e123e7265d Mon Sep 17 00:00:00 2001 From: ehardon Date: Tue, 8 Dec 2020 12:06:01 +0200 Subject: [PATCH] Revert "Merge pull request #1291 from Alfresco/hotfix-3.2.0.11/MNT-22062_diplay_cat_retention_poor_performance" This reverts commit 2f0b1c997f1c4318f8285b7c4278c4cbbdebc5be, reversing changes made to ea7b125fda494af7681fe3859cdf5161f274da29. --- .../disposition/DispositionServiceImpl.java | 47 +------------------ 1 file changed, 1 insertion(+), 46 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 0abdf64dd6..5502aed5ba 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 @@ -503,52 +503,7 @@ public class DispositionServiceImpl extends ServiceBaseImpl @Override public boolean hasDisposableItems(DispositionSchedule dispositionSchdule) { - ParameterCheck.mandatory("dispositionSchedule", dispositionSchdule); - - // Get the associated container - NodeRef rmContainer = getAssociatedRecordsManagementContainer(dispositionSchdule); - - return hasDisposableItemsImpl(dispositionSchdule.isRecordLevelDisposition(), rmContainer); - } - - /** - * Method that provides a boolean if given Records Management Container has disposable items. - * This method is similar to getDisposableItemsImpl(boolean isRecordLevelDisposition, NodeRef rmContainer) but with improved performance: - * For RecordLevelDisposition it will limit Record retrieval to 1. - * Early returns once the first occurrence is found. - * @param isRecordLevelDisposition - * @param rmContainer - * @return - */ - private boolean hasDisposableItemsImpl(boolean isRecordLevelDisposition, NodeRef rmContainer) - { - List items = filePlanService.getAllContained(rmContainer); - for (NodeRef item : items) - { - if (recordFolderService.isRecordFolder(item)) - { - if (isRecordLevelDisposition) - { - List assocs = nodeService.getChildAssocs(item, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL, 1, true); - if (!assocs.isEmpty()) - { - return true; - } - } - else - { - return true; - } - } - else if (filePlanService.isRecordCategory(item) && getAssociatedDispositionScheduleImpl(item) == null) - { - if (hasDisposableItemsImpl(isRecordLevelDisposition, item)); - { - return true; - } - } - } - return false; + return !getDisposableItems(dispositionSchdule).isEmpty(); } /**