Skip to content
Snippets Groups Projects
Commit ba048da1 authored by felmer's avatar felmer
Browse files

LMS-2859 improved FeatureVectorSummaryProvider for TableModels.

SVN: 24792
parent 24b1a8e2
No related merge requests found
...@@ -27,13 +27,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.AbstractTabl ...@@ -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.TechId;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CodeAndLabel; 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.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.Material;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; 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.TableModelColumnHeader;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow; 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.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.generic.shared.util.TypedTableModelBuilder;
import ch.systemsx.cisd.openbis.plugin.screening.shared.IScreeningServer; import ch.systemsx.cisd.openbis.plugin.screening.shared.IScreeningServer;
import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ExperimentFeatureVectorSummary; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ExperimentFeatureVectorSummary;
...@@ -80,40 +79,28 @@ public class FeatureVectorSummaryProvider extends ...@@ -80,40 +79,28 @@ public class FeatureVectorSummaryProvider extends
TableModel tableModel = fvSummary.getTableModelOrNull(); TableModel tableModel = fvSummary.getTableModelOrNull();
if (tableModel == null) if (tableModel == null)
{ {
buildTableFromSummary(builder, fvSummary); return buildTableFromSummary(builder, fvSummary);
} else }
{ return buildTableFromTableModel(tableModel);
buildTableFromTableModel(builder, tableModel);
}
return builder.getModel();
} }
private void buildTableFromTableModel( private TypedTableModel<MaterialFeatureVectorSummary> buildTableFromTableModel(
TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, TableModel tableModel) TableModel tableModel)
{ {
List<TableModelColumnHeader> headers = tableModel.getHeader(); 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<TableModelRow> rows = tableModel.getRows();
List<TableModelRowWithObject<MaterialFeatureVectorSummary>> list =
new ArrayList<TableModelRowWithObject<MaterialFeatureVectorSummary>>();
for (TableModelRow row : rows) for (TableModelRow row : rows)
{ {
builder.addRow(null); list.add(new TableModelRowWithObject<MaterialFeatureVectorSummary>(null, row
List<ISerializableComparable> values = row.getValues(); .getValues()));
for (int i = 0; i < values.size(); i++)
{
builder.column(headers.get(i).getId()).addValue(values.get(i));
}
} }
return new TypedTableModel<MaterialFeatureVectorSummary>(headers, list);
} }
private void buildTableFromSummary(TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, private TypedTableModel<MaterialFeatureVectorSummary> buildTableFromSummary(
TypedTableModelBuilder<MaterialFeatureVectorSummary> builder,
ExperimentFeatureVectorSummary fvSummary) ExperimentFeatureVectorSummary fvSummary)
{ {
builder.addColumn(MATERIAL_ID); builder.addColumn(MATERIAL_ID);
...@@ -144,6 +131,7 @@ public class FeatureVectorSummaryProvider extends ...@@ -144,6 +131,7 @@ public class FeatureVectorSummaryProvider extends
{ {
addRow(builder, fvSummary.getExperiment(), summary, featureColumnIds, rankColumnIds); addRow(builder, fvSummary.getExperiment(), summary, featureColumnIds, rankColumnIds);
} }
return builder.getModel();
} }
private void addRow(TypedTableModelBuilder<MaterialFeatureVectorSummary> builder, private void addRow(TypedTableModelBuilder<MaterialFeatureVectorSummary> builder,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment