From ba048da11eccb9c0a87d3e5c8da75e7dcb5d19ba Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Thu, 29 Mar 2012 12:51:58 +0000 Subject: [PATCH] LMS-2859 improved FeatureVectorSummaryProvider for TableModels. SVN: 24792 --- .../FeatureVectorSummaryProvider.java | 40 +++++++------------ 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/resultset/FeatureVectorSummaryProvider.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/resultset/FeatureVectorSummaryProvider.java index f973989f7fc..a6b5ef3013b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/resultset/FeatureVectorSummaryProvider.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/resultset/FeatureVectorSummaryProvider.java @@ -27,13 +27,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.AbstractTabl import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CodeAndLabel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelColumnHeader; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TypedTableModel; -import ch.systemsx.cisd.openbis.generic.shared.util.IColumnMetaData; import ch.systemsx.cisd.openbis.generic.shared.util.TypedTableModelBuilder; import ch.systemsx.cisd.openbis.plugin.screening.shared.IScreeningServer; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ExperimentFeatureVectorSummary; @@ -80,40 +79,28 @@ public class FeatureVectorSummaryProvider extends TableModel tableModel = fvSummary.getTableModelOrNull(); if (tableModel == null) { - buildTableFromSummary(builder, fvSummary); - } else - { - buildTableFromTableModel(builder, tableModel); - } - return builder.getModel(); + return buildTableFromSummary(builder, fvSummary); + } + return buildTableFromTableModel(tableModel); } - private void buildTableFromTableModel( - TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, TableModel tableModel) + private TypedTableModel<MaterialFeatureVectorSummary> buildTableFromTableModel( + TableModel tableModel) { List<TableModelColumnHeader> headers = tableModel.getHeader(); - for (int i = 0; i < headers.size(); i++) - { - TableModelColumnHeader header = headers.get(i); - IColumnMetaData columnMetaData = builder.addColumn(header.getId()).withTitle(header.getTitle()); - if (header.isNumeric()) - { - columnMetaData.withDataType(header.getDataType()); - } - } List<TableModelRow> rows = tableModel.getRows(); + List<TableModelRowWithObject<MaterialFeatureVectorSummary>> list = + new ArrayList<TableModelRowWithObject<MaterialFeatureVectorSummary>>(); for (TableModelRow row : rows) { - builder.addRow(null); - List<ISerializableComparable> values = row.getValues(); - for (int i = 0; i < values.size(); i++) - { - builder.column(headers.get(i).getId()).addValue(values.get(i)); - } + list.add(new TableModelRowWithObject<MaterialFeatureVectorSummary>(null, row + .getValues())); } + return new TypedTableModel<MaterialFeatureVectorSummary>(headers, list); } - private void buildTableFromSummary(TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, + private TypedTableModel<MaterialFeatureVectorSummary> buildTableFromSummary( + TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, ExperimentFeatureVectorSummary fvSummary) { builder.addColumn(MATERIAL_ID); @@ -144,6 +131,7 @@ public class FeatureVectorSummaryProvider extends { addRow(builder, fvSummary.getExperiment(), summary, featureColumnIds, rankColumnIds); } + return builder.getModel(); } private void addRow(TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, -- GitLab