diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/SearchTypesFactory.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/SearchTypesFactory.java index 1989162c6b..e8a1f41a9e 100644 --- a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/SearchTypesFactory.java +++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/SearchTypesFactory.java @@ -92,7 +92,7 @@ public class SearchTypesFactory boolean includeRecords = false; boolean includeSubTypes = false; - if (q != null) + if (q != null && q.getTree() != null) { // filtering via "where" clause MapBasedQueryWalker propertyWalker = new MapBasedQueryWalker(listFolderChildrenEqualsQueryProperties, null); @@ -101,11 +101,11 @@ public class SearchTypesFactory Boolean isUnfiledRecordFolder = propertyWalker.getProperty(UnfiledChild.PARAM_IS_UNFILED_RECORD_FOLDER, WhereClauseParser.EQUALS, Boolean.class); Boolean isRecord = propertyWalker.getProperty(UnfiledChild.PARAM_IS_RECORD, WhereClauseParser.EQUALS, Boolean.class); - if ((isUnfiledRecordFolder != null && isUnfiledRecordFolder.booleanValue()) || (isRecord != null && !isRecord.booleanValue())) + if (checkIncludeUnfiledRecordFolders(isUnfiledRecordFolder, isRecord)) { includeUnfiledRecordFolders = true; } - else if ((isUnfiledRecordFolder != null && !isUnfiledRecordFolder.booleanValue()) || (isRecord != null && isRecord.booleanValue())) + else if (checkIncludeRecords(isUnfiledRecordFolder, isRecord)) { includeRecords = true; } @@ -199,11 +199,11 @@ public class SearchTypesFactory WhereClauseParser.EQUALS, Boolean.class); Boolean isRecordCategory = propertyWalker.getProperty(RecordCategoryChild.PARAM_IS_RECORD_CATEGORY, WhereClauseParser.EQUALS, Boolean.class); - if ((isRecordFolder != null && isRecordFolder.booleanValue()) || (isRecordCategory != null && !isRecordCategory.booleanValue())) + if (checkIncludeUnfiledRecordFolders(isRecordFolder, isRecordCategory)) { includeRecordFolders = true; } - else if ((isRecordFolder != null && !isRecordFolder.booleanValue()) || (isRecordCategory != null && isRecordCategory.booleanValue())) + else if (checkIncludeRecords(isRecordFolder, isRecordCategory)) { includeRecordCategories = true; } @@ -291,4 +291,16 @@ public class SearchTypesFactory return new Pair<>(filterNodeTypeQName, filterIncludeSubTypes); } + + private static boolean checkIncludeRecords(Boolean isUnfiledRecordFolder, Boolean isRecord) + { + return (isUnfiledRecordFolder != null && !isUnfiledRecordFolder.booleanValue()) || (isRecord != null + && isRecord.booleanValue()); + } + + private static boolean checkIncludeUnfiledRecordFolders(Boolean isUnfiledRecordFolder, Boolean isRecord) + { + return (isUnfiledRecordFolder != null && isUnfiledRecordFolder.booleanValue()) || (isRecord != null + && !isRecord.booleanValue()); + } }