public void doQuery(String cql, int maxItems) { Session cmisSession = getCmisSession(); OperationContext oc = new OperationContextImpl(); oc.setMaxItemsPerPage(maxItems); ItemIterable<QueryResult> results = cmisSession.query(cql, false, oc); for (QueryResult result : results) { for (PropertyData<?> prop : result.getProperties()) { System.out.println(prop.getQueryName() + ": " + prop.getFirstValue()); } System.out.println("--------------------------------------"); } System.out.println("--------------------------------------"); System.out.println("Total number: " + results.getTotalNumItems()); System.out.println("Has more: " + results.getHasMoreItems()); System.out.println("--------------------------------------"); }
@Override public VisitorFeedbackPage getFeedbackPage(String assetId, int itemsToFetch, long itemsToSkip) { ItemIterable<QueryResult> results = runQuery(MessageFormat.format(feedbackByAssetIdQueryPattern, assetId)); ItemIterable<QueryResult> page = results.skipTo(itemsToSkip).getPage(itemsToFetch); List<VisitorFeedback> foundFeedback = new ArrayList<VisitorFeedback>((int) page.getPageNumItems()); for (QueryResult queryResult : page) { foundFeedback.add(buildFeedbackObject(queryResult)); } VisitorFeedbackPage feedbackPage = new VisitorFeedbackPageImpl(foundFeedback, itemsToSkip, results.getTotalNumItems()); return feedbackPage; }
@Override public int getTotalResults(@NotNull CMISConnector connector) throws Exception { long size = -1; long skipResultTo = pageSize * 100L; while (session != null && !lastPage) { OperationContext ctx = ChemistryCMISFacade.createOperationContext(filter, orderBy); final ItemIterable<QueryResult> queryResults = session.query(query, allVersions, ctx); final ItemIterable<QueryResult> page = queryResults.skipTo(skipResultTo).getPage(); if (!page.getHasMoreItems()) { lastPage = true; size = skipResultTo + page.getTotalNumItems(); } skipResultTo += skipResultTo; } lastPage = false; return (int) size; }
if (cresults.getTotalNumItems() == 0)
searchResults.setTotalSize(results.getTotalNumItems());
addResult(assertIsTrue(found, null, f)); if (results.getTotalNumItems() >= 0) { f = createResult(FAILURE, "The query returned a total number of items < 1, but there must be at least one hit!"); addResult(assertIsTrue(results.getTotalNumItems() >= 1L, null, f));
addResult(assertEquals(pageSize, count, null, f)); if (page1.getTotalNumItems() == -1) { addResult(createResult(WARNING, "Repository did not return numItems for the first test page.")); } else { f = createResult(FAILURE, "Returned numItems doesn't match the number of documents!"); addResult(assertEquals((long) numOfDocuments, page1.getTotalNumItems(), null, f)); addResult(assertEquals(pageSize, count, null, f)); if (page2.getTotalNumItems() == -1) { addResult(createResult(WARNING, "Repository did not return numItems for the second test page.")); } else { f = createResult(FAILURE, "Returned numItems doesn't match the number of documents!"); addResult(assertEquals((long) numOfDocuments, page2.getTotalNumItems(), null, f)); if (page3.getTotalNumItems() == -1) { addResult(createResult(WARNING, "Repository did not return numItems for the third test page.")); } else { f = createResult(FAILURE, "Returned numItems doesn't match the number of documents!"); addResult(assertEquals((long) numOfDocuments, page3.getTotalNumItems(), null, f)); if (pageNotExisting.getTotalNumItems() == -1) { addResult(createResult(WARNING, "Repository did not return numItems for a non-existing page.")); } else { f = createResult(FAILURE, "Returned numItems doesn't match the number of documents!"); addResult(assertEquals((long) numOfDocuments, pageNotExisting.getTotalNumItems(), null, f));
addResult(assertEquals(1, count, null, f)); if (results.getTotalNumItems() >= 0) { f = createResult(FAILURE, "The query returned a total number of items != 1, but there can be only exactly one hit!"); addResult(assertEquals(1L, results.getTotalNumItems(), null, f));
if (children.getTotalNumItems() >= 0) { f = createResult(WARNING, "Number of children doesn't match the reported total number of items!"); addResult(results, assertEquals(childrenCount, children.getTotalNumItems(), null, f)); } else { addResult(results, createResult(WARNING, "getChildren did not report the total number of items!"));
long total1 = iter1.getTotalNumItems(); long total2 = iter2.getTotalNumItems();
addResult(assertIsFalse((i > pageSize), null, f)); if (queryIterable.getTotalNumItems() == -1) { addResult(createResult(WARNING, "Repository did not return numItems."));