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 5cf22d45893765f09534854da61a608d271dfb10..f97eab5b3d7fe01fbaff1f4ce0ac45b0479b397c 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 322134855b1942ef381d35e80f0d901bbf761a63..5b5a288c65f0ee9c1c21d559bae7d20559436177 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 65296072950d780b300f8a379075acb1b3545f09..274551f0f8a474fed3f1598186c531fe160617ab 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);