diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java index 5b9a8d4aa2650df3a36f8758e7ea1de56d8f0512..b591a59b43ae96265e6f42d77a3c0c090f99c931 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java @@ -234,12 +234,17 @@ public class JythonTopLevelDataSetHandler extends AbstractOmniscientTopLevelData { DataSetRegistrationDetails<T> registrationDetails = new DataSetRegistrationDetails<T>(); T dataSetInfo = createDataSetInformation(); - dataSetInfo.setInstanceCode(registratorState.getHomeDatabaseInstance().getCode()); - dataSetInfo.setInstanceUUID(registratorState.getHomeDatabaseInstance().getUuid()); + setDatabaseInstance(dataSetInfo); registrationDetails.setDataSetInformation(dataSetInfo); return registrationDetails; } + protected final void setDatabaseInstance(T dataSetInfo) + { + dataSetInfo.setInstanceCode(registratorState.getHomeDatabaseInstance().getCode()); + dataSetInfo.setInstanceUUID(registratorState.getHomeDatabaseInstance().getUuid()); + } + /** * Adaptor for the IDataSetRegistrationDetailsFactory interface. */ diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java index 6d0a75eef11cbb9d6e2d1a44ee00214e7b660c4d..429b01155590c68b480ae948b416a838360bb024 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java @@ -9,8 +9,8 @@ import ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails; import ch.systemsx.cisd.etlserver.registrator.IDataSetRegistrationDetailsFactory; import ch.systemsx.cisd.etlserver.registrator.JythonTopLevelDataSetHandler; import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSet; +import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.BasicDataSetInformation; import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageDataSetInformation; -import ch.systemsx.cisd.openbis.dss.etl.registrator.api.v1.impl.ImageDataSet; /** * Jython dropbox for HCS and Microscopy image datasets. @@ -28,12 +28,14 @@ public class JythonPlateDataSetHandler extends JythonTopLevelDataSetHandler * Create a screening specific factory available to the python script. */ @Override - protected IDataSetRegistrationDetailsFactory<ImageDataSetInformation> createObjectFactory(PythonInterpreter interpreter) + protected IDataSetRegistrationDetailsFactory<BasicDataSetInformation> createObjectFactory( + PythonInterpreter interpreter) { return new JythonPlateDatasetFactory(getRegistratorState()); } - public static class JythonPlateDatasetFactory extends JythonObjectFactory<ImageDataSetInformation> + public static class JythonPlateDatasetFactory extends + JythonObjectFactory<BasicDataSetInformation> { public JythonPlateDatasetFactory(OmniscientTopLevelDataSetRegistratorState registratorState) { @@ -41,17 +43,43 @@ public class JythonPlateDataSetHandler extends JythonTopLevelDataSetHandler } @Override - public DataSet<ImageDataSetInformation> createDataSet( - DataSetRegistrationDetails<ImageDataSetInformation> registrationDetails, + public DataSet<BasicDataSetInformation> createDataSet( + DataSetRegistrationDetails<BasicDataSetInformation> registrationDetails, File stagingFile) { - return new ImageDataSet(registrationDetails, stagingFile); + return new DataSet<BasicDataSetInformation>(registrationDetails, stagingFile); } @Override - protected ImageDataSetInformation createDataSetInformation() + protected BasicDataSetInformation createDataSetInformation() { - return new ImageDataSetInformation(); + return new BasicDataSetInformation(); + } + + /** + * Factory method that creates a new registration details object for image datasets. + */ + public DataSetRegistrationDetails<ImageDataSetInformation> createImageRegistrationDetails() + { + DataSetRegistrationDetails<ImageDataSetInformation> registrationDetails = + new DataSetRegistrationDetails<ImageDataSetInformation>(); + ImageDataSetInformation dataSetInfo = new ImageDataSetInformation(); + setDatabaseInstance(dataSetInfo); + registrationDetails.setDataSetInformation(dataSetInfo); + return registrationDetails; + } + + /** + * Factory method that creates a new registration details object for non-image datasets. + */ + public DataSetRegistrationDetails<BasicDataSetInformation> createBasicRegistrationDetails() + { + DataSetRegistrationDetails<BasicDataSetInformation> registrationDetails = + new DataSetRegistrationDetails<BasicDataSetInformation>(); + BasicDataSetInformation dataSetInfo = new BasicDataSetInformation(); + setDatabaseInstance(dataSetInfo); + registrationDetails.setDataSetInformation(dataSetInfo); + return registrationDetails; } } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/registrator/api/v1/impl/ImageDataSet.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/registrator/api/v1/impl/ImageDataSet.java index 31837355dc6d76abcbc48ede067f1853b8528f5d..6742975c87b7c12f4579d92d785d67c8ffecddf2 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/registrator/api/v1/impl/ImageDataSet.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/registrator/api/v1/impl/ImageDataSet.java @@ -25,22 +25,23 @@ import ch.systemsx.cisd.openbis.dss.etl.registrator.api.v1.IImageDataSet; /** * Implementation of an {@link IImageDataSet} based on {@link DataSet}. - * + * * @author Franz-Josef Elmer */ +// TODO 2011-02-02, Tomasz Pylak: We do not use it, is it really needed? For sure it's not complete. public class ImageDataSet extends DataSet<ImageDataSetInformation> implements IImageDataSet { - public ImageDataSet( - DataSetRegistrationDetails<ImageDataSetInformation> registrationDetails, + public ImageDataSet(DataSetRegistrationDetails<ImageDataSetInformation> registrationDetails, File dataSetFolder) { super(registrationDetails, dataSetFolder); } - + public void setTileGeometry(int numberOfRows, int numberOfColumns) { - ImageDataSetInformation dataSetInformation = getRegistrationDetails().getDataSetInformation(); + ImageDataSetInformation dataSetInformation = + getRegistrationDetails().getDataSetInformation(); dataSetInformation.setTileGeometry(numberOfRows, numberOfColumns); } }