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 8dbc600d523d2d898fecb82060599c0b4fffac15..90797bd2ddc37e12aee06e46a2f678f519046d24 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 @@ -225,6 +225,12 @@ public class FeatureStorageProcessor extends AbstractDelegatingStorageProcessor DataSetInformation dataSetInformation) { Sample sampleOrNull = tryFindSampleForDataSet(dataSetInformation); + if (sampleOrNull == null) + { + throw new IllegalStateException( + "Cannot find a sample to which a plate should be (directly or indirectly) connected: " + + dataSetInformation); + } return ScreeningContainerDatasetInfo.createBasicScreeningDatasetInfo(dataSetInformation, sampleOrNull); } @@ -239,7 +245,12 @@ public class FeatureStorageProcessor extends AbstractDelegatingStorageProcessor for (String dataSetCode : parentDataSetCodes) { ExternalData externalData = openBisService.tryGetDataSetForServer(dataSetCode); - if (externalData != null && externalData.getSample() != null) + if (externalData == null) + { + throw new UserFailureException("Cannot find a parent dataset in openBIS: " + + dataSetCode); + } + if (externalData.getSample() != null) { sampleOrNull = externalData.getSample(); break;