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

OBP-22 Column for biological experiment added to the view and the API. Minor...

OBP-22 Column for biological experiment added to the view and the API. Minor version of API incremented.

SVN: 16639
parent 5ecfb47f
No related branches found
No related tags found
No related merge requests found
......@@ -52,7 +52,8 @@ public class RawDataApiTest
if (latestDataSets.isEmpty() == false)
{
System.out.println(" " + info.getMsInjectionSampleCode() + " -> "
+ info.getBiologicalSampleIdentifier() + ": latest data sets: "
+ info.getBiologicalSampleIdentifier() + " -> "
+ info.getBiologicalExperimentIdentifier() + ": latest data sets: "
+ latestDataSets);
}
}
......
......@@ -45,6 +45,7 @@ var phosphonetx = {
openbis_raw_data_sample_browser_CODE: "MS INJECTION Sample",
openbis_raw_data_sample_browser_REGISTRATION_DATE: "Registration Date",
openbis_raw_data_sample_browser_PARENT: "Biological Sample",
openbis_raw_data_sample_browser_EXPERIMENT: "Experiment",
copy_data_sets_button_label: "Process Data Sets",
copy_data_sets_title: "Process Data Sets",
copy_data_sets_message: "Please, enter the data set type of the data sets of the samples {1} to be processed by '{0}'.",
......
......@@ -25,6 +25,7 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
import ch.systemsx.cisd.openbis.generic.client.web.server.GenericColumnsHelper.Column;
import ch.systemsx.cisd.openbis.generic.client.web.server.GenericColumnsHelper.PropertyColumns;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IOriginalDataProvider;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericTableColumnHeader;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericTableRow;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
......@@ -39,6 +40,9 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample;
class RawDataSampleProvider implements IOriginalDataProvider<GenericTableRow>
{
@Private
static final String EXPERIMENT = "EXPERIMENT";
@Private
static final String PARENT = "PARENT";
......@@ -97,10 +101,12 @@ class RawDataSampleProvider implements IOriginalDataProvider<GenericTableRow>
Column dateColumn =
new Column(GenericTableColumnHeader.untitledStringHeader(1, REGISTRATION_DATE));
Column parentColumn = new Column(GenericTableColumnHeader.untitledStringHeader(2, PARENT));
Column experimentColumn = new Column(GenericTableColumnHeader.untitledLinkableStringHeader(3, EXPERIMENT));
List<Column> columns = new ArrayList<Column>();
columns.add(codeColumn);
columns.add(dateColumn);
columns.add(parentColumn);
columns.add(experimentColumn);
int fixedColumns = columns.size();
PropertyColumns samplePropertyColumns = new PropertyColumns();
PropertyColumns parentPropertyColumns = new PropertyColumns();
......@@ -111,6 +117,11 @@ class RawDataSampleProvider implements IOriginalDataProvider<GenericTableRow>
dateColumn.addDate(i, sample.getRegistrationDate());
Sample parent = sample.getGeneratedFrom();
parentColumn.addStringWithID(i, parent.getIdentifier(), parent.getId());
Experiment experiment = parent.getExperiment();
if (experiment != null)
{
experimentColumn.addStringWithID(i, experiment.getIdentifier(), experiment.getId());
}
addPropertyTypes(samplePropertyColumns, i, sample);
addPropertyTypes(parentPropertyColumns, i, sample.getGeneratedFrom());
}
......
......@@ -36,6 +36,7 @@ import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
......@@ -117,6 +118,11 @@ public class RawDataService extends AbstractServer<IRawDataService> implements I
Sample bioSample = msiSample.getGeneratedFrom();
info.setBiologicalSampleID(bioSample.getId());
info.setBiologicalSampleIdentifier(bioSample.getIdentifier());
Experiment experiment = bioSample.getExperiment();
if (experiment != null)
{
info.setBiologicalExperimentIdentifier(experiment.getIdentifier());
}
info.setBiologicalSampleProperties(translate(bioSample.getProperties()));
Map<String, Date> latestDataSetRegistrationDates = new HashMap<String, Date>();
for (Entry<String, ExternalData> entry : sample.getLatestDataSets().entrySet())
......@@ -206,7 +212,7 @@ public class RawDataService extends AbstractServer<IRawDataService> implements I
public int getMinorVersion()
{
return 0;
return 1;
}
}
......@@ -25,6 +25,7 @@ import java.util.Map;
* for
* <ul><li>MS_INJECTION sample: ID, properties, code and registration date
* <li>Biological sample: identifier and properties
* <li>Identifier of biological experiment (i.e. experiment of biological sample) if present
* <li>Registration dates of the most recently registered data sets for each data set type
* </ul>
*
......@@ -46,6 +47,8 @@ public class MsInjectionDataInfo implements Serializable
private String biologicalSampleIdentifier;
private String biologicalExperimentIdentifier;
private Map<PropertyKey, Serializable> biologicalSampleProperties;
private Map<String, Date> latestDataSetRegistrationDates;
......@@ -111,6 +114,16 @@ public class MsInjectionDataInfo implements Serializable
this.biologicalSampleIdentifier = biologicalSampleIdentifier;
}
public final String getBiologicalExperimentIdentifier()
{
return biologicalExperimentIdentifier;
}
public final void setBiologicalExperimentIdentifier(String biologicalExperimentIdentifier)
{
this.biologicalExperimentIdentifier = biologicalExperimentIdentifier;
}
public Map<PropertyKey, Serializable> getBiologicalSampleProperties()
{
return biologicalSampleProperties;
......
......@@ -32,6 +32,7 @@ import ch.rinn.restrictions.Friend;
import ch.systemsx.cisd.openbis.generic.shared.AbstractServerTestCase;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericTableColumnHeader;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericTableRow;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityProperty;
......@@ -102,15 +103,19 @@ public class RawDataSampleProviderTest extends AbstractServerTestCase
{
Sample ms1 = sample("MS1", sample("ABC", "beta", "alpha"), "one");
Sample ms2 = sample("MS2", sample("DE", "gamma", "beta"), "one");
Sample ms3 = sample("MS3", sample("FG", "alpha", "gamma"), "2");
Sample parent = sample("FG", "alpha", "gamma");
Experiment experiment = new Experiment();
experiment.setIdentifier("/G/P/E1");
parent.setExperiment(experiment);
Sample ms3 = sample("MS3", parent, "2");
prepareListRawDataSamples(ms1, ms2, ms3);
List<GenericTableRow> data = provider.getOriginalData();
assertEquals(3, data.size());
assertRow("MS1, Mon Mar 30 17:18:20 CET 1970, /G/ABC, null, 3.0, 6, 4, null", data.get(0));
assertRow("MS2, Mon Mar 30 17:20:00 CET 1970, /G/DE, null, 3.0, null, 5, 5", data.get(1));
assertRow("MS3, Mon Mar 30 17:21:40 CET 1970, /G/FG, 1, null, 5, null, 6", data.get(2));
assertRow("MS1, Mon Mar 30 17:18:20 CET 1970, /G/ABC, null, null, 3.0, 6, 4, null", data.get(0));
assertRow("MS2, Mon Mar 30 17:20:00 CET 1970, /G/DE, null, null, 3.0, null, 5, 5", data.get(1));
assertRow("MS3, Mon Mar 30 17:21:40 CET 1970, /G/FG, /G/P/E1, 1, null, 5, null, 6", data.get(2));
context.assertIsSatisfied();
}
......@@ -135,9 +140,9 @@ public class RawDataSampleProviderTest extends AbstractServerTestCase
assertFixedColumns(headers);
for (int i = 0; i < expectedTitles.length; i++)
{
assertPropertyHeader(expectedTitles[i], i + 3, headers);
assertPropertyHeader(expectedTitles[i], i + 4, headers);
}
assertEquals(expectedTitles.length + 3, headers.size());
assertEquals(expectedTitles.length + 4, headers.size());
}
private void assertFixedColumns(List<GenericTableColumnHeader> headers)
......
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