mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Revert "Merge pull request #1291 from Alfresco/hotfix-3.2.0.11/MNT-22062_diplay_cat_retention_poor_performance"
This reverts commit2f0b1c997f
, reversing changes made toea7b125fda
.
This commit is contained in:
@@ -503,52 +503,7 @@ public class DispositionServiceImpl extends ServiceBaseImpl
|
|||||||
@Override
|
@Override
|
||||||
public boolean hasDisposableItems(DispositionSchedule dispositionSchdule)
|
public boolean hasDisposableItems(DispositionSchedule dispositionSchdule)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatory("dispositionSchedule", dispositionSchdule);
|
return !getDisposableItems(dispositionSchdule).isEmpty();
|
||||||
|
|
||||||
// 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<NodeRef> items = filePlanService.getAllContained(rmContainer);
|
|
||||||
for (NodeRef item : items)
|
|
||||||
{
|
|
||||||
if (recordFolderService.isRecordFolder(item))
|
|
||||||
{
|
|
||||||
if (isRecordLevelDisposition)
|
|
||||||
{
|
|
||||||
List<ChildAssociationRef> 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user