diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/interceptor/processor/PagingResultsPostMethodInvocationProcessor.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/interceptor/processor/PagingResultsPostMethodInvocationProcessor.java index 407042c326..0fca697cdc 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/interceptor/processor/PagingResultsPostMethodInvocationProcessor.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/interceptor/processor/PagingResultsPostMethodInvocationProcessor.java @@ -56,33 +56,37 @@ public class PagingResultsPostMethodInvocationProcessor extends BasePostMethodIn { final PagingResults pagingResults = getClassName().cast(result); List page = pagingResults.getPage(); + int originalPageSize = page.size(); final List processedPage = getPostMethodInvocationProcessor().process(page); - result = (T) new PagingResults() + if (processedPage != null && processedPage.size() != originalPageSize) { - @Override - public String getQueryExecutionId() + result = (T) new PagingResults() { - return pagingResults.getQueryExecutionId(); - } - @Override - public List getPage() - { - return processedPage; - } - @Override - public boolean hasMoreItems() - { - // hasMoreItems might not be correct. Cannot determine the correct value as request details are needed. - return pagingResults.hasMoreItems(); - } - @Override - public Pair getTotalResultCount() - { - // getTotalResultCount may not be correct. We haven't checked how many other results will be filtered. - return pagingResults.getTotalResultCount(); - } - }; + @Override + public String getQueryExecutionId() + { + return pagingResults.getQueryExecutionId(); + } + @Override + public List getPage() + { + return processedPage; + } + @Override + public boolean hasMoreItems() + { + // hasMoreItems might not be correct. Cannot determine the correct value as request details are needed. + return pagingResults.hasMoreItems(); + } + @Override + public Pair getTotalResultCount() + { + int size = processedPage.size(); + return new Pair(size, size); + } + }; + } } return result;