From d975bc688bfc8db5fa87593a5d98c9df37654dda Mon Sep 17 00:00:00 2001 From: gpawel <gpawel> Date: Fri, 9 Nov 2012 13:54:11 +0000 Subject: [PATCH] bugfixes related with import of microscopy images SVN: 27563 --- .../openbis/dss/etl/AbstractImageDatasetUploader.java | 10 +++++++++- .../cisd/openbis/dss/etl/RelativeImageReference.java | 5 ++++- .../imaging/dataaccess/IImagingReadonlyQueryDAO.java | 6 ++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java index 5cf22d45893..f97eab5b3d7 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java @@ -178,7 +178,15 @@ abstract class AbstractImageDatasetUploader datasetId, spotId, image.tryGetTimePoint(), image.tryGetDepth(), image.tryGetSeriesNumber(), false); - List<ImgChannelStackDTO> channelStacks = dao.listChannelStacks(datasetId, spotId); + List<ImgChannelStackDTO> channelStacks = null; + if (spotId != null) + { + channelStacks = dao.listChannelStacks(datasetId, spotId); + } else + { + channelStacks = dao.listChannelStacks(datasetId); + } + for (ImgChannelStackDTO channelStack : channelStacks) { if (newChannelStack.equals(channelStack)) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java index 322134855b1..5b5a288c65f 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java @@ -16,6 +16,7 @@ package ch.systemsx.cisd.openbis.dss.etl; +import ch.systemsx.cisd.common.shared.basic.string.StringUtils; import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** @@ -41,6 +42,8 @@ public class RelativeImageReference extends AbstractImageReference public final void setRelativeImageFolder(String folderPathPrefix) { - this.imageRelativePath = folderPathPrefix + imageRelativePath; + this.imageRelativePath = + StringUtils.isBlank(imageRelativePath) ? folderPathPrefix.substring(0, + folderPathPrefix.length() - 1) : folderPathPrefix + imageRelativePath; } } \ No newline at end of file diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java index 65296072950..274551f0f8a 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java @@ -385,6 +385,12 @@ public interface IImagingReadonlyQueryDAO extends BaseQuery + "where cs.ds_id = ?{1} and s.id = ?{2}") public List<ImgChannelStackDTO> listChannelStacks(long datasetId, long spotId); + @Select("select cs.* from CHANNEL_STACKS cs " + + "join SPOTS s on s.id = cs.spot_id " + + "join CONTAINERS c on c.id = s.cont_id " + + "where cs.ds_id = ?{1} and s.id IS NULL") + public List<ImgChannelStackDTO> listChannelStacks(long datasetId); + @Select("select * from SPOTS where cont_id = ?{1}") public List<ImgSpotDTO> listSpots(long contId); -- GitLab