From bffbc5898435a13fd2e3891e031abca0865af17f Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Thu, 24 Jun 2010 18:11:07 +0000 Subject: [PATCH] [LMS-1588] added access to the imaging db from openBIS SVN: 16731 --- screening/dist/etc/service.properties | 2 - screening/dist/server/service.properties | 11 ++ screening/etc/service.properties | 2 - .../dss/etl/AbsoluteImageReference.java | 2 +- .../etl/AbstractHCSImageFileExtractor.java | 2 +- .../dss/etl/AbstractImageReference.java | 2 +- .../openbis/dss/etl/HCSDatasetUploader.java | 16 +-- ...java => HCSImageDatasetLoaderFactory.java} | 24 ++-- .../dss/etl/HCSImageFileExtractor.java | 2 +- ...oader.java => IHCSImageDatasetLoader.java} | 18 +-- .../dss/etl/PlateStorageProcessor.java | 8 +- .../dss/etl/RelativeImageReference.java | 2 +- .../ScreeningContainerDatasetInfoHelper.java | 28 ++--- .../BDSImagingDatabaseMigrator.java | 8 +- .../bdsmigration/BDSImagingDbUploader.java | 16 +-- ...Loader.java => HCSImageDatasetLoader.java} | 83 ++------------ .../dss/etl/dataaccess/IFeatureVectorDAO.java | 51 --------- .../AbstractFeatureVectorMigrator.java | 12 +- .../featurevector/CanonicalFeatureVector.java | 4 +- .../CsvFeatureVectorMigrator.java | 4 +- .../CsvToCanonicalFeatureVector.java | 4 +- .../FeatureVectorStorageProcessor.java | 8 +- .../featurevector/FeatureVectorUploader.java | 14 +-- .../etl/genedata/FeatureStorageProcessor.java | 8 +- .../GenedataFeatureVectorMigrator.java | 4 +- ...enedataFormatToCanonicalFeatureVector.java | 4 +- .../server/images/ImageChannelsUtils.java | 11 +- ...eeningPlateImageParamsReportingPlugin.java | 10 +- .../server/DssServiceRpcScreening.java | 33 +++--- .../IScreeningBusinessObjectFactory.java | 3 + .../ScreeningBusinessObjectFactory.java | 17 +++ .../dataaccess/IScreeningDAOFactory.java | 32 ++++++ .../dataaccess/db/ScreeningDAOFactory.java | 79 +++++++++++++ .../screening/shared/ResourceNames.java | 5 +- .../shared/imaging/HCSDatasetLoader.java | 108 ++++++++++++++++++ .../shared/imaging/IHCSDatasetLoader.java} | 28 +++-- .../imaging}/dataaccess/ColorComponent.java | 2 +- .../FeatureVectorDataObjectBinding.java | 2 +- .../imaging/dataaccess/IImagingQueryDAO.java} | 4 +- .../dataaccess/ImgAcquiredImageDTO.java | 2 +- .../imaging}/dataaccess/ImgChannelDTO.java | 2 +- .../dataaccess/ImgChannelStackDTO.java | 2 +- .../imaging}/dataaccess/ImgContainerDTO.java | 2 +- .../imaging}/dataaccess/ImgDatasetDTO.java | 2 +- .../imaging}/dataaccess/ImgFeatureDefDTO.java | 2 +- .../dataaccess/ImgFeatureValuesDTO.java | 2 +- .../imaging}/dataaccess/ImgImageDTO.java | 2 +- .../imaging}/dataaccess/ImgSpotDTO.java | 2 +- .../java/screening-applicationContext.xml | 25 ++++ screening/source/java/service.properties | 11 ++ .../FeatureVectorUploaderTest.java | 14 +-- .../genedata/FeatureStorageProcessorTest.java | 14 +-- ...ataFormatToCanonicalFeatureVectorTest.java | 4 +- .../openbis/dss/screening/shared/.gitignore | 0 .../imaging}/dataaccess/AbstractDBTest.java | 2 +- .../shared/imaging}/dataaccess/DBUtils.java | 2 +- .../imaging}/dataaccess/DBUtilsForTests.java | 8 +- .../dataaccess/FeatureVectorDAOTest.java | 15 ++- .../dataaccess/ImagingQueryDAOTest.java} | 19 ++- 59 files changed, 488 insertions(+), 317 deletions(-) rename screening/source/java/ch/systemsx/cisd/openbis/dss/etl/{HCSDatasetLoaderFactory.java => HCSImageDatasetLoaderFactory.java} (82%) rename screening/source/java/ch/systemsx/cisd/openbis/dss/etl/{IHCSDatasetLoader.java => IHCSImageDatasetLoader.java} (78%) rename screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/{HCSDatasetLoader.java => HCSImageDatasetLoader.java} (71%) delete mode 100644 screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IFeatureVectorDAO.java create mode 100644 screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/IScreeningDAOFactory.java create mode 100644 screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/db/ScreeningDAOFactory.java create mode 100644 screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/HCSDatasetLoader.java rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl/dataaccess/ImagingDatabaseVersionHolder.java => plugin/screening/shared/imaging/IHCSDatasetLoader.java} (58%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ColorComponent.java (95%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/FeatureVectorDataObjectBinding.java (94%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl/dataaccess/IImagingUploadDAO.java => plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java} (98%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgAcquiredImageDTO.java (96%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgChannelDTO.java (97%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgChannelStackDTO.java (97%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgContainerDTO.java (96%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgDatasetDTO.java (97%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgFeatureDefDTO.java (96%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgFeatureValuesDTO.java (97%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgImageDTO.java (96%) rename screening/source/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/ImgSpotDTO.java (96%) create mode 100644 screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/shared/.gitignore rename screening/sourceTest/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/AbstractDBTest.java (96%) rename screening/sourceTest/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/DBUtils.java (96%) rename screening/sourceTest/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/DBUtilsForTests.java (79%) rename screening/sourceTest/java/ch/systemsx/cisd/openbis/{dss/etl => plugin/screening/shared/imaging}/dataaccess/FeatureVectorDAOTest.java (85%) rename screening/sourceTest/java/ch/systemsx/cisd/openbis/{dss/etl/dataaccess/ImagingUploadDAOTest.java => plugin/screening/shared/imaging/dataaccess/ImagingQueryDAOTest.java} (89%) diff --git a/screening/dist/etc/service.properties b/screening/dist/etc/service.properties index 062e3aa11b5..17ee8fab7ae 100644 --- a/screening/dist/etc/service.properties +++ b/screening/dist/etc/service.properties @@ -86,11 +86,9 @@ mail.smtp.host = file://${root-dir} # --------------------------------------------------------------------------- data-sources = imaging-db -imaging-db.version-holder-class = ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImagingDatabaseVersionHolder imaging-db.databaseEngineCode = postgresql imaging-db.basicDatabaseName = imaging imaging-db.databaseKind = productive -imaging-db.scriptFolder = sql # --------------------------------------------------------------------------- # reporting and processing plugins configuration diff --git a/screening/dist/server/service.properties b/screening/dist/server/service.properties index e6ca7364f9b..342c6bf93b6 100644 --- a/screening/dist/server/service.properties +++ b/screening/dist/server/service.properties @@ -22,6 +22,17 @@ database.owner-password = database.admin-user = database.admin-password = +imaging.database.engine = postgresql +imaging.database.create-from-scratch = false +imaging.database.script-single-step-mode = false +imaging.database.url-host-part = +imaging.database.kind = dev +imaging.database.owner = +imaging.database.owner-password = +imaging.database.admin-user = +imaging.database.admin-password = +imaging.script-folder = source + #crowd.service.host = crowd-bsse.ethz.ch #crowd.service.port = 8443 #crowd.application.name = <openbis_application_name_in_crowd> diff --git a/screening/etc/service.properties b/screening/etc/service.properties index ecc26319dbb..1719cd48f1d 100644 --- a/screening/etc/service.properties +++ b/screening/etc/service.properties @@ -86,11 +86,9 @@ mail.smtp.host = file://${root-dir}/emails # --------------------------------------------------------------------------- data-sources = imaging-db -imaging-db.version-holder-class = ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImagingDatabaseVersionHolder imaging-db.databaseEngineCode = postgresql imaging-db.basicDatabaseName = imaging imaging-db.databaseKind = dev -imaging-db.scriptFolder = source/sql # --------------------------------------------------------------------------- # reporting and processing plugins configuration diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbsoluteImageReference.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbsoluteImageReference.java index e5aaa9d311d..ad910197128 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbsoluteImageReference.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbsoluteImageReference.java @@ -17,7 +17,7 @@ package ch.systemsx.cisd.openbis.dss.etl; import ch.systemsx.cisd.common.io.IContent; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** * Reference to the image with an absolute path. diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractHCSImageFileExtractor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractHCSImageFileExtractor.java index b2ed635b0c5..36a19c6fb3a 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractHCSImageFileExtractor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractHCSImageFileExtractor.java @@ -39,8 +39,8 @@ import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.utilities.PropertyUtils; import ch.systemsx.cisd.openbis.dss.etl.HCSImageFileExtractionResult.Channel; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** * Abstract superclass for <code>IHCSImageFileExtractor</code> implementations. diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageReference.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageReference.java index c0cbba98c90..2aaa9e6437d 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageReference.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageReference.java @@ -17,7 +17,7 @@ package ch.systemsx.cisd.openbis.dss.etl; import ch.systemsx.cisd.common.utilities.AbstractHashable; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** * Superclass for image reference. diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetUploader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetUploader.java index a94af70cbfe..8ebc261c5d1 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetUploader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetUploader.java @@ -27,29 +27,29 @@ import java.util.Map.Entry; import ch.systemsx.cisd.bds.hcs.Location; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfoHelper.ExperimentWithChannelsAndContainer; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgAcquiredImageDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgChannelStackDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgImageDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgSpotDTO; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgAcquiredImageDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgChannelStackDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgImageDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgSpotDTO; /** * @author Tomasz Pylak */ public class HCSDatasetUploader { - public static void upload(IImagingUploadDAO dao, ScreeningContainerDatasetInfo info, + public static void upload(IImagingQueryDAO dao, ScreeningContainerDatasetInfo info, List<AcquiredPlateImage> images, Set<HCSImageFileExtractionResult.Channel> channels) { new HCSDatasetUploader(dao).upload(info, images, channels); } - private final IImagingUploadDAO dao; + private final IImagingQueryDAO dao; - private HCSDatasetUploader(IImagingUploadDAO dao) + private HCSDatasetUploader(IImagingQueryDAO dao) { this.dao = dao; } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetLoaderFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageDatasetLoaderFactory.java similarity index 82% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetLoaderFactory.java rename to screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageDatasetLoaderFactory.java index 0ee4906d863..ac0b35df322 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSDatasetLoaderFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageDatasetLoaderFactory.java @@ -29,28 +29,28 @@ import net.lemnik.eodsql.QueryTool; import ch.systemsx.cisd.bds.hcs.Geometry; import ch.systemsx.cisd.bds.hcs.Location; import ch.systemsx.cisd.common.io.FileBasedContent; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.HCSDatasetLoader; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; +import ch.systemsx.cisd.openbis.dss.etl.dataaccess.HCSImageDatasetLoader; import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDatasetDownloadServlet.Size; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; /** * @author Tomasz Pylak */ -public class HCSDatasetLoaderFactory +public class HCSImageDatasetLoaderFactory { private static final Map<String, IContentRepositoryFactory> repositoryFactories = createFactories(); - private static final IImagingUploadDAO query = createQuery(); + private static final IImagingQueryDAO query = createQuery(); - private static IImagingUploadDAO createQuery() + private static IImagingQueryDAO createQuery() { DataSource dataSource = ServiceProvider.getDataSourceProvider().getDataSource( ScreeningConstants.IMAGING_DATA_SOURCE); - return QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + return QueryTool.getQuery(dataSource, IImagingQueryDAO.class); } private static Map<String, IContentRepositoryFactory> createFactories() @@ -61,30 +61,30 @@ public class HCSDatasetLoaderFactory return factories; } - public static final IHCSDatasetLoader create(File datasetRootDir, String datasetCode) + public static final IHCSImageDatasetLoader create(File datasetRootDir, String datasetCode) { return createImageDBLoader(datasetRootDir, datasetCode); // return createBDSLoader(datasetRootDir); } - private static HCSDatasetLoader createImageDBLoader(File datasetRootDir, String datasetCode) + private static HCSImageDatasetLoader createImageDBLoader(File datasetRootDir, String datasetCode) { IContentRepository repository = new ContentRepository(datasetRootDir, repositoryFactories); - return new HCSDatasetLoader(query, datasetCode, repository); + return new HCSImageDatasetLoader(query, datasetCode, repository); } // remove when not needed @SuppressWarnings("unused") - private static IHCSDatasetLoader createBDSLoader(File datasetRootDir) + private static IHCSImageDatasetLoader createBDSLoader(File datasetRootDir) { final ch.systemsx.cisd.bds.hcs.HCSDatasetLoader loader = new ch.systemsx.cisd.bds.hcs.HCSDatasetLoader(datasetRootDir); return adapt(loader); } - private static IHCSDatasetLoader adapt(final ch.systemsx.cisd.bds.hcs.HCSDatasetLoader loader) + private static IHCSImageDatasetLoader adapt(final ch.systemsx.cisd.bds.hcs.HCSDatasetLoader loader) { - return new IHCSDatasetLoader() + return new IHCSImageDatasetLoader() { public void close() diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageFileExtractor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageFileExtractor.java index 418e0183604..7752e5a16a4 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageFileExtractor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSImageFileExtractor.java @@ -30,7 +30,7 @@ import ch.systemsx.cisd.common.filesystem.FileOperations; import ch.systemsx.cisd.openbis.dss.etl.AbstractHCSImageFileExtractor; import ch.systemsx.cisd.openbis.dss.etl.AcquiredPlateImage; import ch.systemsx.cisd.openbis.dss.etl.HCSImageFileExtractionResult.Channel; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** * Generic image extractor implementation. The images names should have an extension present in diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/IHCSDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/IHCSImageDatasetLoader.java similarity index 78% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/IHCSDatasetLoader.java rename to screening/source/java/ch/systemsx/cisd/openbis/dss/etl/IHCSImageDatasetLoader.java index b671bc722ae..65bfd6d728e 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/IHCSDatasetLoader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/IHCSImageDatasetLoader.java @@ -16,29 +16,15 @@ package ch.systemsx.cisd.openbis.dss.etl; -import java.util.List; - -import ch.systemsx.cisd.bds.hcs.Geometry; import ch.systemsx.cisd.bds.hcs.Location; import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDatasetDownloadServlet.Size; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.IHCSDatasetLoader; /** * @author Tomasz Pylak */ -public interface IHCSDatasetLoader +public interface IHCSImageDatasetLoader extends IHCSDatasetLoader { - - /** has to be called at the end */ - void close(); - - Geometry getPlateGeometry(); - - Geometry getWellGeometry(); - - int getChannelCount(); - - List<String> getChannelsNames(); - /** * @param chosenChannel start from 1 * @return image (with absolute path, page and color) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java index 6fdf41fa9a9..9ce83fdb48f 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java @@ -61,12 +61,12 @@ import ch.systemsx.cisd.hdf5.HDF5FactoryProvider; import ch.systemsx.cisd.hdf5.IHDF5Writer; import ch.systemsx.cisd.openbis.dss.Constants; import ch.systemsx.cisd.openbis.dss.etl.HCSImageCheckList.FullLocation; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.dto.StorageFormat; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; /** * Storage processor which stores HCS images in a special-purpose database. @@ -142,7 +142,7 @@ public final class PlateStorageProcessor extends AbstractStorageProcessor private final ch.systemsx.cisd.etlserver.IHCSImageFileExtractor deprecatedImageFileExtractor; - private IImagingUploadDAO currentTransaction; + private IImagingQueryDAO currentTransaction; public PlateStorageProcessor(final Properties properties) { @@ -178,9 +178,9 @@ public final class PlateStorageProcessor extends AbstractStorageProcessor this.currentTransaction = null; } - private IImagingUploadDAO createQuery() + private IImagingQueryDAO createQuery() { - return QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + return QueryTool.getQuery(dataSource, IImagingQueryDAO.class); } private final static void checkDataSetInformation(final DataSetInformation dataSetInformation) 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 1d9f12fdbd9..99b2ec918cb 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,7 +16,7 @@ package ch.systemsx.cisd.openbis.dss.etl; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** * Reference to the image with a path relative to the folder with all the images. diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java index 6fb56512fb1..3a0b66ff09f 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ScreeningContainerDatasetInfoHelper.java @@ -23,10 +23,10 @@ import java.util.Set; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.dss.etl.HCSImageFileExtractionResult.Channel; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgChannelDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgContainerDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgDatasetDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgChannelDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgContainerDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgDatasetDTO; /** * Helper class for retrieving and/or creating entities associated with the screening container data @@ -36,9 +36,9 @@ import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgDatasetDTO; */ public class ScreeningContainerDatasetInfoHelper { - private final IImagingUploadDAO dao; + private final IImagingQueryDAO dao; - public ScreeningContainerDatasetInfoHelper(IImagingUploadDAO dao) + public ScreeningContainerDatasetInfoHelper(IImagingQueryDAO dao) { this.dao = dao; } @@ -55,7 +55,7 @@ public class ScreeningContainerDatasetInfoHelper } // Package-visible static methods - public static long createDataset(IImagingUploadDAO dao, ScreeningContainerDatasetInfo info, + public static long createDataset(IImagingQueryDAO dao, ScreeningContainerDatasetInfo info, long contId) { ImgDatasetDTO dataset = @@ -71,10 +71,10 @@ public class ScreeningContainerDatasetInfoHelper * transaction will be rolled back sample and experiment created in first transaction will stay * in the DB. */ - public static ExperimentAndContainerIds getOrCreateExperimentAndContainer( - IImagingUploadDAO dao, ScreeningContainerDatasetInfo info) + public static ExperimentAndContainerIds getOrCreateExperimentAndContainer(IImagingQueryDAO dao, + ScreeningContainerDatasetInfo info) { - synchronized (IImagingUploadDAO.class) + synchronized (IImagingQueryDAO.class) { CreatedOrFetchedEntity exp = getOrCreateExperiment(dao, info); CreatedOrFetchedEntity cont = getOrCreateContainer(dao, info, exp.getId()); @@ -96,11 +96,11 @@ public class ScreeningContainerDatasetInfoHelper * in the DB. */ public static ExperimentWithChannelsAndContainer getOrCreateExperimentWithChannelsAndContainer( - IImagingUploadDAO dao, ScreeningContainerDatasetInfo info, + IImagingQueryDAO dao, ScreeningContainerDatasetInfo info, Set<HCSImageFileExtractionResult.Channel> channels) { ScreeningContainerDatasetInfoHelper helper = new ScreeningContainerDatasetInfoHelper(dao); - synchronized (IImagingUploadDAO.class) + synchronized (IImagingQueryDAO.class) { CreatedOrFetchedEntity exp = getOrCreateExperiment(dao, info); long expId = exp.getId(); @@ -117,7 +117,7 @@ public class ScreeningContainerDatasetInfoHelper } } - private static CreatedOrFetchedEntity getOrCreateContainer(IImagingUploadDAO dao, + private static CreatedOrFetchedEntity getOrCreateContainer(IImagingQueryDAO dao, ScreeningContainerDatasetInfo info, long expId) { String containerPermId = info.getContainerPermId(); @@ -135,7 +135,7 @@ public class ScreeningContainerDatasetInfoHelper } } - private static CreatedOrFetchedEntity getOrCreateExperiment(IImagingUploadDAO dao, + private static CreatedOrFetchedEntity getOrCreateExperiment(IImagingQueryDAO dao, ScreeningContainerDatasetInfo info) { String experimentPermId = info.getExperimentPermId(); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDatabaseMigrator.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDatabaseMigrator.java index 6284cc4dad7..3f4f132f37d 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDatabaseMigrator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDatabaseMigrator.java @@ -28,16 +28,16 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.utilities.PropertyUtils; import ch.systemsx.cisd.openbis.dss.etl.AbstractHCSImageFileExtractor; import ch.systemsx.cisd.openbis.dss.etl.PlateStorageProcessor; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; /** * @author Franz-Josef Elmer */ public class BDSImagingDatabaseMigrator extends AbstractBDSMigrator { - private IImagingUploadDAO dao; + private IImagingQueryDAO dao; private List<String> channelNames; @@ -75,7 +75,7 @@ public class BDSImagingDatabaseMigrator extends AbstractBDSMigrator public BDSImagingDatabaseMigrator(Properties properties) { DataSource dataSource = ServiceProvider.getDataSourceProvider().getDataSource(properties); - dao = QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + dao = QueryTool.getQuery(dataSource, IImagingQueryDAO.class); channelNames = PropertyUtils.getMandatoryList(properties, PlateStorageProcessor.CHANNEL_NAMES); channelColorComponentsOrNull = diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDbUploader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDbUploader.java index 3e3679ddbfc..6ef193e48af 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDbUploader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/bdsmigration/BDSImagingDbUploader.java @@ -49,9 +49,9 @@ import ch.systemsx.cisd.openbis.dss.etl.PlateStorageProcessor; import ch.systemsx.cisd.openbis.dss.etl.RelativeImageReference; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; import ch.systemsx.cisd.openbis.dss.etl.HCSImageFileExtractionResult.Channel; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; /** * Uploads data to the imaging database. @@ -62,7 +62,7 @@ class BDSImagingDbUploader { public static IMigrator createImagingDbUploaderMigrator(Properties properties) { - final IImagingUploadDAO dao = createQuery(properties); + final IImagingQueryDAO dao = createQuery(properties); final List<String> channelNames = PropertyUtils.getMandatoryList(properties, PlateStorageProcessor.CHANNEL_NAMES); final List<ColorComponent> channelColorComponentsOrNull = @@ -101,13 +101,13 @@ class BDSImagingDbUploader } } - private static IImagingUploadDAO createQuery(Properties properties) + private static IImagingQueryDAO createQuery(Properties properties) { DataSource dataSource = ServiceProvider.getDataSourceProvider().getDataSource(properties); - return QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + return QueryTool.getQuery(dataSource, IImagingQueryDAO.class); } - private static boolean migrateDataset(File dataset, IImagingUploadDAO dao, + private static boolean migrateDataset(File dataset, IImagingQueryDAO dao, List<String> channelNames, List<ColorComponent> channelColorComponentsOrNull) { String originalDatasetDirName = tryGetOriginalDatasetDirName(dataset); @@ -121,7 +121,7 @@ class BDSImagingDbUploader private final File dataset; - private final IImagingUploadDAO dao; + private final IImagingQueryDAO dao; private final String originalDatasetDirName; @@ -129,7 +129,7 @@ class BDSImagingDbUploader private final List<ColorComponent> channelColorComponentsOrNull; - BDSImagingDbUploader(File dataset, IImagingUploadDAO dao, String originalDatasetDirName, + BDSImagingDbUploader(File dataset, IImagingQueryDAO dao, String originalDatasetDirName, List<String> channelNames, List<ColorComponent> channelColorComponentsOrNull) { this.dataset = dataset; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/HCSDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/HCSImageDatasetLoader.java similarity index 71% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/HCSDatasetLoader.java rename to screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/HCSImageDatasetLoader.java index 0b7dee61ddf..ec93ee30c00 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/HCSDatasetLoader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/HCSImageDatasetLoader.java @@ -21,94 +21,38 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import javax.imageio.ImageIO; import org.apache.commons.lang.StringUtils; import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; -import ch.systemsx.cisd.bds.hcs.Geometry; import ch.systemsx.cisd.bds.hcs.Location; import ch.systemsx.cisd.common.io.IContent; import ch.systemsx.cisd.openbis.dss.etl.AbsoluteImageReference; import ch.systemsx.cisd.openbis.dss.etl.IContentRepository; -import ch.systemsx.cisd.openbis.dss.etl.IHCSDatasetLoader; +import ch.systemsx.cisd.openbis.dss.etl.IHCSImageDatasetLoader; import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDatasetDownloadServlet.Size; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.HCSDatasetLoader; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgImageDTO; /** - * Helper class for easy handling of HCS image dataset standard structure. + * {@link HCSDatasetLoader} extension with code for handling images. * * @author Tomasz Pylak * @author Piotr Buczek */ -public class HCSDatasetLoader implements IHCSDatasetLoader +public class HCSImageDatasetLoader extends HCSDatasetLoader implements IHCSImageDatasetLoader { - private final IImagingUploadDAO query; - - private final ImgDatasetDTO dataset; - private final IContentRepository contentRepository; - private ImgContainerDTO container; - - private Integer channelCount; - - private List<String> channelNames; - - public HCSDatasetLoader(IImagingUploadDAO query, String datasetPermId, + public HCSImageDatasetLoader(IImagingQueryDAO query, String datasetPermId, IContentRepository contentRepository) { + super(query, datasetPermId); this.contentRepository = contentRepository; - this.query = query; - this.dataset = query.tryGetDatasetByPermId(datasetPermId); - if (dataset == null) - { - throw new IllegalStateException(String.format("Dataset '%s' not found", datasetPermId)); - } - } - - /** has to be called at the end */ - public void close() - { - query.close(); - } - - private ImgContainerDTO getContainer() - { - if (container == null) - { - container = query.getContainerById(dataset.getContainerId()); - } - return container; - } - - public Geometry getPlateGeometry() - { - return new Geometry(getContainer().getNumberOfRows(), getContainer().getNumberOfColumns()); - } - - private ImgDatasetDTO getDataset() - { - return dataset; - } - - public Geometry getWellGeometry() - { - return new Geometry(getDataset().getFieldNumberOfRows(), getDataset() - .getFieldNumberOfColumns()); - } - - public int getChannelCount() - { - if (channelCount == null) - { - channelCount = getChannelsNames().size(); - } - return channelCount; } /** @@ -224,15 +168,4 @@ public class HCSDatasetLoader implements IHCSDatasetLoader } } - public List<String> getChannelsNames() - { - if (channelNames == null) - { - String[] namesAsArray = - query.getChannelNamesByDatasetIdOrExperimentId(getDataset().getId(), - getContainer().getExperimentId()); - channelNames = new ArrayList<String>(Arrays.asList(namesAsArray)); - } - return channelNames; - } } \ No newline at end of file diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IFeatureVectorDAO.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IFeatureVectorDAO.java deleted file mode 100644 index d6bbc3895e9..00000000000 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IFeatureVectorDAO.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2010 ETH Zuerich, CISD - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; - -import java.util.List; - -import net.lemnik.eodsql.Select; -import net.lemnik.eodsql.TransactionQuery; - -import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.ByteArrayMapper; - -/** - * DAO for interacting with feature vector tables. - * - * @author Chandrasekhar Ramakrishnan - */ -public interface IFeatureVectorDAO extends TransactionQuery -{ - public static final int FETCH_SIZE = 1000; - - // Simple Getters - @Select("SELECT * from FEATURE_DEFS where DS_ID = ?{1}") - public List<ImgFeatureDefDTO> listFeatureDefsByDataSetId(long dataSetId); - - @Select(value = "SELECT * from FEATURE_VALUES where FD_ID = ?{1.id}", resultSetBinding = FeatureVectorDataObjectBinding.class) - public List<ImgFeatureValuesDTO> getFeatureValues(ImgFeatureDefDTO featureDef); - - // Inserts - @Select("INSERT into FEATURE_DEFS (NAME, DESCRIPTION, DS_ID) values " - + "(?{1.name}, ?{1.description}, ?{1.dataSetId}) RETURNING ID") - public long addFeatureDef(ImgFeatureDefDTO featureDef); - - @Select(value = "INSERT into FEATURE_VALUES (VALUES, Z_in_M, T_in_SEC, FD_ID) values " - + "(?{1.values}, ?{1.z}, ?{1.t}, ?{1.featureDefId}) RETURNING ID", parameterBindings = - { ByteArrayMapper.class }) - public long addFeatureValues(ImgFeatureValuesDTO featureValues); -} diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/AbstractFeatureVectorMigrator.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/AbstractFeatureVectorMigrator.java index ce06b80ce70..e43840968c9 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/AbstractFeatureVectorMigrator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/AbstractFeatureVectorMigrator.java @@ -28,8 +28,6 @@ import net.lemnik.eodsql.QueryTool; import ch.systemsx.cisd.etlserver.plugins.IMigrator; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgDatasetDTO; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; @@ -40,6 +38,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgDatasetDTO; /** * Imports individual data sets into the imaging db. @@ -48,7 +48,7 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConst */ public abstract class AbstractFeatureVectorMigrator implements IMigrator { - protected final IImagingUploadDAO dao; + protected final IImagingQueryDAO dao; protected final IEncapsulatedOpenBISService openBisService; @@ -59,7 +59,7 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator public AbstractFeatureVectorMigrator(Properties properties) { DataSource dataSource = ServiceProvider.getDataSourceProvider().getDataSource(properties); - dao = QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + dao = QueryTool.getQuery(dataSource, IImagingQueryDAO.class); openBisService = ServiceProvider.getOpenBISService(); knownDataSets = openBisService.listDataSets(); knownDataSetsByCode = @@ -247,7 +247,7 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator */ protected abstract static class AbstractImageDbImporter { - protected final IImagingUploadDAO dao; + protected final IImagingQueryDAO dao; protected final ScreeningContainerDatasetInfo screeningDataSetInfo; @@ -255,7 +255,7 @@ public abstract class AbstractFeatureVectorMigrator implements IMigrator protected boolean isSuccessful = false; - protected AbstractImageDbImporter(IImagingUploadDAO dao, + protected AbstractImageDbImporter(IImagingQueryDAO dao, ScreeningContainerDatasetInfo screeningDataSetInfo, File fileToMigrate) { this.dao = dao; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CanonicalFeatureVector.java index 555a8e75a99..e77f3823826 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CanonicalFeatureVector.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CanonicalFeatureVector.java @@ -19,8 +19,8 @@ package ch.systemsx.cisd.openbis.dss.etl.featurevector; import java.util.ArrayList; import java.util.List; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * Image feature vectors stored in a standardized form. diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvFeatureVectorMigrator.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvFeatureVectorMigrator.java index 816657cea5a..07f9511253b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvFeatureVectorMigrator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvFeatureVectorMigrator.java @@ -25,10 +25,10 @@ import java.util.Properties; import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked; import ch.systemsx.cisd.etlserver.DefaultStorageProcessor; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CsvToCanonicalFeatureVector.CsvToCanonicalFeatureVectorConfiguration; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; import ch.systemsx.cisd.utils.CsvFileReaderHelper; /** @@ -120,7 +120,7 @@ public class CsvFeatureVectorMigrator extends AbstractFeatureVectorMigrator private final CsvToCanonicalFeatureVectorConfiguration convertorConfig; - protected ImporterCsv(IImagingUploadDAO dao, + protected ImporterCsv(IImagingQueryDAO dao, ScreeningContainerDatasetInfo screeningDataSetInfo, File fileToMigrate, FeatureVectorStorageProcessorConfiguration configuration, CsvToCanonicalFeatureVectorConfiguration convertorConfig) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java index 3b9faf97c4c..d297d9904a1 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java @@ -24,9 +24,9 @@ import java.util.List; import ch.systemsx.cisd.base.mdarray.MDDoubleArray; import ch.systemsx.cisd.bds.hcs.Location; import ch.systemsx.cisd.common.geometry.Point; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * Converts feature vectors from CSV files to CanonicaFeatureVector objects. diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java index 2d0ae122776..e68f87a4eb8 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorStorageProcessor.java @@ -31,7 +31,6 @@ import ch.systemsx.cisd.common.mail.IMailClient; import ch.systemsx.cisd.etlserver.AbstractDelegatingStorageProcessor; import ch.systemsx.cisd.etlserver.ITypeExtractor; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CsvToCanonicalFeatureVector.CsvToCanonicalFeatureVectorConfiguration; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; @@ -39,6 +38,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; import ch.systemsx.cisd.utils.CsvFileReaderHelper; /** @@ -59,7 +59,7 @@ public class FeatureVectorStorageProcessor extends AbstractDelegatingStorageProc private final IEncapsulatedOpenBISService openBisService; // Execution state of this object -- set to null after an execution is finished. - private IImagingUploadDAO dataAccessObject = null; + private IImagingQueryDAO dataAccessObject = null; public FeatureVectorStorageProcessor(Properties properties) { @@ -138,9 +138,9 @@ public class FeatureVectorStorageProcessor extends AbstractDelegatingStorageProc return sampleOrNull; } - private IImagingUploadDAO createDAO() + private IImagingQueryDAO createDAO() { - return QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + return QueryTool.getQuery(dataSource, IImagingQueryDAO.class); } @Override diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploader.java index 9d2a93642e8..fa698dca418 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploader.java @@ -20,9 +20,9 @@ import java.util.List; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfoHelper; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * Helper class for uploading feature vectors from the file system into the data base. @@ -31,11 +31,11 @@ import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; */ public class FeatureVectorUploader { - private final IImagingUploadDAO dao; + private final IImagingQueryDAO dao; private final ScreeningContainerDatasetInfo info; - public FeatureVectorUploader(IImagingUploadDAO imagingDao, ScreeningContainerDatasetInfo info) + public FeatureVectorUploader(IImagingQueryDAO imagingDao, ScreeningContainerDatasetInfo info) { this.dao = imagingDao; this.info = info; @@ -58,13 +58,13 @@ public class FeatureVectorUploader private static class FeatureVectorUploaderHelper { - private final IImagingUploadDAO dao; + private final IImagingQueryDAO dao; private final long dataSetId; private final CanonicalFeatureVector fvec; - FeatureVectorUploaderHelper(IImagingUploadDAO dao, ScreeningContainerDatasetInfo info, + FeatureVectorUploaderHelper(IImagingQueryDAO dao, ScreeningContainerDatasetInfo info, long dataSetId, CanonicalFeatureVector fvec) { this.dao = dao; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessor.java index 90797bd2ddc..bc898ea13d6 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessor.java @@ -37,7 +37,6 @@ import ch.systemsx.cisd.etlserver.ITypeExtractor; import ch.systemsx.cisd.etlserver.utils.Column; import ch.systemsx.cisd.etlserver.utils.TableBuilder; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector; import ch.systemsx.cisd.openbis.dss.etl.featurevector.FeatureVectorUploader; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; @@ -45,6 +44,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; /** * @author Franz-Josef Elmer @@ -60,7 +60,7 @@ public class FeatureStorageProcessor extends AbstractDelegatingStorageProcessor private final IEncapsulatedOpenBISService openBisService; // Execution state of this object -- set to null after an execution is finished. - private IImagingUploadDAO dataAccessObject = null; + private IImagingQueryDAO dataAccessObject = null; private final class ColumnsBuilder { @@ -260,9 +260,9 @@ public class FeatureStorageProcessor extends AbstractDelegatingStorageProcessor return sampleOrNull; } - protected IImagingUploadDAO createDAO() + protected IImagingQueryDAO createDAO() { - return QueryTool.getQuery(dataSource, IImagingUploadDAO.class); + return QueryTool.getQuery(dataSource, IImagingQueryDAO.class); } private String convertColumnsToString(String barCode, ColumnsBuilder columnsBuilder) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFeatureVectorMigrator.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFeatureVectorMigrator.java index 4d956f9fe71..668b94c3af6 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFeatureVectorMigrator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFeatureVectorMigrator.java @@ -25,11 +25,11 @@ import java.util.Properties; import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.etlserver.DefaultStorageProcessor; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; import ch.systemsx.cisd.openbis.dss.etl.featurevector.AbstractFeatureVectorMigrator; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector; import ch.systemsx.cisd.openbis.dss.etl.featurevector.FeatureVectorUploader; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; /** * Imports Genedata feature vectors into the database. @@ -112,7 +112,7 @@ public class GenedataFeatureVectorMigrator extends AbstractFeatureVectorMigrator /** * @param fileToMigrate */ - private ImporterGenedata(IImagingUploadDAO dao, + private ImporterGenedata(IImagingQueryDAO dao, ScreeningContainerDatasetInfo screeningDataSetInfo, File fileToMigrate) { super(dao, screeningDataSetInfo, fileToMigrate); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java index ae2a11c49a4..66b820fec50 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java @@ -27,9 +27,9 @@ import org.apache.commons.lang.StringUtils; import ch.systemsx.cisd.base.mdarray.MDDoubleArray; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.geometry.Point; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * Converts currentFeature vectors from the Genedata currentFeature vector file format to diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java index 808b22874e8..649a762c2f5 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java @@ -26,11 +26,11 @@ import ch.systemsx.cisd.bds.hcs.Location; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; import ch.systemsx.cisd.common.io.IContent; import ch.systemsx.cisd.openbis.dss.etl.AbsoluteImageReference; -import ch.systemsx.cisd.openbis.dss.etl.HCSDatasetLoaderFactory; -import ch.systemsx.cisd.openbis.dss.etl.IHCSDatasetLoader; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.dss.etl.HCSImageDatasetLoaderFactory; +import ch.systemsx.cisd.openbis.dss.etl.IHCSImageDatasetLoader; import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDatasetDownloadServlet.Size; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; /** * Utility classes to create an image of a specified size containing one channel or a subset of all @@ -49,7 +49,8 @@ public class ImageChannelsUtils public static List<AbsoluteImageReference> getImagePaths(File datasetRoot, String datasetCode, TileImageReference params) { - IHCSDatasetLoader imageAccessor = HCSDatasetLoaderFactory.create(datasetRoot, datasetCode); + IHCSImageDatasetLoader imageAccessor = + HCSImageDatasetLoaderFactory.create(datasetRoot, datasetCode); Location wellLocation = params.getWellLocation(); Location tileLocation = params.getTileLocation(); List<AbsoluteImageReference> images = new ArrayList<AbsoluteImageReference>(); @@ -218,7 +219,7 @@ public class ImageChannelsUtils * @param chosenChannel starts from 1 * @throw {@link EnvironmentFailureException} when image does not exist */ - public static AbsoluteImageReference getImage(IHCSDatasetLoader imageAccessor, + public static AbsoluteImageReference getImage(IHCSImageDatasetLoader imageAccessor, Location wellLocation, Location tileLocation, String chosenChannel, Size thumbnailSizeOrNull) { diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java index 058a401cd27..e7273040dae 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java @@ -27,8 +27,8 @@ import java.util.Properties; import org.apache.commons.lang.StringEscapeUtils; import ch.systemsx.cisd.bds.hcs.Geometry; -import ch.systemsx.cisd.openbis.dss.etl.HCSDatasetLoaderFactory; -import ch.systemsx.cisd.openbis.dss.etl.IHCSDatasetLoader; +import ch.systemsx.cisd.openbis.dss.etl.HCSImageDatasetLoaderFactory; +import ch.systemsx.cisd.openbis.dss.etl.IHCSImageDatasetLoader; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; @@ -74,8 +74,8 @@ public class ScreeningPlateImageParamsReportingPlugin extends AbstractDatastoreP for (DatasetDescription dataset : datasets) { File datasetFile = new File(storeRoot, dataset.getDataSetLocation()); - IHCSDatasetLoader imageAccessor = - HCSDatasetLoaderFactory.create(datasetFile, dataset.getDatasetCode()); + IHCSImageDatasetLoader imageAccessor = + HCSImageDatasetLoaderFactory.create(datasetFile, dataset.getDatasetCode()); addReportRows(builder, dataset, imageAccessor); imageAccessor.close(); } @@ -94,7 +94,7 @@ public class ScreeningPlateImageParamsReportingPlugin extends AbstractDatastoreP } private void addReportRows(SimpleTableModelBuilder builder, DatasetDescription dataset, - IHCSDatasetLoader imageAccessor) + IHCSImageDatasetLoader imageAccessor) { Geometry plateGeometry = imageAccessor.getPlateGeometry(); Geometry wellGeometry = imageAccessor.getWellGeometry(); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java index 38a0556b982..d1faeadb7ec 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java @@ -40,8 +40,8 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.io.ConcatenatedContentInputStream; import ch.systemsx.cisd.common.io.IContent; import ch.systemsx.cisd.openbis.dss.etl.AbsoluteImageReference; -import ch.systemsx.cisd.openbis.dss.etl.HCSDatasetLoaderFactory; -import ch.systemsx.cisd.openbis.dss.etl.IHCSDatasetLoader; +import ch.systemsx.cisd.openbis.dss.etl.HCSImageDatasetLoaderFactory; +import ch.systemsx.cisd.openbis.dss.etl.IHCSImageDatasetLoader; import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDssServiceRpc; import ch.systemsx.cisd.openbis.dss.generic.server.images.ImageChannelsUtils; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines; @@ -170,8 +170,8 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements private static ImageDatasetMetadata extractImageMetadata(IImageDatasetIdentifier dataset, File datasetRoot) { - IHCSDatasetLoader imageAccessor = - HCSDatasetLoaderFactory.create(datasetRoot, dataset.getDatasetCode()); + IHCSImageDatasetLoader imageAccessor = + HCSImageDatasetLoaderFactory.create(datasetRoot, dataset.getDatasetCode()); IContent imageFile = getAnyImagePath(imageAccessor, dataset); Geometry wellGeometry = imageAccessor.getWellGeometry(); int channelsNumber = imageAccessor.getChannelCount(); @@ -181,7 +181,7 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements image.getHeight()); } - private static IContent getAnyImagePath(IHCSDatasetLoader imageAccessor, + private static IContent getAnyImagePath(IHCSImageDatasetLoader imageAccessor, IImageDatasetIdentifier dataset) { Geometry plateGeometry = imageAccessor.getPlateGeometry(); @@ -232,14 +232,14 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements public InputStream loadImages(String sessionToken, List<PlateImageReference> imageReferences) { - Map<String, IHCSDatasetLoader> imageLoadersMap = + Map<String, IHCSImageDatasetLoader> imageLoadersMap = getImageDatasetsMap(sessionToken, imageReferences); List<IContent> imageFiles = new ArrayList<IContent>(); try { for (PlateImageReference imageReference : imageReferences) { - IHCSDatasetLoader imageAccessor = + IHCSImageDatasetLoader imageAccessor = imageLoadersMap.get(imageReference.getDatasetCode()); assert imageAccessor != null : "imageAccessor not found for: " + imageReference; AbsoluteImageReference image = tryGetImage(imageAccessor, imageReference); @@ -260,20 +260,20 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements return new ConcatenatedContentInputStream(true, imageFiles); } - private static void closeDatasetLoaders(Collection<IHCSDatasetLoader> loaders) + private static void closeDatasetLoaders(Collection<IHCSImageDatasetLoader> loaders) { - for (IHCSDatasetLoader loader : loaders) + for (IHCSImageDatasetLoader loader : loaders) { loader.close(); } } // throws exception if some datasets cannot be found - private Map<String/* image or feature vector dataset code */, IHCSDatasetLoader> getImageDatasetsMap( + private Map<String/* image or feature vector dataset code */, IHCSImageDatasetLoader> getImageDatasetsMap( String sessionToken, List<PlateImageReference> imageReferences) { - Map<String/* dataset code */, IHCSDatasetLoader> imageDatasetsMap = - new HashMap<String, IHCSDatasetLoader>(); + Map<String/* dataset code */, IHCSImageDatasetLoader> imageDatasetsMap = + new HashMap<String, IHCSImageDatasetLoader>(); for (PlateImageReference imageReference : imageReferences) { if (imageDatasetsMap.containsKey(imageReference.getDatasetCode()) == false) @@ -282,7 +282,8 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements tryFindImageDataset(sessionToken, imageReference.getDatasetCode()); if (imageDataset != null) { - IHCSDatasetLoader imageAccessor = createImageLoader(imageDataset.getCode()); + IHCSImageDatasetLoader imageAccessor = + createImageLoader(imageDataset.getCode()); imageDatasetsMap.put(imageReference.getDatasetCode(), imageAccessor); } else { @@ -294,7 +295,7 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements return imageDatasetsMap; } - private AbsoluteImageReference tryGetImage(IHCSDatasetLoader imageAccessor, + private AbsoluteImageReference tryGetImage(IHCSImageDatasetLoader imageAccessor, PlateImageReference imageRef) { Location wellLocation = asLocation(imageRef.getWellPosition()); @@ -328,10 +329,10 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements return new Location(wellPosition.getWellColumn(), wellPosition.getWellRow()); } - private IHCSDatasetLoader createImageLoader(String datasetCode) + private IHCSImageDatasetLoader createImageLoader(String datasetCode) { File datasetRoot = getRootDirectoryForDataSet(datasetCode); - return HCSDatasetLoaderFactory.create(datasetRoot, datasetCode); + return HCSImageDatasetLoaderFactory.create(datasetRoot, datasetCode); } private ExternalData tryFindImageDataset(String sessionToken, String datasetCode) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/IScreeningBusinessObjectFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/IScreeningBusinessObjectFactory.java index cfc006f87e5..97248a938d6 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/IScreeningBusinessObjectFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/IScreeningBusinessObjectFactory.java @@ -25,6 +25,7 @@ import ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister.IDatase import ch.systemsx.cisd.openbis.generic.server.business.bo.materiallister.IMaterialLister; import ch.systemsx.cisd.openbis.generic.server.business.bo.samplelister.ISampleLister; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.IHCSDatasetLoader; /** * A <i>screening</i> plugin specific business object factory. @@ -33,6 +34,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.Session; */ public interface IScreeningBusinessObjectFactory { + public IHCSDatasetLoader createHCSDatasetLoader(final String datasetPermId); + public ISampleBO createSampleBO(final Session session); public IExternalDataTable createExternalDataTable(final Session session); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningBusinessObjectFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningBusinessObjectFactory.java index 56bf93ad896..e5dc92736c6 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningBusinessObjectFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningBusinessObjectFactory.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.plugin.screening.server; +import javax.annotation.Resource; + import org.springframework.stereotype.Component; import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentBO; @@ -28,7 +30,10 @@ import ch.systemsx.cisd.openbis.generic.server.business.bo.materiallister.IMater import ch.systemsx.cisd.openbis.generic.server.business.bo.samplelister.ISampleLister; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.plugin.AbstractPluginBusinessObjectFactory; +import ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess.IScreeningDAOFactory; import ch.systemsx.cisd.openbis.plugin.screening.shared.ResourceNames; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.HCSDatasetLoader; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.IHCSDatasetLoader; /** * The unique {@link IScreeningBusinessObjectFactory} implementation. @@ -40,6 +45,18 @@ public final class ScreeningBusinessObjectFactory extends AbstractPluginBusiness implements IScreeningBusinessObjectFactory { + @Resource(name = ResourceNames.SCREENING_DAO_FACTORY) + private IScreeningDAOFactory specificDAOFactory; + + public ScreeningBusinessObjectFactory() + { + } + + public final IHCSDatasetLoader createHCSDatasetLoader(final String datasetPermId) + { + return new HCSDatasetLoader(specificDAOFactory.getImagingQueryDAO(), datasetPermId); + } + public final ISampleBO createSampleBO(final Session session) { return getCommonBusinessObjectFactory().createSampleBO(session); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/IScreeningDAOFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/IScreeningDAOFactory.java new file mode 100644 index 00000000000..e37c8c943b1 --- /dev/null +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/IScreeningDAOFactory.java @@ -0,0 +1,32 @@ +/* + * Copyright 2009 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess; + +import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; + +/** + * A factory for Screening specific DAOs. + * + * @author Piotr Buczek + */ +public interface IScreeningDAOFactory +{ + public DatabaseConfigurationContext getContext(); + + public IImagingQueryDAO getImagingQueryDAO(); +} diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/db/ScreeningDAOFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/db/ScreeningDAOFactory.java new file mode 100644 index 00000000000..9a8095fdcf5 --- /dev/null +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/dataaccess/db/ScreeningDAOFactory.java @@ -0,0 +1,79 @@ +/* + * Copyright 2009 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess.db; + +import java.sql.Connection; +import java.sql.SQLException; + +import net.lemnik.eodsql.QueryTool; + +import org.apache.log4j.Logger; + +import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; +import ch.systemsx.cisd.common.logging.LogCategory; +import ch.systemsx.cisd.common.logging.LogFactory; +import ch.systemsx.cisd.dbmigration.DBMigrationEngine; +import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; +import ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess.IScreeningDAOFactory; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; + +/** + * @author Piotr Buczek + */ +public class ScreeningDAOFactory implements IScreeningDAOFactory +{ + /** Current version of the database. */ + public static final String DATABASE_VERSION = "003"; // S83 + + private static final Logger operationLog = + LogFactory.getLogger(LogCategory.OPERATION, ScreeningDAOFactory.class); + + private final IImagingQueryDAO imagingQueryDAO; + + private final DatabaseConfigurationContext imagingDatabaseContext; + + public ScreeningDAOFactory(DatabaseConfigurationContext context) + { + this.imagingDatabaseContext = context; + DBMigrationEngine.createOrMigrateDatabaseAndGetScriptProvider(context, DATABASE_VERSION); + Connection connection = null; + try + { + connection = context.getDataSource().getConnection(); + } catch (SQLException ex) + { + throw CheckedExceptionTunnel.wrapIfNecessary(ex); + } + // TODO this is the same solution as in PhosphoNetX - is it ok to use connection here? + // shouldn't it be a data source passed here in constructor? + imagingQueryDAO = QueryTool.getQuery(connection, IImagingQueryDAO.class); + if (operationLog.isInfoEnabled()) + { + operationLog.info("DAO factory for Screening created."); + } + } + + public DatabaseConfigurationContext getContext() + { + return imagingDatabaseContext; + } + + public IImagingQueryDAO getImagingQueryDAO() + { + return imagingQueryDAO; + } +} diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/ResourceNames.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/ResourceNames.java index 3890e439958..cba01cf953c 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/ResourceNames.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/ResourceNames.java @@ -37,8 +37,9 @@ public final class ResourceNames public final static String SCREENING_PLUGIN_SERVER = "screening-plugin-server"; - public final static String SCREENING_BUSINESS_OBJECT_FACTORY = - "screening-business-object-factory"; + public final static String SCREENING_BUSINESS_OBJECT_FACTORY = "screening-bo-factory"; + + public final static String SCREENING_DAO_FACTORY = "screening-dao-factory"; public final static String SCREENING_SAMPLE_SERVER_PLUGIN = "screening-sample-server-plugin"; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/HCSDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/HCSDatasetLoader.java new file mode 100644 index 00000000000..11b03d9d39b --- /dev/null +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/HCSDatasetLoader.java @@ -0,0 +1,108 @@ +/* + * Copyright 2010 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import ch.systemsx.cisd.bds.hcs.Geometry; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgContainerDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgDatasetDTO; + +/** + * Helper class for easy handling of HCS image dataset standard structure with no code for handling + * images. + * + * @author Tomasz Pylak + * @author Piotr Buczek + */ +public class HCSDatasetLoader implements IHCSDatasetLoader +{ + protected final IImagingQueryDAO query; + + protected final ImgDatasetDTO dataset; + + protected ImgContainerDTO container; + + protected Integer channelCount; + + protected List<String> channelNames; + + public HCSDatasetLoader(IImagingQueryDAO query, String datasetPermId) + { + this.query = query; + this.dataset = query.tryGetDatasetByPermId(datasetPermId); + if (dataset == null) + { + throw new IllegalStateException(String.format("Dataset '%s' not found", datasetPermId)); + } + } + + /** has to be called at the end */ + public void close() + { + query.close(); + } + + protected final ImgContainerDTO getContainer() + { + if (container == null) + { + container = query.getContainerById(dataset.getContainerId()); + } + return container; + } + + public Geometry getPlateGeometry() + { + return new Geometry(getContainer().getNumberOfRows(), getContainer().getNumberOfColumns()); + } + + protected final ImgDatasetDTO getDataset() + { + return dataset; + } + + public Geometry getWellGeometry() + { + return new Geometry(getDataset().getFieldNumberOfRows(), getDataset() + .getFieldNumberOfColumns()); + } + + public int getChannelCount() + { + if (channelCount == null) + { + channelCount = getChannelsNames().size(); + } + return channelCount; + } + + public List<String> getChannelsNames() + { + if (channelNames == null) + { + String[] namesAsArray = + query.getChannelNamesByDatasetIdOrExperimentId(getDataset().getId(), + getContainer().getExperimentId()); + channelNames = new ArrayList<String>(Arrays.asList(namesAsArray)); + } + return channelNames; + } +} \ No newline at end of file diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImagingDatabaseVersionHolder.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/IHCSDatasetLoader.java similarity index 58% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImagingDatabaseVersionHolder.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/IHCSDatasetLoader.java index d5ce9a1180e..80756fb4bde 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImagingDatabaseVersionHolder.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/IHCSDatasetLoader.java @@ -14,23 +14,27 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging; -import ch.systemsx.cisd.openbis.dss.generic.shared.IDatabaseVersionHolder; +import java.util.List; + +import ch.systemsx.cisd.bds.hcs.Geometry; /** - * Stores current version of special purpose imaging database. - * * @author Tomasz Pylak */ -public class ImagingDatabaseVersionHolder implements IDatabaseVersionHolder +public interface IHCSDatasetLoader { - /** Current version of the database. */ - static final String DATABASE_VERSION = "003"; // S83 - public String getDatabaseVersion() - { - return DATABASE_VERSION; - } + /** has to be called at the end */ + void close(); + + Geometry getPlateGeometry(); + + Geometry getWellGeometry(); + + int getChannelCount(); + + List<String> getChannelsNames(); -} +} \ No newline at end of file diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ColorComponent.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ColorComponent.java similarity index 95% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ColorComponent.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ColorComponent.java index ad63813c897..140dfe5af19 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ColorComponent.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ColorComponent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import java.awt.Color; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/FeatureVectorDataObjectBinding.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDataObjectBinding.java similarity index 94% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/FeatureVectorDataObjectBinding.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDataObjectBinding.java index 3b8476fd48b..1fe2ee36435 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/FeatureVectorDataObjectBinding.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDataObjectBinding.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java similarity index 98% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java index c4a421f49c9..8fed686e6bc 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingQueryDAO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import java.util.List; @@ -28,7 +28,7 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.ByteArrayMapper; /** * @author Tomasz Pylak */ -public interface IImagingUploadDAO extends TransactionQuery +public interface IImagingQueryDAO extends TransactionQuery { public static final int FETCH_SIZE = 1000; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgAcquiredImageDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgAcquiredImageDTO.java similarity index 96% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgAcquiredImageDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgAcquiredImageDTO.java index 235e525767d..9ef3b0e381c 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgAcquiredImageDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgAcquiredImageDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgChannelDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgChannelDTO.java similarity index 97% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgChannelDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgChannelDTO.java index 48336231307..f473c2d7789 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgChannelDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgChannelDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgChannelStackDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgChannelStackDTO.java similarity index 97% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgChannelStackDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgChannelStackDTO.java index 44ff7859cef..2fd24910d0b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgChannelStackDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgChannelStackDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgContainerDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgContainerDTO.java similarity index 96% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgContainerDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgContainerDTO.java index 4427208dd42..e5932271494 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgContainerDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgContainerDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgDatasetDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgDatasetDTO.java similarity index 97% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgDatasetDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgDatasetDTO.java index 18a1ee6d109..58cf4871a10 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgDatasetDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgDatasetDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java similarity index 96% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java index 166b39c1847..7ba947e07c6 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureValuesDTO.java similarity index 97% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureValuesDTO.java index 0cda1a2925f..b3d418f221f 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureValuesDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgImageDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgImageDTO.java similarity index 96% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgImageDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgImageDTO.java index 19ad6ed07cb..ebdeabae3cb 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgImageDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgImageDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgSpotDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgSpotDTO.java similarity index 96% rename from screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgSpotDTO.java rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgSpotDTO.java index 2927d99d3ca..57546b6dbe3 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgSpotDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgSpotDTO.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import net.lemnik.eodsql.AutoGeneratedKeys; import net.lemnik.eodsql.ResultColumn; diff --git a/screening/source/java/screening-applicationContext.xml b/screening/source/java/screening-applicationContext.xml index 3a5e07e65e5..c8f42648252 100644 --- a/screening/source/java/screening-applicationContext.xml +++ b/screening/source/java/screening-applicationContext.xml @@ -9,6 +9,31 @@ <import resource="applicationContext.xml"/> + <bean id="imaging-db-configuration-context" + class="ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext"> + <property name="basicDatabaseName" value="imaging" /> + <property name="createFromScratch" value="${imaging.database.create-from-scratch}" /> + <property name="scriptSingleStepMode" value="${imaging.database.script-single-step-mode}" /> + <property name="sequenceNameMapper"> + <bean class="ch.systemsx.cisd.openbis.generic.server.dataaccess.db.SequenceNameMapper" /> + </property> + <property name="urlHostPart" value="${imaging.database.url-host-part}" /> + <property name="adminUser" value="${imaging.database.admin-user}" /> + <property name="owner" value="${imaging.database.owner}" /> + <property name="readOnlyGroup" value="imaging_readonly" /> + <property name="password" value="${imaging.database.owner-password}" /> + <property name="adminPassword" value="${imaging.database.admin-password}" /> + <property name="databaseKind" value="${imaging.database.kind}" /> + <property name="databaseEngineCode" value="${imaging.database.engine}" /> + <property name="scriptFolder" value="${imaging.script-folder}/sql" /> + <property name="databaseInstance" value="${imaging.database-instance}" /> + </bean> + + <bean id="screening-dao-factory" + class="ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess.db.ScreeningDAOFactory"> + <constructor-arg ref="imaging-db-configuration-context"/> + </bean> + <!-- //Mail Client Parameters --> diff --git a/screening/source/java/service.properties b/screening/source/java/service.properties index 3db582c2b93..1d4aa1792ce 100644 --- a/screening/source/java/service.properties +++ b/screening/source/java/service.properties @@ -21,6 +21,17 @@ database.owner-password = database.admin-user = database.admin-password = +imaging.database.engine = postgresql +imaging.database.create-from-scratch = false +imaging.database.script-single-step-mode = false +imaging.database.url-host-part = +imaging.database.kind = dev +imaging.database.owner = +imaging.database.owner-password = +imaging.database.admin-user = +imaging.database.admin-password = +imaging.script-folder = source + crowd.service.host = crowd-bsse.ethz.ch crowd.service.port = 8443 crowd.application.name = lims diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java index 29d73a330bd..cc1195ae175 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureVectorUploaderTest.java @@ -28,11 +28,11 @@ import org.testng.annotations.Test; import ch.systemsx.cisd.base.mdarray.MDDoubleArray; import ch.systemsx.cisd.openbis.dss.etl.ScreeningContainerDatasetInfo; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.AbstractDBTest; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.DBUtils; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.AbstractDBTest; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.DBUtils; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * @author Chandrasekhar Ramakrishnan @@ -47,12 +47,12 @@ public class FeatureVectorUploaderTest extends AbstractDBTest private static final String TEST_FEATURE_NAME = "test"; - private IImagingUploadDAO dao; + private IImagingQueryDAO dao; @BeforeClass(alwaysRun = true) public void init() throws SQLException { - dao = DBUtils.getQuery(datasource, IImagingUploadDAO.class); + dao = DBUtils.getQuery(datasource, IImagingQueryDAO.class); } @Test diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java index 560164ab8f7..5b859884376 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/FeatureStorageProcessorTest.java @@ -33,10 +33,6 @@ import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.etlserver.IStorageProcessor; import ch.systemsx.cisd.etlserver.PlateDimensionParser; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingUploadDAO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgDatasetDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; @@ -44,6 +40,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericValueEntityPrope import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgDatasetDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * @author Franz-Josef Elmer @@ -63,7 +63,7 @@ public class FeatureStorageProcessorTest extends AbstractFileSystemTestCase private Mockery context; - private IImagingUploadDAO dao; + private IImagingQueryDAO dao; private DataSource dataSource; @@ -76,7 +76,7 @@ public class FeatureStorageProcessorTest extends AbstractFileSystemTestCase super.setUp(); context = new Mockery(); - dao = context.mock(IImagingUploadDAO.class); + dao = context.mock(IImagingQueryDAO.class); dataSource = context.mock(DataSource.class); openBisService = context.mock(IEncapsulatedOpenBISService.class); @@ -128,7 +128,7 @@ public class FeatureStorageProcessorTest extends AbstractFileSystemTestCase // For Testing @Override - protected IImagingUploadDAO createDAO() + protected IImagingQueryDAO createDAO() { return dao; } diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVectorTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVectorTest.java index 2427bd798e6..a35e0b1e23e 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVectorTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVectorTest.java @@ -25,9 +25,9 @@ import org.testng.annotations.Test; import ch.systemsx.cisd.base.mdarray.MDDoubleArray; import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; import ch.systemsx.cisd.common.filesystem.FileUtilities; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureDefDTO; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImgFeatureValuesDTO; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** * Check that Genedata feature vectors can be converted to the canonical form. diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/shared/.gitignore b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/shared/.gitignore new file mode 100644 index 00000000000..e69de29bb2d diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/AbstractDBTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/AbstractDBTest.java similarity index 96% rename from screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/AbstractDBTest.java rename to screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/AbstractDBTest.java index 4b2c4bcf666..1c6adfba799 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/AbstractDBTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/AbstractDBTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import java.sql.SQLException; diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/DBUtils.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/DBUtils.java similarity index 96% rename from screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/DBUtils.java rename to screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/DBUtils.java index 4b6845f2aa8..1206b6ee82e 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/DBUtils.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/DBUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import javax.sql.DataSource; diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/DBUtilsForTests.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/DBUtilsForTests.java similarity index 79% rename from screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/DBUtilsForTests.java rename to screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/DBUtilsForTests.java index 4d6d2293d41..702e5448ec2 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/DBUtilsForTests.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/DBUtilsForTests.java @@ -14,25 +14,25 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import ch.rinn.restrictions.Friend; import ch.systemsx.cisd.dbmigration.DBMigrationEngine; import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; -import ch.systemsx.cisd.openbis.dss.etl.dataaccess.ImagingDatabaseVersionHolder; +import ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess.db.ScreeningDAOFactory; /** * Utilities for dealing with databases in tests. * * @author Piotr Buczek */ -@Friend(toClasses = ImagingDatabaseVersionHolder.class) +@Friend(toClasses = ScreeningDAOFactory.class) public class DBUtilsForTests { public static void init(DatabaseConfigurationContext context) { DBMigrationEngine.createOrMigrateDatabaseAndGetScriptProvider(context, - ImagingDatabaseVersionHolder.DATABASE_VERSION); + ScreeningDAOFactory.DATABASE_VERSION); } } diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/FeatureVectorDAOTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java similarity index 85% rename from screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/FeatureVectorDAOTest.java rename to screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java index d436277100c..9ead171b158 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/FeatureVectorDAOTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import static org.testng.AssertJUnit.assertEquals; @@ -25,9 +25,14 @@ import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import ch.systemsx.cisd.base.mdarray.MDDoubleArray; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgContainerDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgDatasetDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureDefDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFeatureValuesDTO; /** - * Tests for {@link IImagingUploadDAO} methods that deal with feature vectors. + * Tests for {@link IImagingQueryDAO} methods that deal with feature vectors. * * @author Chandrasekhar Ramakrishnan */ @@ -35,7 +40,7 @@ import ch.systemsx.cisd.base.mdarray.MDDoubleArray; { "db", "screening" }) public class FeatureVectorDAOTest extends AbstractDBTest { - private IImagingUploadDAO dao; + private IImagingQueryDAO dao; private ImgDatasetDTO dataset; @@ -50,12 +55,12 @@ public class FeatureVectorDAOTest extends AbstractDBTest @BeforeClass(alwaysRun = true) public void init() throws SQLException { - dao = DBUtils.getQuery(datasource, IImagingUploadDAO.class); + dao = DBUtils.getQuery(datasource, IImagingQueryDAO.class); } private ImgDatasetDTO createDataSet() { - IImagingUploadDAO imagingDao = dao; + IImagingQueryDAO imagingDao = dao; // Create an Experiment final long experimentId = imagingDao.addExperiment(EXP_PERM_ID); diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImagingUploadDAOTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImagingQueryDAOTest.java similarity index 89% rename from screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImagingUploadDAOTest.java rename to screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImagingQueryDAOTest.java index c78efa3c113..7d3496c9c8f 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImagingUploadDAOTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImagingQueryDAOTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.etl.dataaccess; +package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; @@ -27,15 +27,24 @@ import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import ch.systemsx.cisd.bds.hcs.Location; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgAcquiredImageDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgChannelDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgChannelStackDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgContainerDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgDatasetDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgImageDTO; +import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgSpotDTO; /** - * Tests for {@link IImagingUploadDAO}. + * Tests for {@link IImagingQueryDAO}. * * @author Piotr Buczek */ @Test(groups = { "db", "screening" }) -public class ImagingUploadDAOTest extends AbstractDBTest +public class ImagingQueryDAOTest extends AbstractDBTest { private static final String PERM_ID = "PERM_ID"; @@ -68,12 +77,12 @@ public class ImagingUploadDAOTest extends AbstractDBTest private static final String EXP_CHANNEL = "expChannel"; - private IImagingUploadDAO dao; + private IImagingQueryDAO dao; @BeforeClass(alwaysRun = true) public void init() throws SQLException { - dao = DBUtils.getQuery(datasource, IImagingUploadDAO.class); + dao = DBUtils.getQuery(datasource, IImagingQueryDAO.class); } @Test -- GitLab