diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetControlFileProcessor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetControlFileProcessor.java index b3aa091834fd750dd2abc932e7091c472c6ce227..2cf31a6d8b071cd09a9bbce9f712cc0c4c90457e 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetControlFileProcessor.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetControlFileProcessor.java @@ -41,6 +41,7 @@ import ch.systemsx.cisd.common.mail.EMailAddress; import ch.systemsx.cisd.common.string.UnicodeUtils; import ch.systemsx.cisd.etlserver.entityregistration.SampleAndDataSetRegistrationGlobalState.SampleRegistrationMode; import ch.systemsx.cisd.etlserver.entityregistration.SampleDataSetPair.SampleDataSetPairProcessing; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; @@ -129,6 +130,18 @@ class SampleAndDataSetControlFileProcessor extends AbstractSampleAndDataSetProce return dataSetType; } + public DataSetKind tryDataSetKind() + { + String dataSetKindString = + properties + .tryGet(SampleAndDataSetRegistrationHandler.DATA_SET_KIND_CONTROL_FILE_KEY); + if (null == dataSetKindString) + { + return null; + } + return DataSetKind.valueOf(dataSetKindString); + } + public String tryUserString() { return properties.tryGet(SampleAndDataSetRegistrationHandler.USER_CONTROL_FILE_KEY); @@ -199,6 +212,16 @@ class SampleAndDataSetControlFileProcessor extends AbstractSampleAndDataSetProce return dataSetType; } + public DataSetKind getDataSetKind() + { + DataSetKind dataSetKind = overrideProperties.tryDataSetKind(); + if (null == dataSetKind) + { + dataSetKind = globalProperties.tryDataSetKind(); + } + return dataSetKind; + } + public Person getUser() { return user; @@ -258,7 +281,7 @@ class SampleAndDataSetControlFileProcessor extends AbstractSampleAndDataSetProce BisTabFileLoader<SampleDataSetPair> controlFileLoader = new BisTabFileLoader<SampleDataSetPair>( SampleDataSetPairParserObjectFactory.createFactoryFactory( - properties.getSampleType(), properties.getDataSetType()), false); + properties.getSampleType(), properties.getDataSetType(), properties.getDataSetKind()), false); List<SampleDataSetPair> loadedSampleDataSetPairs = null; @@ -471,9 +494,9 @@ class SampleAndDataSetControlFileProcessor extends AbstractSampleAndDataSetProce { String message = String.format( - "Global properties extracted from file '%s': SAMPLE_TYPE(%s) DATA_SET_TYPE(%s) USER(%s)", + "Global properties extracted from file '%s': SAMPLE_TYPE(%s) DATA_SET_TYPE(%s) DATA_SET_KIND(%s) USER(%s)", controlFile.getName(), overrideProperties.trySampleType(), - overrideProperties.tryDataSetType(), overrideProperties.tryUserString()); + overrideProperties.tryDataSetType(), overrideProperties.tryDataSetKind(), overrideProperties.tryUserString()); logInfo(message); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationGlobalState.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationGlobalState.java index 0ff1e3d389fe8d98446627c41204dd5f50b4cd9c..c7ab280a31e31f6601db994d93ccabd429d5d5c0 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationGlobalState.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationGlobalState.java @@ -25,6 +25,7 @@ import ch.systemsx.cisd.common.mail.EMailAddress; import ch.systemsx.cisd.common.mail.IMailClient; import ch.systemsx.cisd.etlserver.IDataSetHandler; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; @@ -52,6 +53,8 @@ class SampleAndDataSetRegistrationGlobalState private final DataSetType dataSetTypeOrNull; + private final DataSetKind dataSetKindOrNull; + private final SampleRegistrationMode sampleRegistrationMode; private final List<String> errorEmailRecipientsOrNull; @@ -70,7 +73,7 @@ class SampleAndDataSetRegistrationGlobalState SampleAndDataSetRegistrationGlobalState(IDataSetHandler delegator, IEncapsulatedOpenBISService openbisService, SpaceIdentifier spaceIdentifierOrNull, - SampleType sampleTypeOrNull, DataSetType dataSetTypeOrNull, + SampleType sampleTypeOrNull, DataSetType dataSetTypeOrNull, DataSetKind dataSetKindOrNull, SampleRegistrationMode sampleRegistrationMode, List<String> errorEmailRecipientsOrNull, String controlFilePattern, boolean alwaysCleanupAfterProcessing, boolean unmentionedSubfolderIsFailure, boolean useIsFinishedMarkerFile, Logger operationLog) @@ -80,6 +83,7 @@ class SampleAndDataSetRegistrationGlobalState this.spaceIdentifierOrNull = spaceIdentifierOrNull; this.sampleTypeOrNull = sampleTypeOrNull; this.dataSetTypeOrNull = dataSetTypeOrNull; + this.dataSetKindOrNull = dataSetKindOrNull; this.sampleRegistrationMode = sampleRegistrationMode; this.errorEmailRecipientsOrNull = errorEmailRecipientsOrNull; this.controlFilePattern = controlFilePattern; @@ -128,6 +132,11 @@ class SampleAndDataSetRegistrationGlobalState return dataSetTypeOrNull; } + public DataSetKind tryDataSetKind() + { + return dataSetKindOrNull; + } + public SampleRegistrationMode getSampleRegistrationMode() { return sampleRegistrationMode; diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationHandler.java index 6398338226e4b4f98dcb93b10bd88e9ddd161fa1..7a2033294e2cf74c4e898989a89493b6c0418ad2 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationHandler.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrationHandler.java @@ -37,6 +37,7 @@ import ch.systemsx.cisd.etlserver.entityregistration.SampleAndDataSetRegistratio import ch.systemsx.cisd.etlserver.registrator.MarkerFileUtility; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier; @@ -58,8 +59,12 @@ public class SampleAndDataSetRegistrationHandler implements IDataSetHandlerWithM static final String DATA_SET_TYPE_CONTROL_FILE_KEY = "DATA_SET_TYPE"; + static final String DATA_SET_KIND_CONTROL_FILE_KEY = "DATA_SET_KIND"; + static final String DATA_SET_TYPE_PROPERTIES_KEY = "data-set-type"; + static final String DATA_SET_KIND_PROPERTIES_KEY = "data-set-kind"; + static final String SAMPLE_REGISTRATION_MODE_PROPERTIES_KEY = "sample-registration-mode"; static final String USER_CONTROL_FILE_KEY = "USERID"; @@ -126,6 +131,14 @@ public class SampleAndDataSetRegistrationHandler implements IDataSetHandlerWithM dataSetTypeOrNull.setCode(dataSetTypeCodeOrNull); } + String dataSetKindStringOrNull = + PropertyUtils.getProperty(specificProperties, DATA_SET_KIND_PROPERTIES_KEY); + DataSetKind dataSetKindOrNull = null; + if (null != dataSetKindStringOrNull) + { + dataSetKindOrNull = DataSetKind.valueOf(dataSetKindStringOrNull); + } + String sampleRegistrationModeStringOrNull = PropertyUtils.getProperty(specificProperties, SAMPLE_REGISTRATION_MODE_PROPERTIES_KEY); @@ -161,7 +174,7 @@ public class SampleAndDataSetRegistrationHandler implements IDataSetHandlerWithM ((IExtensibleDataSetHandler) delegator).isUseIsFinishedMarkerFile(); return new SampleAndDataSetRegistrationGlobalState(delegator, service, spaceIdentifier, - sampleTypeOrNull, dataSetTypeOrNull, registrationMode, errorEmailRecipients, + sampleTypeOrNull, dataSetTypeOrNull, dataSetKindOrNull, registrationMode, errorEmailRecipients, controlFilePattern, deleteFilesOnFailure, unmentionedSubfolderIsFailure, userFinishedMarkerFile, operationLog); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrator.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrator.java index e40c95b348040caa73a76648b513d57f224ebed3..0a2229924bf700c586734632025f7d97a41c86b5 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrator.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDataSetRegistrator.java @@ -260,6 +260,10 @@ class SampleAndDataSetRegistrator extends AbstractSampleAndDataSetProcessor impl data.setFileFormatType(fileFormatType); } + if (null != data.getDataSetKind()) + { + data.setDataSetKind(data.getDataSetKind()); + } } /** diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactory.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactory.java index 471089f79cc3f4ee04ab0e53cbec64851c7fc755..f45327a6a9a45d7770e82b9e6a01023b71f353c4 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactory.java @@ -28,6 +28,7 @@ import ch.systemsx.cisd.common.parser.IPropertyMapper; import ch.systemsx.cisd.common.parser.IPropertyModel; import ch.systemsx.cisd.common.parser.ParserException; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode; @@ -54,7 +55,7 @@ class SampleDataSetPairParserObjectFactory extends AbstractParserObjectFactory<S * Clients use the factory factory to make a SampleDataSetPairParserObjectFactory. */ public static IParserObjectFactoryFactory<SampleDataSetPair> createFactoryFactory( - final SampleType sampleType, final DataSetType dataSetType) + final SampleType sampleType, final DataSetType dataSetType, DataSetKind dataSetKind) { IParserObjectFactoryFactory<SampleDataSetPair> factoryFactory = new IParserObjectFactoryFactory<SampleDataSetPair>() @@ -64,7 +65,7 @@ class SampleDataSetPairParserObjectFactory extends AbstractParserObjectFactory<S final IPropertyMapper propertyMapper) throws ParserException { return new SampleDataSetPairParserObjectFactory(sampleType, - dataSetType, propertyMapper); + dataSetType, dataSetKind, propertyMapper); } }; @@ -75,17 +76,20 @@ class SampleDataSetPairParserObjectFactory extends AbstractParserObjectFactory<S private final DataSetType dataSetType; + private final DataSetKind dataSetKind; + /** * Clients should use the factory factory to create the factory. * * @param propertyMapper */ - private SampleDataSetPairParserObjectFactory(SampleType sampleType, DataSetType dataSetType, + private SampleDataSetPairParserObjectFactory(SampleType sampleType, DataSetType dataSetType, DataSetKind dataSetKind, IPropertyMapper propertyMapper) { super(SampleDataSetPair.class, propertyMapper); this.sampleType = sampleType; this.dataSetType = dataSetType; + this.dataSetKind = dataSetKind; } private final PropertyType createPropertyType(final String propertyTypeCode) @@ -218,5 +222,6 @@ class SampleDataSetPairParserObjectFactory extends AbstractParserObjectFactory<S { DataSetInformation dataSetInformation = newSampleDataSet.getDataSetInformation(); dataSetInformation.setDataSetType(dataSetType); + dataSetInformation.setDataSetKind(dataSetKind); } } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDatasetRegistrationHandlerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDatasetRegistrationHandlerTest.java index f5d447d77ed256fc7b33b8649b0ac6de1bc4ac37..da625fa5cda55536cd5697b01da163596cae4c09 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDatasetRegistrationHandlerTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleAndDatasetRegistrationHandlerTest.java @@ -17,6 +17,7 @@ package ch.systemsx.cisd.etlserver.entityregistration; import static ch.systemsx.cisd.etlserver.entityregistration.SampleAndDataSetRegistrationHandler.DATA_SET_TYPE_PROPERTIES_KEY; +import static ch.systemsx.cisd.etlserver.entityregistration.SampleAndDataSetRegistrationHandler.DATA_SET_KIND_PROPERTIES_KEY; import static ch.systemsx.cisd.etlserver.entityregistration.SampleAndDataSetRegistrationHandler.SAMPLE_TYPE_PROPERTIES_KEY; import java.io.File; @@ -137,9 +138,9 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) USER(test@test.test)\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]\n" + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) DATA_SET_KIND(PHYSICAL) USER(test@test.test)\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]\n" + "Encountered errors in the following lines:\n" + "# Illegal empty identifier\n" + "\t/MYSPACE/MYPROJ/EXP2\tVAL11\tVAL21\tVAL31\tFILE_TYPE\tVAL41\tVAL51\tds2/\n\n" @@ -177,8 +178,8 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) USER(test@test.test)\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) DATA_SET_KIND(PHYSICAL) USER(test@test.test)\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + "The following subfolders were in the uploaded folder, but were not mentioned in the control file:\n" + "ds2,ds3\n" + "The following lines were successfully processed:\n" @@ -215,10 +216,10 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) USER(test@test.test)\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) DATA_SET_KIND(PHYSICAL) USER(test@test.test)\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; checkAppenderContent(logText, folderName); context.assertIsSatisfied(); @@ -249,14 +250,15 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT Properties props = createDefaultHandlerProps(); props.put(HANDLER_PROP_PREFIX + SAMPLE_TYPE_PROPERTIES_KEY, "DEF_SAMPLE_TYPE"); props.put(HANDLER_PROP_PREFIX + DATA_SET_TYPE_PROPERTIES_KEY, "DEF_DS_TYPE"); + props.put(HANDLER_PROP_PREFIX + DATA_SET_KIND_PROPERTIES_KEY, "PHYSICAL"); initializeDataSetHandler(props); handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(null) DATA_SET_TYPE(null) USER(test@test.test)\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::DEF_DS_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::DEF_DS_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::DEF_DS_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(null) DATA_SET_TYPE(null) DATA_SET_KIND(null) USER(test@test.test)\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::DEF_DS_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::DEF_DS_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::DEF_DS_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; checkAppenderContent(logText, folderName); context.assertIsSatisfied(); @@ -288,10 +290,10 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) USER(test@test.test)\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) DATA_SET_KIND(PHYSICAL) USER(test@test.test)\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; checkAppenderContent(logText, folderName); context.assertIsSatisfied(); @@ -324,10 +326,10 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) USER(test@test.test)\n" - + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" - + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" - + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) DATA_SET_KIND(PHYSICAL) USER(test@test.test)\n" + + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" + + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; checkAppenderContent(logText, folderName); context.assertIsSatisfied(); @@ -363,10 +365,10 @@ public class SampleAndDatasetRegistrationHandlerTest extends AbstractFileSystemT handler.handleDataSet(markerFile); String logText = - "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) USER(test@test.test)\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" - + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" - + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; + "Global properties extracted from file 'control.tsv': SAMPLE_TYPE(MY_SAMPLE_TYPE) DATA_SET_TYPE(MY_DATA_SET_TYPE) DATA_SET_KIND(PHYSICAL) USER(test@test.test)\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S1,sampleProperties={prop1: VAL10,prop2: VAL20,prop3: VAL30},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP1;Is complete::U]\n" + + "Updated sample, registered data set SampleDataSetPair[sampleIdentifier=/MYSPACE/S2,sampleProperties={prop1: VAL11,prop2: VAL21,prop3: VAL31},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP2;Is complete::U]\n" + + "Registered sample/data set pair SampleDataSetPair[sampleIdentifier=/MYSPACE/S3,sampleProperties={prop1: VAL12,prop2: VAL22,prop3: VAL32},dataSetInformation=User::test;Data Set Type::MY_DATA_SET_TYPE;Data Set Kind::PHYSICAL;Experiment Identifier::/MYSPACE/MYPROJ/EXP3;Is complete::U]"; checkAppenderContent(logText, folderName); context.assertIsSatisfied(); diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactoryTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactoryTest.java index d90ab440de971a8156e99f65574432d593722e8c..f3b2cec0509c991678aeebd99cf81af544fd4e19 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactoryTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/SampleDataSetPairParserObjectFactoryTest.java @@ -50,7 +50,7 @@ public class SampleDataSetPairParserObjectFactoryTest extends AssertJUnit BisTabFileLoader<SampleDataSetPair> controlFileLoader = new BisTabFileLoader<SampleDataSetPair>( SampleDataSetPairParserObjectFactory.createFactoryFactory( - properties.trySampleType(), properties.tryDataSetType()), false); + properties.trySampleType(), properties.tryDataSetType(), properties.tryDataSetKind()), false); Reader reader = UnicodeUtils.createReader(new FileInputStream(controlFile)); Map<String, String> defaults = Collections.emptyMap(); diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/basic-example/control.tsv b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/basic-example/control.tsv index a8d70ccf5927b1d1155673eb9c0f4d2722d2d386..08f0ed89485d0bf9bc26433f7c38a09633cc7330 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/basic-example/control.tsv +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/basic-example/control.tsv @@ -2,6 +2,7 @@ #! GLOBAL_PROPERTIES_START #! SAMPLE_TYPE = MY_SAMPLE_TYPE #! DATA_SET_TYPE = MY_DATA_SET_TYPE +#! DATA_SET_KIND = PHYSICAL #! USERID = test@test.test #! GLOBAL_PROPERTIES_END # Data diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/empty-lines/control.tsv b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/empty-lines/control.tsv index e7427b6162e3b597a813a5e4e615cb5f99829389..08f0ed89485d0bf9bc26433f7c38a09633cc7330 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/empty-lines/control.tsv +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/empty-lines/control.tsv @@ -2,6 +2,7 @@ #! GLOBAL_PROPERTIES_START #! SAMPLE_TYPE = MY_SAMPLE_TYPE #! DATA_SET_TYPE = MY_DATA_SET_TYPE +#! DATA_SET_KIND = PHYSICAL #! USERID = test@test.test #! GLOBAL_PROPERTIES_END # Data @@ -9,6 +10,3 @@ S_identifier S_experiment S_PROP1 S_PROP2 S_PROP3 D_file_type D_PROP1 D_PROP2 FO /MYSPACE/S1 /MYSPACE/MYPROJ/EXP1 VAL10 VAL20 VAL30 FILE_TYPE VAL40 VAL50 ds1/ /MYSPACE/S2 /MYSPACE/MYPROJ/EXP2 VAL11 VAL21 VAL31 FILE_TYPE VAL41 VAL51 ds2/ /MYSPACE/S3 /MYSPACE/MYPROJ/EXP3 VAL12 VAL22 VAL32 FILE_TYPE VAL42 VAL52 ds3/ - - - diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/missing-sample-identifier/control.tsv b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/missing-sample-identifier/control.tsv index ecdd39dda7c59294e29d7e96c7b3ba2f33cd7bb8..eb17f5c601561087ae5feccb750c7b0ca28ed7fb 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/missing-sample-identifier/control.tsv +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/missing-sample-identifier/control.tsv @@ -2,6 +2,7 @@ #! GLOBAL_PROPERTIES_START #! SAMPLE_TYPE = MY_SAMPLE_TYPE #! DATA_SET_TYPE = MY_DATA_SET_TYPE +#! DATA_SET_KIND = PHYSICAL #! USERID = test@test.test #! GLOBAL_PROPERTIES_END # Data diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/not-all-subfolders-mentioned/control.tsv b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/not-all-subfolders-mentioned/control.tsv index 7c75791bb13500e9f02aa6bf3df4d88ba5e74cc3..a2ef7162fe2468fbf6967b1d3112801f51770ac2 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/not-all-subfolders-mentioned/control.tsv +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/entityregistration/test-data/not-all-subfolders-mentioned/control.tsv @@ -2,9 +2,9 @@ #! GLOBAL_PROPERTIES_START #! SAMPLE_TYPE = MY_SAMPLE_TYPE #! DATA_SET_TYPE = MY_DATA_SET_TYPE +#! DATA_SET_KIND = PHYSICAL #! USERID = test@test.test #! GLOBAL_PROPERTIES_END # Data S_identifier S_experiment S_PROP1 S_PROP2 S_PROP3 D_file_type D_PROP1 D_PROP2 FOLDER /MYSPACE/S1 /MYSPACE/MYPROJ/EXP1 VAL10 VAL20 VAL30 FILE_TYPE VAL40 VAL50 ds1/ -