X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FFTSRestResponse.java;h=ae5023309ee7e2a273aa3ddc972a1e892d9e7fe1;hb=ecb3c49c02a90f877cf0658ba6a944f04be74431;hp=c56b8c80f8c9783b007c0a2e32e868630dfaf092;hpb=007af0c9001900071f6d8e9214143f79e10f4938;p=jalview.git diff --git a/src/jalview/fts/core/FTSRestResponse.java b/src/jalview/fts/core/FTSRestResponse.java index c56b8c8..ae50233 100644 --- a/src/jalview/fts/core/FTSRestResponse.java +++ b/src/jalview/fts/core/FTSRestResponse.java @@ -21,10 +21,12 @@ package jalview.fts.core; +import jalview.datamodel.SequenceI; 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; @@ -39,7 +41,7 @@ import javax.swing.table.DefaultTableModel; public class FTSRestResponse { private int numberOfItemsFound; - + private String responseTime; private Collection searchSummary; @@ -105,9 +107,10 @@ public class FTSRestResponse { if (colOffset == 1 && columnIndex == 0) { - return String.class; + return SequenceI.class; } - return cols[columnIndex - colOffset].getDataColumnClass(); + return cols[columnIndex - colOffset].getDataType() + .getDataTypeClass(); } }; @@ -116,8 +119,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 @@ -133,32 +135,42 @@ public class FTSRestResponse } public static void configureTableColumn(JTable tbl_summary, - Collection wantedFields) + Collection wantedFields, + Map columnPrefs) { - try - { - // wait for table model initialisation to complete - Thread.sleep(1200); - } catch (InterruptedException e1) - { - e1.printStackTrace(); - } 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(); } + if (wantedField.getDataType().getDataTypeClass() == Double.class) + { + DecimalFormatTableCellRenderer dfr = new DecimalFormatTableCellRenderer( + wantedField.getDataType().isFormtted(), + wantedField.getDataType().getSignificantFigures()); + tbl_summary.getColumn(wantedField.getName()).setCellRenderer(dfr); + } + else if (wantedField.getDataType() + .getDataTypeClass() == Integer.class) + { + DecimalFormatTableCellRenderer dfr = new DecimalFormatTableCellRenderer( + wantedField.getDataType().isFormtted(), + wantedField.getDataType().getSignificantFigures()); + tbl_summary.getColumn(wantedField.getName()).setCellRenderer(dfr); + } } } - }