@Test
public void testC_BulkSearch() {
XMLDocumentManager docMgr = Common.client.newXMLDocumentManager();
SearchHandle searchHandle = new SearchHandle();
int pageLength = 100;
docMgr.setPageLength(pageLength);
DocumentPage page = docMgr.search(new StructuredQueryBuilder().directory(1, DIRECTORY), 1, searchHandle);
try {
for ( DocumentRecord record : page ) {
validateRecord(record);
}
assertEquals("Failed to find number of records expected", RECORDS_EXPECTED, page.getTotalSize());
assertEquals("SearchHandle failed to report number of records expected", RECORDS_EXPECTED, searchHandle.getTotalResults());
assertEquals("SearchHandle failed to report pageLength expected", pageLength, searchHandle.getPageLength());
assertEquals("Should have results", true, page.hasContent());
int expected = RECORDS_EXPECTED > pageLength ? pageLength : RECORDS_EXPECTED;
assertEquals("Failed to report number of records expected", expected, page.size());
assertEquals("No previous page", false, page.hasPreviousPage());
assertEquals("Only one page", RECORDS_EXPECTED > pageLength, page.hasNextPage());
assertEquals("Only one page", true, page.isFirstPage());
assertEquals("Only one page", page.hasNextPage() == false, page.isLastPage());
assertEquals("Wrong page", 1, page.getPageNumber());
assertEquals("Wrong page size", pageLength, page.getPageSize());
assertEquals("Wrong start", 1, page.getStart());
double totalPagesExpected = Math.ceil((double) RECORDS_EXPECTED/(double) pageLength);
assertEquals("Wrong totalPages", totalPagesExpected, page.getTotalPages(), .01);
} finally {
page.close();
}
}