Index: pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java =================================================================== --- pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java (revision 2343) +++ pki/base/common/src/com/netscape/cms/servlet/request/QueryReq.java (working copy) @@ -439,13 +439,21 @@ ((count < 0)?count-1:count+1), "requestId"); - int totalCount = list.getSize() - list.getCurrentIndex(); + int maxCount = 0; + if (count < 0 && jumptoend) { + maxCount = -count; + } else if (count < 0) { + maxCount = -count+1; + } else { + maxCount = count; + } + int totalCount = (jumptoend)? maxCount : (list.getSize() - list.getCurrentIndex()); header.addIntegerValue(OUT_TOTALCOUNT, totalCount); header.addIntegerValue(OUT_CURRENTCOUNT, list.getSize()); int numEntries = list.getSize() - list.getCurrentIndex(); - Vector v = fetchRecords(list,((count < 0)?(-count+1):count)); + Vector v = fetchRecords(list,maxCount); v = normalizeOrder(v); trim(v,id); Index: pki/dogtag/kra-ui/shared/webapps/kra/agent/kra/queryReq.template =================================================================== --- pki/dogtag/kra-ui/shared/webapps/kra/agent/kra/queryReq.template (revision 2248) +++ pki/dogtag/kra-ui/shared/webapps/kra/agent/kra/queryReq.template (working copy) @@ -332,10 +332,12 @@ var disabled = ""; //(result.header.seqNumFromDown== null) ? "disabled='true'" : ""; +var disabledDown = ((result.fixed.maxCount > result.header.currentRecordCount) || (result.header.currentRecordCount == result.header.totalRecordCount))? "disabled='true'" : ""; +var disabledUp = (result.header.firstEntryOnPage != null && result.header.firstEntryOnPage <= 1) ? "disabled='true'" : ""; document.write( "\n"+ -"\n"+ +"\n"+ "\n"+ "\n"+ @@ -362,8 +364,8 @@ document.write("\n"+ -"\n"+ -"\n"+ +"\n"+ +"\n"+ "\n"); } Index: pki/dogtag/ca-ui/shared/webapps/ca/agent/ca/queryReq.template =================================================================== --- pki/dogtag/ca-ui/shared/webapps/ca/agent/ca/queryReq.template (revision 2248) +++ pki/dogtag/ca-ui/shared/webapps/ca/agent/ca/queryReq.template (working copy) @@ -399,10 +399,12 @@ var disabled = ""; //(result.header.seqNumFromDown== null) ? "disabled='true'" : ""; +var disabledDown = ((result.fixed.maxCount > result.header.currentRecordCount) || (result.header.currentRecordCount == result.header.totalRecordCount))? "disabled='true'" : ""; +var disabledUp = (result.header.firstEntryOnPage != null && result.header.firstEntryOnPage <= 1) ? "disabled='true'" : ""; document.write( "\n"+ -"\n"+ +"\n"+ "\n"+ "\n"+ @@ -429,8 +431,8 @@ document.write("\n"+ -"\n"+ -"\n"+ +"\n"+ +"\n"+ "\n"); } } Index: pki/dogtag/ca-ui/shared/webapps/ca/agent/ca/queryCert.template =================================================================== --- pki/dogtag/ca-ui/shared/webapps/ca/agent/ca/queryCert.template (revision 2248) +++ pki/dogtag/ca-ui/shared/webapps/ca/agent/ca/queryCert.template (working copy) @@ -463,12 +463,14 @@ if (result.header.queryFilterHash != null) { document.write(renderHidden("queryFilterHash")); } +var disabledDown = ((result.header.querySentinelDown == null) || + (result.fixed.maxCount > result.header.currentRecordCount) || + (result.fixed.maxCount+1 == result.header.currentRecordCount)) ? "disabled='true'" : ""; +var disabledUp = (result.header.querySentinelUp != null && result.header.querySentinelUp <= 1) ? "disabled='true'" : ""; -var disabled = (result.header.querySentinelDown == null) ? "disabled='true'" : ""; - document.write( "\n"+ -"\n"+ +"\n"+ "\n"+ "\n"+ -"\n"+ -"\n"+ +"\n"+ +"\n"+ "\n"); }