fix for community rest api

This commit is contained in:
Piero Cittadino
2021-02-03 23:34:52 +02:00
parent ade46ef768
commit 02039d455e

View File

@@ -205,14 +205,14 @@ public class RMAfterInvocationProvider extends RMSecurityCommon
{ {
return decide(authentication, object, config, (AssociationRef) returnedObject); 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())) else if (PagingLuceneResultSet.class.isAssignableFrom(returnedObject.getClass()))
{ {
return decide(authentication, object, config, (PagingLuceneResultSet) returnedObject); 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())) else if (QueryEngineResults.class.isAssignableFrom(returnedObject.getClass()))
{ {
return decide(authentication, object, config, (QueryEngineResults) returnedObject); 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) 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); 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) private ResultSet decide(Authentication authentication, Object object, ConfigAttributeDefinition config, ResultSet returnedObject)