JAL-3865 isolate PDB and TDB clients and last query records in their query objects
[jalview.git] / src / jalview / gui / structurechooser / ThreeDBStructureChooserQuerySource.java
index e188b23..0bf9fdb 100644 (file)
@@ -14,6 +14,7 @@ import jalview.datamodel.DBRefSource;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.api.FTSRestClientI;
 import jalview.fts.core.FTSDataColumnPreferences;
 import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource;
 import jalview.fts.core.FTSRestRequest;
@@ -23,7 +24,7 @@ import jalview.jbgui.FilterOption;
 import jalview.util.MessageManager;
 
 /**
- * logic for querying the PDBe API for structures of sequences
+ * logic for querying the 3DBeacons API for structures of sequences
  * 
  * @author jprocter
  */
@@ -33,9 +34,13 @@ public class ThreeDBStructureChooserQuerySource
 
   private static int MAX_QLENGTH = 7820;
 
+  protected FTSRestRequest lastTdbRequest;
+
+  protected FTSRestClientI tdbRestClient;
+
   public ThreeDBStructureChooserQuerySource()
   {
-    pdbRestClient = TDBeaconsFTSRestClient.getInstance();
+    tdbRestClient = TDBeaconsFTSRestClient.getInstance();
     docFieldPrefs = new FTSDataColumnPreferences(
             PreferenceSource.STRUCTURE_CHOOSER,
             TDBeaconsFTSRestClient.getInstance());
@@ -143,10 +148,10 @@ public class ThreeDBStructureChooserQuerySource
           FilterOption selectedFilterOpt, boolean b) throws Exception
   {
     FTSRestResponse resultList;
-    FTSRestRequest pdbRequest = getTDBeaconsRequest(seq, wantedFields);
-    resultList = pdbRestClient.executeRequest(pdbRequest);
+    FTSRestRequest tdbRequest = getTDBeaconsRequest(seq, wantedFields);
+    resultList = tdbRestClient.executeRequest(tdbRequest);
 
-    lastPdbRequest = pdbRequest;
+    lastTdbRequest = tdbRequest;
     return resultList;
   }
   
@@ -214,11 +219,11 @@ public class ThreeDBStructureChooserQuerySource
       return null;
     }
     pdbRequest.setResponseSize(1);
-    resultList = pdbRestClient.executeRequest(pdbRequest);
+    resultList = tdbRestClient.executeRequest(pdbRequest);
     
     // TODO: client side filtering - sort results and pick top one (or N)
 
-    lastPdbRequest = pdbRequest;
+    lastTdbRequest = pdbRequest;
     return resultList;
   }
 
@@ -271,4 +276,11 @@ public class ThreeDBStructureChooserQuerySource
     }
     return pdbEntriesToView;
   }
+
+
+  @Override
+  protected FTSRestRequest getLastFTSRequest()
+  {
+    return lastTdbRequest;
+  }
 }
\ No newline at end of file