Merge branch 'features/JAL-2316' into develop
[jalview.git] / src / jalview / fts / service / uniprot / UniprotFTSPanel.java
index acf2fb0..f04e4fa 100644 (file)
@@ -29,7 +29,9 @@ import jalview.fts.core.GFTSPanel;
 import jalview.gui.SequenceFetcher;
 import jalview.util.MessageManager;
 
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 
 @SuppressWarnings("serial")
 public class UniprotFTSPanel extends GFTSPanel
@@ -40,14 +42,15 @@ public class UniprotFTSPanel extends GFTSPanel
 
   private String ftsFrameTitle = defaultFTSFrameTitle;
 
-
+  private static Map<String, Integer> tempUserPrefs = new HashMap<String, Integer>();
 
   public UniprotFTSPanel(SequenceFetcher seqFetcher)
   {
+    super();
     pageLimit = UniProtFTSRestClient.getInstance()
             .getDefaultResponsePageSize();
     this.seqFetcher = seqFetcher;
-    this.progressIdicator = (seqFetcher == null) ? null : seqFetcher
+    this.progressIndicator = (seqFetcher == null) ? null : seqFetcher
             .getProgressIndicator();
   }
 
@@ -59,7 +62,7 @@ public class UniprotFTSPanel extends GFTSPanel
       offSet = 0;
     }
     new Thread()
-  {
+    {
       @Override
       public void run()
       {
@@ -74,7 +77,7 @@ public class UniprotFTSPanel extends GFTSPanel
                   .getSelectedItem()).getAltCode();
 
           wantedFields = UniProtFTSRestClient.getInstance()
-                  .getAllDefaulDisplayedDataColumns();
+                  .getAllDefaultDisplayedFTSDataColumns();
           String searchTerm = decodeSearchTerm(txt_search.getText(),
                   searchTarget);
 
@@ -104,21 +107,31 @@ public class UniprotFTSPanel extends GFTSPanel
                     FTSRestResponse.getTableModel(request,
                             resultList.getSearchSummary()));
             FTSRestResponse.configureTableColumn(getResultTable(),
-                    wantedFields);
+                    wantedFields, tempUserPrefs);
             getResultTable().setVisible(true);
           }
 
           long endTime = System.currentTimeMillis();
-          resultSetCount = resultList.getNumberOfItemsFound();
+          totalResultSetCount = resultList.getNumberOfItemsFound();
+          resultSetCount = resultList.getSearchSummary() == null ? 0
+                  : resultList.getSearchSummary().size();
           String result = (resultSetCount > 0) ? MessageManager
                   .getString("label.results") : MessageManager
                   .getString("label.result");
           if (isPaginationEnabled() && resultSetCount > 0)
           {
-            updateSearchFrameTitle(defaultFTSFrameTitle + " - " + result
-                    + " " + (offSet + 1) + " to "
-                    + (offSet + resultSetCount)
-                    + " " + " (" + (endTime - startTime) + " milli secs)");
+            updateSearchFrameTitle(defaultFTSFrameTitle
+                    + " - "
+                    + result
+                    + " "
+                    + totalNumberformatter.format((Number) (offSet + 1))
+                    + " to "
+                    + totalNumberformatter
+                            .format((Number) (offSet + resultSetCount))
+                    + " of "
+                    + totalNumberformatter
+                            .format((Number) totalResultSetCount) + " "
+                    + " (" + (endTime - startTime) + " milli secs)");
           }
           else
           {
@@ -128,6 +141,7 @@ public class UniprotFTSPanel extends GFTSPanel
           }
           setSearchInProgress(false);
           refreshPaginatorState();
+          updateSummaryTableSelections();
         }
       }
     }.start();
@@ -161,7 +175,6 @@ public class UniprotFTSPanel extends GFTSPanel
     return foundSearchTerms;
   }
 
-
   @Override
   public boolean isPaginationEnabled()
   {
@@ -190,7 +203,7 @@ public class UniprotFTSPanel extends GFTSPanel
               primaryKeyColIndex).toString();
       selectedIdsSet.add(idStr);
     }
-
+    selectedIdsSet.addAll(paginatorCart);
     for (String selectedId : selectedIdsSet)
     {
       selectedIds.append(selectedId).append(";");
@@ -216,4 +229,10 @@ public class UniprotFTSPanel extends GFTSPanel
     return ftsFrameTitle;
   }
 
+  @Override
+  public Map<String, Integer> getTempUserPrefs()
+  {
+    return tempUserPrefs;
+  }
+
 }