From b30faa2eb31fbeafb30519d1cc4b87614aa7159c Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Wed, 30 Jan 2013 13:58:26 +0000
Subject: [PATCH] BIS-23 SP-465 registration of emtpy feature datasets should
 fail

SVN: 28238
---
 .../dss/etl/jython/v1/JythonPlateDatasetFactory.java        | 6 +++++-
 .../dss/etl/jython/v2/JythonPlateDatasetFactory.java        | 4 ++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java
index ba0c549122f..49ca626638c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java
@@ -25,9 +25,9 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails;
 import ch.systemsx.cisd.etlserver.registrator.api.v1.IDataSet;
 import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSetRegistrationTransaction;
+import ch.systemsx.cisd.etlserver.registrator.v1.AbstractOmniscientTopLevelDataSetRegistrator.OmniscientTopLevelDataSetRegistratorState;
 import ch.systemsx.cisd.etlserver.registrator.v1.DataSetRegistrationService;
 import ch.systemsx.cisd.etlserver.registrator.v1.IDataSetRegistrationDetailsFactory;
-import ch.systemsx.cisd.etlserver.registrator.v1.AbstractOmniscientTopLevelDataSetRegistrator.OmniscientTopLevelDataSetRegistratorState;
 import ch.systemsx.cisd.etlserver.registrator.v1.JythonTopLevelDataSetHandler.ProgrammableDropboxObjectFactory;
 import ch.systemsx.cisd.openbis.dss.etl.PlateGeometryOracle;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.IFeaturesBuilder;
@@ -190,6 +190,10 @@ public class JythonPlateDatasetFactory extends ProgrammableDropboxObjectFactory<
         featureVectorDataSet.setFeatures(featureDefinitions);
         registrationDetails.setDataSetType(ScreeningConstants.DEFAULT_ANALYSIS_WELL_DATASET_TYPE);
         registrationDetails.setMeasuredData(false);
+        if (false == featureVectorDataSet.isValid())
+        {
+            throw new UserFailureException("The feature vector dataset is invalid.");
+        }
         return registrationDetails;
     }
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java
index 972213024b9..fbafbffbd5e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java
@@ -190,6 +190,10 @@ public class JythonPlateDatasetFactory extends ProgrammableDropboxObjectFactory<
         featureVectorDataSet.setFeatures(featureDefinitions);
         registrationDetails.setDataSetType(ScreeningConstants.DEFAULT_ANALYSIS_WELL_DATASET_TYPE);
         registrationDetails.setMeasuredData(false);
+        if (false == featureVectorDataSet.isValid())
+        {
+            throw new UserFailureException("The feature vector dataset is invalid.");
+        }
         return registrationDetails;
     }
 
-- 
GitLab