From fbf74cf5513b04b70e8d1eafc156c1f81cce38c8 Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Wed, 16 Mar 2011 09:30:59 +0000
Subject: [PATCH] LMS-2069 iBrain2 dropboxes: image quality dropbox

SVN: 20355
---
 .../dss-dropboxes-service.properties          |  7 +----
 .../scripts/hcs_analysis_well_quality.py      | 28 +++++++++++++++----
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/integration-tests/templates/data-ibrain2/dss-dropboxes-service.properties b/integration-tests/templates/data-ibrain2/dss-dropboxes-service.properties
index f8eeeef7b61..8675a121310 100644
--- a/integration-tests/templates/data-ibrain2/dss-dropboxes-service.properties
+++ b/integration-tests/templates/data-ibrain2/dss-dropboxes-service.properties
@@ -5,6 +5,7 @@ ibrain2-dropboxes-dir = ${root}/incoming
 staging-dir = ${root}/tmp
 scripts-dir = ${root}/scripts
 
+
 # --- hcs_image_raw ------------
 
 hcs_image_raw.incoming-dir = ${ibrain2-dropboxes-dir}/hcs_image_raw
@@ -70,11 +71,6 @@ hcs_analysis_well_quality.staging-dir = ${staging-dir}
 hcs_analysis_well_quality.storage-processor = ch.systemsx.cisd.openbis.dss.etl.featurevector.FeatureVectorStorageProcessor
 hcs_analysis_well_quality.storage-processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor
 hcs_analysis_well_quality.storage-processor.data-source = imaging-db
-hcs_analysis_well_quality.storage-processor.separator = ,
-hcs_analysis_well_quality.storage-processor.ignore-comments = true
-hcs_analysis_well_quality.storage-processor.well-name-col-is-alphanum = true
-hcs_analysis_well_quality.storage-processor.well-name-row = File_Name
-hcs_analysis_well_quality.storage-processor.well-name-col = File_Name
 
 # --- hcs_analysis_well_features -----------
 
@@ -101,4 +97,3 @@ hcs_analysis_well_metadata.staging-dir = ${staging-dir}
 hcs_analysis_well_metadata.storage-processor = ch.systemsx.cisd.openbis.dss.etl.featurevector.FeatureVectorStorageProcessor
 hcs_analysis_well_metadata.storage-processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor
 hcs_analysis_well_metadata.storage-processor.data-source = imaging-db
-
diff --git a/integration-tests/templates/data-ibrain2/scripts/hcs_analysis_well_quality.py b/integration-tests/templates/data-ibrain2/scripts/hcs_analysis_well_quality.py
index ed49cae01e7..bb97d6e3f4a 100755
--- a/integration-tests/templates/data-ibrain2/scripts/hcs_analysis_well_quality.py
+++ b/integration-tests/templates/data-ibrain2/scripts/hcs_analysis_well_quality.py
@@ -2,6 +2,7 @@
 
 import commonImageDropbox
 import commonDropbox
+from java.util import Properties
 
 reload(commonImageDropbox)
 reload(commonDropbox)
@@ -10,17 +11,32 @@ reload(commonDropbox)
 # so that the rollback can use it as well.
 iBrain2DatasetId = None
 
+def rollback_transaction(service, transaction, algorithmRunner, throwable):
+    commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
+
+def getConfigurationProperties():
+    config = Properties()
+    config.setProperty("separator", ",")
+    config.setProperty("well-name-row", "File_Name")
+    config.setProperty("well-name-col", "File_Name")
+    config.setProperty("well-name-col-is-alphanum", "true")
+    return config
+    
 def register(incomingPath):
     metadataParser = commonDropbox.DerivedDatasetMetadataParser(incomingPath)
+    global iBrain2DatasetId
     iBrain2DatasetId = metadataParser.getIBrain2DatasetId()
-    openbisDatasetParent = metadataParser.getParentDatasetPermId()
 
-    (space, plate) = commonDropbox.tryGetConnectedPlate(state, openbisDatasetParent, iBrain2DatasetId, incomingPath)
-    if plate == None:
-        return
-    
-    #TODO: finish me !!!!
+    transaction = service.transaction(incoming, factory)
+    configProps = getConfigurationProperties()
+    incomingCsvFile = commonDropbox.findCSVFile(incomingPath)
+    analysisRegistrationDetails = factory.createFeatureVectorRegistrationDetails(incomingCsvFile, configProps)
 
+    dataset = transaction.createNewDataSet(analysisRegistrationDetails)
+    dataset.setDataSetType('HCS_ANALYSIS_WELL_QUALITY')
+    dataset.setFileFormatType('CSV')
+    commonDropbox.registerDerivedDataset(state, transaction, dataset, incoming, metadataParser)
+ 
 def rollback_transaction(service, transaction, algorithmRunner, throwable):
     commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
             
-- 
GitLab