@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
@Override public boolean hasMoreItems() { return results.hasMoreItems(); } @Override
@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
@Override public boolean hasMoreItems() { return results.hasMoreItems(); } @Override
@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
private CannedQueryResults<NodeRef> listImpl(NodeRef contextNodeRef, String pattern, Set<QName> assocTypeQNames, Set<QName> searchTypeQNames, Set<QName> ignoreAspectQNames, List<Pair<QName, Boolean>> sortProps, List<FilterProp> filterProps, PagingRequest pagingRequest) { Long start = (logger.isDebugEnabled() ? System.currentTimeMillis() : null); // get canned query GetChildrenCannedQueryFactory getChildrenCannedQueryFactory = (GetChildrenCannedQueryFactory)cannedQueryRegistry.getNamedObject(CANNED_QUERY_FILEFOLDER_LIST); GetChildrenCannedQuery cq = (GetChildrenCannedQuery)getChildrenCannedQueryFactory.getCannedQuery(contextNodeRef, pattern, assocTypeQNames, searchTypeQNames, ignoreAspectQNames, filterProps, sortProps, pagingRequest); // execute canned query CannedQueryResults<NodeRef> results = cq.execute(); if (start != null) { int cnt = results.getPagedResultCount(); int skipCount = pagingRequest.getSkipCount(); int maxItems = pagingRequest.getMaxItems(); boolean hasMoreItems = results.hasMoreItems(); Pair<Integer, Integer> totalCount = (pagingRequest.getRequestTotalCountMax() > 0 ? results.getTotalResultCount() : null); int pageNum = (skipCount / maxItems) + 1; logger.debug("List: "+cnt+" items in "+(System.currentTimeMillis()-start)+" msecs [pageNum="+pageNum+",skip="+skipCount+",max="+maxItems+",hasMorePages="+hasMoreItems+",totalCount="+totalCount+",parentNodeRef="+contextNodeRef+"]"); } return results; }
private CannedQueryResults<NodeRef> listImpl(NodeRef contextNodeRef, String pattern, Set<QName> assocTypeQNames, Set<QName> searchTypeQNames, Set<QName> ignoreAspectQNames, List<Pair<QName, Boolean>> sortProps, List<FilterProp> filterProps, PagingRequest pagingRequest) { Long start = (logger.isDebugEnabled() ? System.currentTimeMillis() : null); // get canned query GetChildrenCannedQueryFactory getChildrenCannedQueryFactory = (GetChildrenCannedQueryFactory)cannedQueryRegistry.getNamedObject(CANNED_QUERY_FILEFOLDER_LIST); GetChildrenCannedQuery cq = (GetChildrenCannedQuery)getChildrenCannedQueryFactory.getCannedQuery(contextNodeRef, pattern, assocTypeQNames, searchTypeQNames, ignoreAspectQNames, filterProps, sortProps, pagingRequest); // execute canned query CannedQueryResults<NodeRef> results = cq.execute(); if (start != null) { int cnt = results.getPagedResultCount(); int skipCount = pagingRequest.getSkipCount(); int maxItems = pagingRequest.getMaxItems(); boolean hasMoreItems = results.hasMoreItems(); Pair<Integer, Integer> totalCount = (pagingRequest.getRequestTotalCountMax() > 0 ? results.getTotalResultCount() : null); int pageNum = (skipCount / maxItems) + 1; logger.debug("List: "+cnt+" items in "+(System.currentTimeMillis()-start)+" msecs [pageNum="+pageNum+",skip="+skipCount+",max="+maxItems+",hasMorePages="+hasMoreItems+",totalCount="+totalCount+",parentNodeRef="+contextNodeRef+"]"); } return results; }
boolean nonFinalHasMoreItems = results.hasMoreItems(); List<NodeRef> nodeRefs; if (results.getPageCount() > 0)
@SuppressWarnings("unchecked") public void testQueryPermissionCheckedResults() throws Exception { CannedQueryFactory<String> qfOne = namedQueryFactoryRegistry.getNamedObject(QUERY_TEST_ONE); CannedQueryParameters params = new CannedQueryParameters(null, null, null, 0, null); CannedQuery<String> qOne = qfOne.getCannedQuery(params); CannedQueryResults<String> qrOne = qOne.execute(); // Check pages assertEquals("Incorrect number of results", 9, qrOne.getPagedResultCount()); assertEquals("Incorrect result order", "ONE_0", qrOne.getPages().get(0).get(0)); assertEquals("Incorrect result order", "ONE_1", qrOne.getPages().get(0).get(1)); assertEquals("Incorrect result order", "ONE_2", qrOne.getPages().get(0).get(2)); assertEquals("Incorrect result order", "ONE_3", qrOne.getPages().get(0).get(3)); assertEquals("Incorrect result order", "ONE_4", qrOne.getPages().get(0).get(4)); // << missing 5! assertEquals("Incorrect result order", "ONE_6", qrOne.getPages().get(0).get(5)); assertEquals("Incorrect result order", "ONE_7", qrOne.getPages().get(0).get(6)); assertEquals("Incorrect result order", "ONE_8", qrOne.getPages().get(0).get(7)); assertEquals("Incorrect result order", "ONE_9", qrOne.getPages().get(0).get(8)); assertFalse("Should NOT have any more pages/items", qrOne.hasMoreItems()); }
@SuppressWarnings("unchecked") public void testQueryMaxResults() throws Exception { // An instance of the CannedQueryFactory could be injected or constructed as well CannedQueryFactory<String> qfOne = namedQueryFactoryRegistry.getNamedObject(QUERY_TEST_ONE); CannedQuery<String> qOne = qfOne.getCannedQuery(null, 0, 9, null); CannedQueryResults<String> qrOne = qOne.execute(); // Get the paged result count int pagedResultCount = qrOne.getPagedResultCount(); assertEquals("Incorrect number of results", 9, pagedResultCount); assertEquals("Incorrect number of pages", 1, qrOne.getPageCount()); List<List<String>> pages = qrOne.getPages(); assertEquals("Incorrect number of pages", 1, pages.size()); assertEquals("No sorting was specified in the parameters", "ONE_0", qrOne.getPages().get(0).get(0)); assertEquals("No sorting was specified in the parameters", "ONE_9", qrOne.getPages().get(0).get(8)); assertFalse("Should have more pages/items", qrOne.hasMoreItems()); }
@SuppressWarnings("unchecked") public void testQuerySortedResults() throws Exception { CannedQueryFactory<String> qfOne = namedQueryFactoryRegistry.getNamedObject(QUERY_TEST_ONE); CannedQuerySortDetails qSortDetails = new CannedQuerySortDetails( new Pair<Object, SortOrder>("blah", SortOrder.DESCENDING)); CannedQueryParameters params = new CannedQueryParameters(null, null, qSortDetails); CannedQuery<String> qOne = qfOne.getCannedQuery(params); CannedQueryResults<String> qrOne = qOne.execute(); // Check pages assertEquals("Incorrect number of results", 9, qrOne.getPagedResultCount()); assertEquals("Expected inverse sorting", "ONE_9", qrOne.getPages().get(0).get(0)); assertEquals("Expected inverse sorting", "ONE_0", qrOne.getPages().get(0).get(8)); assertFalse("Should NOT have any more pages/items", qrOne.hasMoreItems()); }
assertEquals("Incorrect results on page", 5, pages.get(0).size()); assertEquals("Incorrect results on page", 4, pages.get(1).size()); assertFalse("Should NOT have any more pages/items", qrOne.hasMoreItems()); assertEquals("Incorrect results on page", 3, pages.get(1).size()); assertEquals("Incorrect results on page", 1, pages.get(2).size()); assertFalse("Should NOT have any more pages/items", qrOne.hasMoreItems()); assertEquals("Incorrect results on page", 3, pages.get(0).size()); assertEquals("Incorrect results on page", 3, pages.get(1).size()); assertTrue("Should have more pages/items", qrOne.hasMoreItems());
return new PagingNodeRefResultsImpl(nodeRefs, results.hasMoreItems(), totalCount, false);
return new PagingNodeRefResultsImpl(nodeRefs, results.hasMoreItems(), totalCount, false);
return new PagingNodeRefResultsImpl(nodeRefs, results.hasMoreItems(), totalCount, false);
@SuppressWarnings("unchecked") public void testQueryPermissionCheckedPagedTotalCount() throws Exception { CannedQueryFactory<String> qfOne = namedQueryFactoryRegistry.getNamedObject(QUERY_TEST_ONE); CannedQueryPageDetails qPageDetails = new CannedQueryPageDetails(5, 1, 1, 1); CannedQuerySortDetails qSortDetails = new CannedQuerySortDetails( new Pair<Object, SortOrder>("blah", SortOrder.DESCENDING)); CannedQueryParameters params = new CannedQueryParameters(null, qPageDetails, qSortDetails, 1000, null); CannedQuery<String> qOne = qfOne.getCannedQuery(params); CannedQueryResults<String> qrOne = qOne.execute(); // Check pages assertEquals("Incorrect number of total results", new Pair<Integer, Integer>(9,9), qrOne.getTotalResultCount()); // Pre-paging assertEquals("Incorrect number of paged results", 1, qrOne.getPagedResultCount()); // Skipped 5 assertEquals("Incorrect result order", "ONE_3", qrOne.getPages().get(0).get(0)); // Order reversed assertTrue("Should have more pages/items", qrOne.hasMoreItems()); }
assertEquals("Incorrect number of results", 9, pagedResultCount); assertEquals("No sorting was specified in the parameters", "ONE_0", qrOne.getPages().get(0).get(0)); assertFalse("Should NOT have any more pages/items", qrOne.hasMoreItems());