Skip to content
Snippets Groups Projects
Commit 053d4f62 authored by pkupczyk's avatar pkupczyk
Browse files

LMS-2859 - Infectome.org: Support that a reporting plugin can define a column...

LMS-2859 - Infectome.org: Support that a reporting plugin can define a column which contains material or sample links - links didn't work at "Experiment->Analysis Summary" grid

SVN: 24805
parent d8af8e66
No related branches found
No related tags found
No related merge requests found
...@@ -80,7 +80,7 @@ public class FeatureVectorSummaryProvider extends ...@@ -80,7 +80,7 @@ public class FeatureVectorSummaryProvider extends
if (tableModel == null) if (tableModel == null)
{ {
return buildTableFromSummary(builder, fvSummary); return buildTableFromSummary(builder, fvSummary);
} }
return buildTableFromTableModel(tableModel); return buildTableFromTableModel(tableModel);
} }
...@@ -93,7 +93,10 @@ public class FeatureVectorSummaryProvider extends ...@@ -93,7 +93,10 @@ public class FeatureVectorSummaryProvider extends
new ArrayList<TableModelRowWithObject<MaterialFeatureVectorSummary>>(); new ArrayList<TableModelRowWithObject<MaterialFeatureVectorSummary>>();
for (TableModelRow row : rows) for (TableModelRow row : rows)
{ {
list.add(new TableModelRowWithObject<MaterialFeatureVectorSummary>(null, row // WORKAROUND: create an empty summary for the links to be rendered correctly (LMS-2859)
MaterialFeatureVectorSummary summary =
new MaterialFeatureVectorSummary(null, null, null, null, 0);
list.add(new TableModelRowWithObject<MaterialFeatureVectorSummary>(summary, row
.getValues())); .getValues()));
} }
return new TypedTableModel<MaterialFeatureVectorSummary>(headers, list); return new TypedTableModel<MaterialFeatureVectorSummary>(headers, list);
...@@ -105,28 +108,28 @@ public class FeatureVectorSummaryProvider extends ...@@ -105,28 +108,28 @@ public class FeatureVectorSummaryProvider extends
{ {
builder.addColumn(MATERIAL_ID); builder.addColumn(MATERIAL_ID);
builder.addColumn(EXPERIMENT_PERM_ID).hideByDefault(); builder.addColumn(EXPERIMENT_PERM_ID).hideByDefault();
builder.columnGroup(MATERIAL_PROPS_GROUP); builder.columnGroup(MATERIAL_PROPS_GROUP);
List<CodeAndLabel> featureDescriptions = fvSummary.getFeatureDescriptions(); List<CodeAndLabel> featureDescriptions = fvSummary.getFeatureDescriptions();
List<String> featureColumnIds = new ArrayList<String>(); List<String> featureColumnIds = new ArrayList<String>();
List<String> rankColumnIds = new ArrayList<String>(); List<String> rankColumnIds = new ArrayList<String>();
for (CodeAndLabel featureDescription : featureDescriptions) for (CodeAndLabel featureDescription : featureDescriptions)
{ {
String featureCode = featureDescription.getCode(); String featureCode = featureDescription.getCode();
String featureColumnId = getFeatureColumnId(featureCode); String featureColumnId = getFeatureColumnId(featureCode);
String featureLabel = featureDescription.getLabel(); String featureLabel = featureDescription.getLabel();
builder.addColumn(featureColumnId).withTitle(featureLabel) builder.addColumn(featureColumnId).withTitle(featureLabel)
.withDataType(DataTypeCode.REAL); .withDataType(DataTypeCode.REAL);
featureColumnIds.add(featureColumnId); featureColumnIds.add(featureColumnId);
String rankColumnId = getRankColumnId(featureCode); String rankColumnId = getRankColumnId(featureCode);
String rankTitle = ScreeningProviderMessages.RANK_COLUMN_MSG; String rankTitle = ScreeningProviderMessages.RANK_COLUMN_MSG;
builder.addColumn(rankColumnId).withTitle(rankTitle).withDataType(DataTypeCode.INTEGER); builder.addColumn(rankColumnId).withTitle(rankTitle).withDataType(DataTypeCode.INTEGER);
rankColumnIds.add(rankColumnId); rankColumnIds.add(rankColumnId);
} }
for (MaterialFeatureVectorSummary summary : fvSummary.getMaterialsSummary()) for (MaterialFeatureVectorSummary summary : fvSummary.getMaterialsSummary())
{ {
addRow(builder, fvSummary.getExperiment(), summary, featureColumnIds, rankColumnIds); addRow(builder, fvSummary.getExperiment(), summary, featureColumnIds, rankColumnIds);
......
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