JAL-3675 release notes for JAL-3750 JAL-3751
[jalview.git] / src / jalview / fts / core / FTSDataColumnPreferences.java
index 1828610..cb6249e 100644 (file)
  */
 package jalview.fts.core;
 
-import jalview.fts.api.FTSDataColumnGroupI;
 import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI;
 import jalview.fts.api.FTSRestClientI;
+import jalview.fts.service.pdb.PDBFTSRestClient;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -39,7 +40,6 @@ import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableModel;
 import javax.swing.table.TableRowSorter;
 
-
 @SuppressWarnings("serial")
 public class FTSDataColumnPreferences extends JScrollPane
 {
@@ -50,7 +50,7 @@ public class FTSDataColumnPreferences extends JScrollPane
 
   private HashMap<String, FTSDataColumnI> map = new HashMap<String, FTSDataColumnI>();
 
-  private static Collection<FTSDataColumnI> structSummaryColumns = new LinkedHashSet<FTSDataColumnI>();
+  private Collection<FTSDataColumnI> structSummaryColumns = new LinkedHashSet<FTSDataColumnI>();
 
   private Collection<FTSDataColumnI> allFTSDataColumns = new LinkedHashSet<FTSDataColumnI>();
 
@@ -67,11 +67,12 @@ public class FTSDataColumnPreferences extends JScrollPane
           FTSRestClientI ftsRestClient)
   {
     this.ftsRestClient = ftsRestClient;
-    Collection<FTSDataColumnI> defaultCols = ftsRestClient
-            .getAllDefaulDisplayedDataColumns();
-
-    structSummaryColumns.addAll(defaultCols);
-
+    if (source.equals(PreferenceSource.STRUCTURE_CHOOSER)
+            || source.equals(PreferenceSource.PREFERENCES))
+    {
+      structSummaryColumns = ((PDBFTSRestClient) ftsRestClient)
+              .getAllDefaultDisplayedStructureDataColumns();
+    }
     allFTSDataColumns.addAll(ftsRestClient.getAllFTSDataColumns());
 
     tbl_FTSDataColumnPrefs.setAutoCreateRowSorter(true);
@@ -108,9 +109,8 @@ public class FTSDataColumnPreferences extends JScrollPane
       switch (source)
       {
       case SEARCH_SUMMARY:
-        data[x++] = new Object[] {
-            ftsRestClient.getAllDefaulDisplayedDataColumns()
-                    .contains(field),
+        data[x++] = new Object[] { ftsRestClient
+                .getAllDefaultDisplayedFTSDataColumns().contains(field),
             field.getName(), field.getGroup() };
         break;
       case STRUCTURE_CHOOSER:
@@ -118,9 +118,9 @@ public class FTSDataColumnPreferences extends JScrollPane
             field.getName(), field.getGroup() };
         break;
       case PREFERENCES:
-        data[x++] = new Object[] { field.getName(),
-            ftsRestClient.getAllDefaulDisplayedDataColumns()
-                    .contains(field),
+        data[x++] = new Object[] {
+            field.getName(), ftsRestClient
+                    .getAllDefaultDisplayedFTSDataColumns().contains(field),
             structSummaryColumns.contains(field) };
         break;
       default:
@@ -129,7 +129,8 @@ public class FTSDataColumnPreferences extends JScrollPane
       map.put(field.getName(), field);
     }
 
-    FTSDataColumnPrefsTableModel model = new FTSDataColumnPrefsTableModel(columnNames, data);
+    FTSDataColumnPrefsTableModel model = new FTSDataColumnPrefsTableModel(
+            columnNames, data);
     tbl_FTSDataColumnPrefs.setModel(model);
 
     switch (source)
@@ -145,8 +146,7 @@ public class FTSDataColumnPreferences extends JScrollPane
       tbl_FTSDataColumnPrefs.getColumnModel().getColumn(1).setMinWidth(150);
       tbl_FTSDataColumnPrefs.getColumnModel().getColumn(2)
               .setPreferredWidth(150);
-      tbl_FTSDataColumnPrefs.getColumnModel().getColumn(2)
-.setMinWidth(150);
+      tbl_FTSDataColumnPrefs.getColumnModel().getColumn(2).setMinWidth(150);
 
       TableRowSorter<TableModel> sorter = new TableRowSorter<>(
               tbl_FTSDataColumnPrefs.getModel());
@@ -156,8 +156,7 @@ public class FTSDataColumnPreferences extends JScrollPane
       sortKeys.add(new RowSorter.SortKey(columnIndexToSort,
               SortOrder.ASCENDING));
       sorter.setSortKeys(sortKeys);
-      sorter.setComparator(
-              columnIndexToSort,
+      sorter.setComparator(columnIndexToSort,
               new Comparator<FTSDataColumnGroupI>()
               {
                 @Override
@@ -179,21 +178,16 @@ public class FTSDataColumnPreferences extends JScrollPane
 
   }
 
-  public static Collection<FTSDataColumnI> getStructureSummaryFields()
+  public Collection<FTSDataColumnI> getStructureSummaryFields()
   {
     return structSummaryColumns;
   }
 
-  public static void setStructureSummaryFields(
-          Collection<FTSDataColumnI> structureSummaryFields)
-  {
-    FTSDataColumnPreferences.structSummaryColumns = structureSummaryFields;
-  }
-
   class FTSDataColumnPrefsTableModel extends AbstractTableModel
   {
 
-    public FTSDataColumnPrefsTableModel(String[] columnNames, Object[][] data)
+    public FTSDataColumnPrefsTableModel(String[] columnNames,
+            Object[][] data)
     {
       this.data = data;
       this.columnNames = columnNames;
@@ -305,9 +299,8 @@ public class FTSDataColumnPreferences extends JScrollPane
 
       if (currentSource == PreferenceSource.SEARCH_SUMMARY)
       {
-        updatePrefs(ftsRestClient
-                .getAllDefaulDisplayedDataColumns(), ftsDataColumn,
-                selected);
+        updatePrefs(ftsRestClient.getAllDefaultDisplayedFTSDataColumns(),
+                ftsDataColumn, selected);
       }
       else if (currentSource == PreferenceSource.STRUCTURE_CHOOSER)
       {
@@ -317,9 +310,8 @@ public class FTSDataColumnPreferences extends JScrollPane
       {
         if (col == 1)
         {
-          updatePrefs(ftsRestClient
-                  .getAllDefaulDisplayedDataColumns(), ftsDataColumn,
-                  selected);
+          updatePrefs(ftsRestClient.getAllDefaultDisplayedFTSDataColumns(),
+                  ftsDataColumn, selected);
         }
         else if (col == 2)
         {
@@ -328,8 +320,7 @@ public class FTSDataColumnPreferences extends JScrollPane
       }
     }
 
-    private void updatePrefs(
-            Collection<FTSDataColumnI> prefConfig,
+    private void updatePrefs(Collection<FTSDataColumnI> prefConfig,
             FTSDataColumnI dataColumn, boolean selected)
     {
       if (prefConfig.contains(dataColumn) && !selected)