X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2Fstructurechooser%2FPDBStructureChooserQuerySource.java;h=66512729ef02b02f6c3b873cc5c8ec03be75a6d7;hb=a5fd896e07f08fdb79c0967fed5b74661f8d2984;hp=4dede2e5804ccadabb2af1b59f75a61664732c35;hpb=bf5bc203579d7a291844f3b34d5e8431984ee8e2;p=jalview.git diff --git a/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java b/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java index 4dede2e..6651272 100644 --- a/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java +++ b/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java @@ -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 getAvailableFilterOptions(String VIEWS_FILTER) { List filters = new ArrayList(); - 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 collectedResults, Collection 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