From 02039d455e981924edc1a9f9486e47ca347f81db Mon Sep 17 00:00:00 2001 From: Piero Cittadino <63122825+pieCit87@users.noreply.github.com> Date: Wed, 3 Feb 2021 23:34:52 +0200 Subject: [PATCH] fix for community rest api --- .../capability/RMAfterInvocationProvider.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java index ad0c1618db..cf5c8d36b0 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMAfterInvocationProvider.java @@ -205,14 +205,14 @@ public class RMAfterInvocationProvider extends RMSecurityCommon { return decide(authentication, object, config, (AssociationRef) returnedObject); } - else if (ResultSet.class.isAssignableFrom(returnedObject.getClass())) - { - return decide(authentication, object, config, (ResultSet) returnedObject); - } else if (PagingLuceneResultSet.class.isAssignableFrom(returnedObject.getClass())) { return decide(authentication, object, config, (PagingLuceneResultSet) returnedObject); } + else if (ResultSet.class.isAssignableFrom(returnedObject.getClass())) + { + return decide(authentication, object, config, (ResultSet) returnedObject); + } else if (QueryEngineResults.class.isAssignableFrom(returnedObject.getClass())) { return decide(authentication, object, config, (QueryEngineResults) returnedObject); @@ -422,9 +422,11 @@ public class RMAfterInvocationProvider extends RMSecurityCommon private ResultSet decide(Authentication authentication, Object object, ConfigAttributeDefinition config, PagingLuceneResultSet returnedObject) { - ResultSet raw = returnedObject.getWrapped(); + ResultSet raw = ((FilteringResultSet) returnedObject.getWrapped()).getUnFilteredResultSet(); ResultSet filteredForPermissions = decide(authentication, object, config, raw); - return new PagingLuceneResultSet(filteredForPermissions, returnedObject.getResultSetMetaData().getSearchParameters(), nodeService); + PagingLuceneResultSet plrs = new PagingLuceneResultSet(filteredForPermissions, returnedObject.getResultSetMetaData().getSearchParameters(), nodeService); + plrs.setTrimmedResultSet(true); + return plrs; } private ResultSet decide(Authentication authentication, Object object, ConfigAttributeDefinition config, ResultSet returnedObject)