JAL-2738 copy to spikes/mungo
[jalview.git] / src / jalview / fts / core / FTSRestResponse.java
index 8078d43..d9658e4 100644 (file)
@@ -25,6 +25,7 @@ import jalview.fts.api.FTSData;
 import jalview.fts.api.FTSDataColumnI;
 
 import java.util.Collection;
+import java.util.Map;
 
 import javax.swing.JTable;
 import javax.swing.table.DefaultTableModel;
@@ -117,8 +118,7 @@ public class FTSRestResponse
       tableModel.addColumn("Ref Sequence"); // Create sequence column header if
       // exists in the request
     }
-    for (FTSDataColumnI field : request
-            .getWantedFields())
+    for (FTSDataColumnI field : request.getWantedFields())
     {
       tableModel.addColumn(field.getName()); // Create sequence column header if
                                              // exists in the request
@@ -134,18 +134,22 @@ public class FTSRestResponse
   }
 
   public static void configureTableColumn(JTable tbl_summary,
-          Collection<FTSDataColumnI> wantedFields)
+          Collection<FTSDataColumnI> wantedFields,
+          Map<String, Integer> columnPrefs)
   {
     for (FTSDataColumnI wantedField : wantedFields)
     {
       try
       {
-        tbl_summary.getColumn(wantedField.getName()).setMinWidth(
-                wantedField.getMinWidth());
-        tbl_summary.getColumn(wantedField.getName()).setMaxWidth(
-                wantedField.getMaxWidth());
-        tbl_summary.getColumn(wantedField.getName()).setPreferredWidth(
-                wantedField.getPreferredWidth());
+        tbl_summary.getColumn(wantedField.getName())
+                .setMinWidth(wantedField.getMinWidth());
+        tbl_summary.getColumn(wantedField.getName())
+                .setMaxWidth(wantedField.getMaxWidth());
+        int prefedWidth = columnPrefs.get(wantedField.getName()) == null
+                ? wantedField.getPreferredWidth()
+                : columnPrefs.get(wantedField.getName());
+        tbl_summary.getColumn(wantedField.getName())
+                .setPreferredWidth(prefedWidth);
       } catch (Exception e)
       {
         e.printStackTrace();
@@ -157,7 +161,8 @@ public class FTSRestResponse
                 wantedField.getDataType().getSignificantFigures());
         tbl_summary.getColumn(wantedField.getName()).setCellRenderer(dfr);
       }
-      else if (wantedField.getDataType().getDataTypeClass() == Integer.class)
+      else if (wantedField.getDataType()
+              .getDataTypeClass() == Integer.class)
       {
         DecimalFormatTableCellRenderer dfr = new DecimalFormatTableCellRenderer(
                 wantedField.getDataType().isFormtted(),
@@ -167,5 +172,4 @@ public class FTSRestResponse
     }
   }
 
-
 }