diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java index 474c79408c15804a090402cc08772039dcb4b613..a015c286b1fcca3539d56ce6db49815e1ca3f132 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/IImagingUploadDAO.java @@ -23,6 +23,7 @@ import net.lemnik.eodsql.TransactionQuery; import net.lemnik.eodsql.Update; import ch.systemsx.cisd.bds.hcs.Location; +import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.ByteArrayMapper; /** * @author Tomasz Pylak @@ -86,6 +87,12 @@ public interface IImagingUploadDAO extends TransactionQuery @Select("select * from SPOTS where cont_id = ?{1}") public List<ImgSpotDTO> listSpots(long contId); + @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 EXPERIMENTS (PERM_ID) values (?{1}) returning ID") @@ -120,6 +127,15 @@ public interface IImagingUploadDAO extends TransactionQuery + "(?{1.column}, ?{1.row}, ?{1.containerId}, ?{1.permId}) returning ID") public long addSpot(ImgSpotDTO spot); + @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); + // updates @Update("update CHANNELS " diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java index 95fb98511bd490e676c36df56a1eaaad17665f1a..166b39c1847af86bdde8e32f829ac1ec9f836338 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureDefDTO.java @@ -22,7 +22,8 @@ import net.lemnik.eodsql.ResultColumn; import ch.systemsx.cisd.common.utilities.AbstractHashable; /** - * Corresponds to a row in the FEATURE_DEFS table. + * Corresponds to a row in the FEATURE_DEFS table. Name and description should be filled out, but if + * the object has not yet been persisted, id and dataSetId may be invalid. * * @author Chandrasekhar Ramakrishnan */ diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java index c22af244532548302a0ff934ba146f0f4a6e2001..471c6007f8034da84d9d0e588c599cc844ddd5a1 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dataaccess/ImgFeatureValuesDTO.java @@ -94,7 +94,7 @@ public class ImgFeatureValuesDTO extends AbstractHashable return featureDefId; } - public void setFeatureDefId(Integer featureDefId) + public void setFeatureDefId(long featureDefId) { this.featureDefId = featureDefId; }