Skip to content

Page methods like isFirstPage(), getPageNumber() returns incorrect values. #78

@sravanr

Description

@sravanr

In the below example program I see the page number always starts with 2 and isFirstPage returns false if I set the docMgr.setPageLength(1);

'''java
public void loadTxtDocuments(){
int count =1;
TextDocumentManager docMgr = client.newTextDocumentManager();
DocumentWriteSet writeset =docMgr.newWriteSet();
for(int i =0;i<101;i++){
writeset.add(DIRECTORY+"Textfoo"+i+".txt", new StringHandle().with("bar can be foo"+i));
if(count%BATCH_SIZE == 0){
docMgr.write(writeset);
writeset = docMgr.newWriteSet();
}
count++;
}
if(count%BATCH_SIZE > 0){
docMgr.write(writeset);
}
}

public void testBulkSearchSQDwithDifferentPageSizes() {
int count;
loadTxtDocuments();
//Creating a txt document manager for bulk search
TextDocumentManager docMgr = client.newTextDocumentManager();
//using QueryManger for query definition and set the search criteria
QueryManager queryMgr = client.newQueryManager();
StringQueryDefinition qd = queryMgr.newStringDefinition();
qd.setCriteria("bar");
// set document manager level settings for search response
System.out.println("Default Page length setting on docMgr :"+docMgr.getPageLength());
docMgr.setPageLength(1);
docMgr.setSearchView(QueryView.RESULTS);
docMgr.setResponseFormat(Format.JSON);
System.out.println(docMgr.getResponseFormat().toString());
System.out.println(docMgr.getSearchView().toString());
System.out.println(docMgr.getPageLength());
// Search for documents where content has bar and get first result record, get search handle on it
SearchHandle sh = new SearchHandle();
DocumentPage page= docMgr.search(qd, 1);
// test for page methods
System.out.println("Number of records supposed to be 1-"+page.size());
System.out.println("Starting record in page 1-"+page.getStart());
System.out.println("Total number of estimated results-101 :"+page.getTotalSize());
System.out.println("Total number of estimated pages-101 :"+page.getTotalPages());
System.out.println("Is this First page :"+page.isFirstPage());//this is bug
System.out.println("Is this Last page :"+page.isLastPage());
System.out.println("Is this First page has content:"+page.hasContent());
System.out.println("Checking page no"+page.getPageNumber());//this is bug
long pageNo=1;
do{
count=0;
page = docMgr.search(qd, pageNo);
if(pageNo >1){ assertFalse("Is this first Page", page.isFirstPage());}
while(page.hasNext()){
DocumentRecord rec = page.next();
rec.getFormat();
validateRecord(rec,Format.TEXT);
// System.out.println(rec.getUri());
count++;
}
MatchDocumentSummary[] mds= sh.getMatchResults();
System.out.println("Checking page no"+page.getPageNumber());
assertEquals("document count", page.size(),count);
// assertEquals("Page Number #",pageNo,page.getPageNumber());
pageNo = pageNo + page.getPageSize();
}while(!page.isLastPage());
assertTrue("page count is 101 ",pageNo == page.getTotalPages());
assertTrue("Page has previous page ?",page.hasPreviousPage());
assertEquals("page size", 1,page.getPageSize());
assertEquals("document count", 101,page.getTotalSize());
page= docMgr.search(qd, 102);
assertFalse("Page has any records ?",page.hasContent());
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions