private String ftsFrameTitle = defaultFTSFrameTitle;
+ private int resultSetCount;
+
+ private int offSet;
+
+ private static int pageLimit = UniProtFTSRestClient.getInstance()
+ .getDefaultResponsePageSize();
+
public UniprotFTSPanel(SequenceFetcher seqFetcher)
{
this.seqFetcher = seqFetcher;
@Override
public void searchAction()
{
+ offSet = 0;
+ executeSearch();
+ }
+
+ public void executeSearch()
+ {
new Thread()
{
@Override
long startTime = System.currentTimeMillis();
String searchTarget = ((FTSDataColumnI) cmb_searchTarget
- .getSelectedItem()).getCode();
+ .getSelectedItem()).getAltCode();
wantedFields = UniProtFTSRestClient.getInstance()
.getAllDefaulDisplayedDataColumns();
FTSRestRequest request = new FTSRestRequest();
request.setFieldToSearchBy(searchTarget);
request.setSearchTerm(searchTerm);
+ request.setOffSet(offSet);
request.setWantedFields(wantedFields);
FTSRestClientI uniProtRestCleint = UniProtFTSRestClient
.getInstance();
{
getResultTable().setModel(
FTSRestResponse.getTableModel(request,
- resultList.getSearchSummary()));
+ resultList.getSearchSummary()));
FTSRestResponse.configureTableColumn(getResultTable(),
wantedFields);
getResultTable().setVisible(true);
}
long endTime = System.currentTimeMillis();
- int resultSetCount = resultList.getNumberOfItemsFound();
- String result = (resultSetCount > 1) ? MessageManager
+ resultSetCount = resultList.getNumberOfItemsFound();
+ String result = (resultSetCount > 0) ? MessageManager
.getString("label.results") : MessageManager
.getString("label.result");
- updateSearchFrameTitle(defaultFTSFrameTitle + " - "
- + resultSetCount + " " + result + " ("
- + (endTime - startTime) + " milli secs)");
+ if (isPaginationEnabled() && resultSetCount > 0)
+ {
+ updateSearchFrameTitle(defaultFTSFrameTitle + " - " + result
+ + " " + (offSet + 1) + " to "
+ + (offSet + resultSetCount)
+ + " " + " (" + (endTime - startTime) + " milli secs)");
+ }
+ else
+ {
+ updateSearchFrameTitle(defaultFTSFrameTitle + " - "
+ + resultSetCount + " " + result + " ("
+ + (endTime - startTime) + " milli secs)");
+ }
setSearchInProgress(false);
+ refreshPaginatorState();
}
}
}.start();
}
+
+
+ public void refreshPaginatorState()
+ {
+ // System.out.println("resultSet count : " + resultSetCount);
+ // System.out.println("offSet : " + offSet);
+ // System.out.println("page limit : " + pageLimit);
+ setPrevPageButtonEnabled(false);
+ setNextPageButtonEnabled(false);
+ if (resultSetCount >= pageLimit)
+ {
+ setNextPageButtonEnabled(true);
+ }
+ if (offSet >= pageLimit)
+ {
+ setPrevPageButtonEnabled(true);
+ }
+ }
+
+ @Override
+ public void prevPageAction()
+ {
+ if (offSet >= pageLimit)
+ {
+ offSet = offSet - pageLimit;
+ executeSearch();
+ }else{
+ refreshPaginatorState();
+ }
+ }
+
+ @Override
+ public void nextPageAction()
+ {
+ offSet = offSet + pageLimit;
+ executeSearch();
+
+ }
+
+ @Override
+ public boolean isPaginationEnabled()
+ {
+ return true;
+ }
+
@Override
public void okAction()
{