JAL-1668 added PDBDocFieldPreference for configuring rest response summary fields
[jalview.git] / src / jalview / gui / StructureChooser.java
index a01c1b8..f28ef68 100644 (file)
@@ -25,6 +25,7 @@ import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.jbgui.GStructureChooser;
+import jalview.jbgui.PDBDocFieldPreferences;
 import jalview.util.MessageManager;
 import jalview.ws.dbsources.PDBRestClient;
 import jalview.ws.dbsources.PDBRestClient.PDBDocField;
@@ -126,12 +127,9 @@ public class StructureChooser extends GStructureChooser
   public void fetchStructuresMetaData()
   {
     long startTime = System.currentTimeMillis();
-    List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
-    // wantedFields.add(PDBDocField.MOLECULE_TYPE);
-    wantedFields.add(PDBDocField.PDB_ID);
-    // wantedFields.add(PDBDocField.GENUS);
-    // wantedFields.add(PDBDocField.GENE_NAME);
-    wantedFields.add(PDBDocField.TITLE);
+    Collection<PDBDocField> wantedFields = PDBDocFieldPreferences
+            .getStructureSummaryFields();
+
     pdbRequest = new PDBRestRequest();
     pdbRequest.setAllowEmptySeq(false);
     pdbRequest.setResponseSize(500);
@@ -307,27 +305,7 @@ public class StructureChooser extends GStructureChooser
     filterThread.start();
   }
 
-  /**
-   * Determines the column index for the pdb id in the summary table. The pdb id
-   * serves as a unique identifier for a given row in the summary table
-   * 
-   * @param wantedFeilds
-   *          the available table columns in no particular order
-   * @return the pdb id field column index
-   */
-  public static int getPDBIdColumIndex(Collection<PDBDocField> wantedFeilds)
-  {
-    int pdbFeildIndex = 1;
-    for (PDBDocField feild : wantedFeilds)
-    {
-      if (feild.equals(PDBDocField.PDB_ID))
-      {
-        break;
-      }
-      ++pdbFeildIndex;
-    }
-    return pdbFeildIndex;
-  }
+
 
   /**
    * Handles action event for btn_pdbFromFile
@@ -525,7 +503,8 @@ public class StructureChooser extends GStructureChooser
     String currentView = selectedFilterOpt.getView();
     if (currentView == VIEWS_FILTER)
     {
-      int pdbIdCol = getPDBIdColumIndex(pdbRequest.getWantedFields());
+      int pdbIdCol = PDBRestClient.getPDBIdColumIndex(
+              pdbRequest.getWantedFields(), true);
       int[] selectedRows = tbl_summary.getSelectedRows();
       PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length];
       int count = 0;