From c739693f549b6f95d4655b42c4bde4fd53edecee Mon Sep 17 00:00:00 2001 From: tpylak <tpylak> Date: Tue, 1 Mar 2011 09:22:57 +0000 Subject: [PATCH] LMS-2081 allow to register plate and dataset in the same transaction SVN: 20162 --- .../openbis/dss/etl/HCSContainerDatasetInfo.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java index fa215a3b109..bb1148d8fad 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java @@ -21,6 +21,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; +import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry; import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateDimension; import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateDimensionParser; @@ -89,6 +90,11 @@ public class HCSContainerDatasetInfo this.containerColumns = containerColumns; } + public Geometry getContainerGeometry() + { + return Geometry.createFromRowColDimensions(containerRows, containerColumns); + } + public static HCSContainerDatasetInfo createScreeningDatasetInfo( DataSetInformation dataSetInformation) { @@ -144,7 +150,13 @@ public class HCSContainerDatasetInfo static PlateDimension getPlateGeometry(final DataSetInformation dataSetInformation) { - final IEntityProperty[] sampleProperties = dataSetInformation.getProperties(); + IEntityProperty[] sampleProperties = dataSetInformation.getProperties(); + if (sampleProperties == null && dataSetInformation.tryToGetSample() != null) + { + sampleProperties = + dataSetInformation.tryToGetSample().getProperties() + .toArray(new IEntityProperty[0]); + } final PlateDimension plateDimension = PlateDimensionParser.tryToGetPlateDimension(sampleProperties); if (plateDimension == null) -- GitLab