JAL-1563 JAL-2091 Added total result count to Uniprot pagination, implemented caching...
[jalview.git] / src / jalview / fts / service / uniprot / UniProtFTSRestClient.java
index 8a21ffb..0447715 100644 (file)
@@ -99,10 +99,12 @@ public class UniProtFTSRestClient extends FTSRestClient
         throw new Exception(errorMessage);
 
       }
+      int xTotalResults = Integer.valueOf(clientResponse.getHeaders()
+              .get("X-Total-Results").get(0));
       clientResponse = null;
       client = null;
       return parseUniprotResponse(uniProtTabDelimittedResponseString,
-              uniportRestRequest);
+              uniportRestRequest, xTotalResults);
     } catch (Exception e)
     {
       String exceptionMsg = e.getMessage();
@@ -129,7 +131,7 @@ public class UniProtFTSRestClient extends FTSRestClient
 
   public FTSRestResponse parseUniprotResponse(
           String uniProtTabDelimittedResponseString,
-          FTSRestRequest uniprotRestRequest)
+          FTSRestRequest uniprotRestRequest, int xTotalResults)
   {
     FTSRestResponse searchResult = new FTSRestResponse();
     List<FTSData> result = null;
@@ -156,7 +158,7 @@ public class UniProtFTSRestClient extends FTSRestClient
         // System.out.println(dataRow);
         result.add(getFTSData(dataRow, uniprotRestRequest));
       }
-      searchResult.setNumberOfItemsFound(result.size());
+      searchResult.setNumberOfItemsFound(xTotalResults);
       searchResult.setSearchSummary(result);
     }
     return searchResult;