Merge branch 'features/r2_11_2/JAL-3829_3dbeacons' into develop
[jalview.git] / src / jalview / gui / structurechooser / PDBStructureChooserQuerySource.java
index 4dede2e..6651272 100644 (file)
@@ -37,6 +37,10 @@ public class PDBStructureChooserQuerySource
 
   private static int MAX_QLENGTH = 7820;
 
+  protected FTSRestRequest lastPdbRequest;
+
+  protected FTSRestClientI pdbRestClient;
+
   public PDBStructureChooserQuerySource()
   {
     pdbRestClient = PDBFTSRestClient.getInstance();
@@ -234,25 +238,32 @@ public class PDBStructureChooserQuerySource
   public List<FilterOption> getAvailableFilterOptions(String VIEWS_FILTER)
   {
     List<FilterOption> filters = new ArrayList<FilterOption>();
-    filters.add(new FilterOption(
+    filters.add(new FilterOption("PDBe "+
             MessageManager.getString("label.best_quality"),
-            "overall_quality", VIEWS_FILTER, false));
-    filters.add(new FilterOption(
+            "overall_quality", VIEWS_FILTER, false,this));
+    filters.add(new FilterOption("PDBe "+
             MessageManager.getString("label.best_resolution"),
-            "resolution", VIEWS_FILTER, false));
-    filters.add(new FilterOption(
+            "resolution", VIEWS_FILTER, false,this));
+    filters.add(new FilterOption("PDBe "+
             MessageManager.getString("label.most_protein_chain"),
-            "number_of_protein_chains", VIEWS_FILTER, false));
-    filters.add(new FilterOption(
+            "number_of_protein_chains", VIEWS_FILTER, false,this));
+    filters.add(new FilterOption("PDBe "+
             MessageManager.getString("label.most_bound_molecules"),
-            "number_of_bound_molecules", VIEWS_FILTER, false));
-    filters.add(new FilterOption(
+            "number_of_bound_molecules", VIEWS_FILTER, false,this));
+    filters.add(new FilterOption("PDBe "+
             MessageManager.getString("label.most_polymer_residues"),
-            "number_of_polymer_residues", VIEWS_FILTER, true));
+            "number_of_polymer_residues", VIEWS_FILTER, true,this));
   
     return filters;
   }
 
+  @Override
+  public boolean needsRefetch(FilterOption selectedFilterOpt)
+  {
+    // PDBe queries never need a refetch first
+    return false;
+  }
+
   /**
    * FTSRestClient specific query builder to pick top ranked entry from a
    * fetchStructuresMetaData query
@@ -268,7 +279,7 @@ public class PDBStructureChooserQuerySource
    * @return
    * @throws Exception
    */
-  public FTSRestResponse selectFirstRankedQuery(SequenceI seq,
+  public FTSRestResponse selectFirstRankedQuery(SequenceI seq, Collection<FTSData> collectedResults,
           Collection<FTSDataColumnI> wantedFields, String fieldToFilterBy,
           boolean b) throws Exception
   {
@@ -344,4 +355,17 @@ public class PDBStructureChooserQuerySource
     return pdbEntriesToView;
   }
 
+
+  @Override
+  protected FTSRestRequest getLastFTSRequest()
+  {
+    return lastPdbRequest;
+  }
+
+
+  public FTSRestResponse executePDBFTSRestRequest(FTSRestRequest pdbRequest) throws Exception
+  {
+    return pdbRestClient.executeRequest(pdbRequest);
+  }
+
 }
\ No newline at end of file