@Override public Pair<Integer, Integer> getTotalResultCount() { return results.getTotalResultCount(); } }
@Override public boolean hasMoreItems() { return results.hasMoreItems(); }
@Override public List<AuthorityInfo> getPage() { List<AuthorityInfo> auths = new ArrayList<AuthorityInfo>(results.getPageCount()); for (AuthorityInfo authInfo : results.getPage()) { auths.add((AuthorityInfo) authInfo); } return auths; } }
private <T extends Object> PagingResults<T> getPagingResults(PagingRequest pagingRequest, final CannedQueryResults<T> results) if (results.getPageCount() > 0) entities = results.getPages().get(0); if (pagingRequest.getRequestTotalCountMax() > 0) totalCount = results.getTotalResultCount();
if (results.getPageCount() > 0) page = results.getPages().get(0); if (pagingRequest.getRequestTotalCountMax() > 0) totalCount = results.getTotalResultCount(); .append("[pageNum=").append(pageNum).append(", skip=").append(skipCount) .append(", max=").append(maxItems).append(", hasMorePages=") .append(results.hasMoreItems()).append(", totalCount=") .append(totalCount).append(", filter=") .append(cannedQueryBuilder.getFilter()).append(", sortOrderAscending=")
@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()); }
CannedQueryResults<NodeRef> results = transactionService.getRetryingTransactionHelper().doInTransaction(callback, true); List<NodeRef> nodeRefs = results.getPages().get(0); totalCount = results.getTotalResultCount().getFirst(); return new PagingNodeRefResultsImpl(nodeRefs, results.hasMoreItems(), totalCount, false);
@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 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()); }
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; }
/** * Get all the downloads created before before. */ public List<List<DownloadEntity>> getDownloadsCreatedBefore(Date before) { NodeRef container = getContainer(); if (container == null) { return Collections.emptyList(); } // Grab the factory GetDownloadsCannedQueryFactory getDownloadCannedQueryFactory = (GetDownloadsCannedQueryFactory)queryRegistry.getNamedObject("downloadGetDownloadsCannedQueryFactory"); // Run the canned query GetDownloadsCannedQuery cq = (GetDownloadsCannedQuery)getDownloadCannedQueryFactory.getDownloadsCannedQuery(container, before); // Execute the canned query CannedQueryResults<DownloadEntity> results = cq.execute(); return results.getPages(); }
assertEquals("Administrators not filtered", newPeopleNumber - 1, people.getPagedResultCount()); filters, true, null).getPagedResultCount()); filters, true, null).getPagedResultCount()); filters, true, null).getPagedResultCount()); filters, true, null).getPagedResultCount()); filters, true, null).getPagedResultCount()); filters, true, null).getPagedResultCount()); filters, true, null).getPagedResultCount());
@Override public List<BlogPostInfo> getPage() { List<BlogEntity> entities = results.getPage(); List<BlogPostInfo> posts = new ArrayList<BlogPostInfo>(entities.size()); for (BlogEntity entity : entities) { posts.add(new BlogPostInfoImpl( entity.getNodeRef(), containerNodeRef, entity.getName() )); } return posts; } };
@Override public String getQueryExecutionId() { return results.getQueryExecutionId(); }
private <T extends Object> PagingResults<T> getPagingResults(PagingRequest pagingRequest, final CannedQueryResults<T> results) if (results.getPageCount() > 0) entities = results.getPages().get(0); if (pagingRequest.getRequestTotalCountMax() > 0) totalCount = results.getTotalResultCount();
if (results.getPageCount() > 0) page = results.getPages().get(0); if (pagingRequest.getRequestTotalCountMax() > 0) totalCount = results.getTotalResultCount(); .append("[pageNum=").append(pageNum).append(", skip=").append(skipCount) .append(", max=").append(maxItems).append(", hasMorePages=") .append(results.hasMoreItems()).append(", totalCount=") .append(totalCount).append(", filter=") .append(cannedQueryBuilder.getFilter()).append(", sortOrderAscending=")
qrOne.getTotalResultCount(); fail("Expected failure when requesting total count without explicit request."); int pagedResultCount = qrOne.getPagedResultCount(); 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());
CannedQueryResults<NodeRef> results = transactionService.getRetryingTransactionHelper().doInTransaction(callback, true); List<NodeRef> nodeRefs = results.getPages().get(0); totalCount = results.getTotalResultCount().getFirst(); return new PagingNodeRefResultsImpl(nodeRefs, results.hasMoreItems(), totalCount, false);
CannedQueryResults<String> qrOne = qOne.execute(); assertEquals("Incorrect number of results", 9, qrOne.getPagedResultCount()); 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(1).get(3)); List<List<String>> pages = qrOne.getPages(); assertEquals("Incorrect number of pages", 2, pages.size()); 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 number of results", 7, qrOne.getPagedResultCount()); assertEquals("Incorrect number of pages", 3, qrOne.getPageCount()); pages = qrOne.getPages(); assertEquals("Incorrect number of pages", 3, pages.size()); assertEquals("Incorrect results on page", 3, pages.get(0).size()); 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 number of results", 6, qrOne.getPagedResultCount()); assertEquals("Incorrect number of pages", 2, qrOne.getPageCount()); pages = qrOne.getPages(); assertEquals("Incorrect number of pages", 2, pages.size()); 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());
@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()); }