Skip to content
Snippets Groups Projects
Commit a0c5d2ef authored by felmer's avatar felmer
Browse files

allow not only spaces but also commas as separators for parent data set codes

SVN: 23191
parent f0d04c4f
No related branches found
No related tags found
No related merge requests found
...@@ -52,8 +52,8 @@ public class DataSetInfoExtractorForProteinResults extends AbstractDataSetInfoEx ...@@ -52,8 +52,8 @@ public class DataSetInfoExtractorForProteinResults extends AbstractDataSetInfoEx
@Private static final String SEPARATOR_KEY = "separator"; @Private static final String SEPARATOR_KEY = "separator";
@Private static final String DEFAULT_SEPARATOR = "&"; @Private static final String DEFAULT_SEPARATOR = "&";
@Private static final String DEFAULT_EXPERIMENT_PROPERTIES_FILE_NAME = "search.properties"; @Private static final String DEFAULT_EXPERIMENT_PROPERTIES_FILE_NAME = "search.properties";
@Private static final String PARENT_DATA_SET_CODES = "parent-data-set-codes"; static final String PARENT_DATA_SET_CODES = "parent-data-set-codes";
@Private static final String EXPERIMENT_IDENTIFIER_KEY = "base-experiment"; static final String EXPERIMENT_IDENTIFIER_KEY = "base-experiment";
private final String separator; private final String separator;
private final String experimentPropertiesFileName; private final String experimentPropertiesFileName;
...@@ -102,7 +102,7 @@ public class DataSetInfoExtractorForProteinResults extends AbstractDataSetInfoEx ...@@ -102,7 +102,7 @@ public class DataSetInfoExtractorForProteinResults extends AbstractDataSetInfoEx
String parentDataSetCodesOrNull = getProperty(properties, PARENT_DATA_SET_CODES); String parentDataSetCodesOrNull = getProperty(properties, PARENT_DATA_SET_CODES);
if (parentDataSetCodesOrNull != null) if (parentDataSetCodesOrNull != null)
{ {
info.setParentDataSetCodes(Arrays.asList(StringUtils.split(parentDataSetCodesOrNull))); info.setParentDataSetCodes(Arrays.asList(StringUtils.split(parentDataSetCodesOrNull, ", ")));
} else } else
{ {
String baseExperimentIdentifier = getProperty(properties, EXPERIMENT_IDENTIFIER_KEY); String baseExperimentIdentifier = getProperty(properties, EXPERIMENT_IDENTIFIER_KEY);
......
...@@ -61,6 +61,9 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier; ...@@ -61,6 +61,9 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier;
@Friend(toClasses=DataSetInfoExtractorForProteinResults.class) @Friend(toClasses=DataSetInfoExtractorForProteinResults.class)
public class DataSetInfoExtractorForProteinResultsTest extends AbstractFileSystemTestCase public class DataSetInfoExtractorForProteinResultsTest extends AbstractFileSystemTestCase
{ {
private static final String PARENT_DATA_SET_CODES_KEY =
DataSetInfoExtractorForProteinResults.PARENT_DATA_SET_CODES.toUpperCase();
private Mockery context; private Mockery context;
private IEncapsulatedOpenBISService service; private IEncapsulatedOpenBISService service;
private File dataSet; private File dataSet;
...@@ -211,6 +214,61 @@ public class DataSetInfoExtractorForProteinResultsTest extends AbstractFileSyste ...@@ -211,6 +214,61 @@ public class DataSetInfoExtractorForProteinResultsTest extends AbstractFileSyste
context.assertIsSatisfied(); context.assertIsSatisfied();
} }
@Test
public void testWithParentDataSetsSeparatedBySpaces()
{
String propertiesFile = "my.properties";
FileUtilities.writeToFile(new File(dataSet, propertiesFile), "answer=42\nblabla=blub\n"
+ EXPERIMENT_IDENTIFIER_KEY + "= /TEST/PROJECT/EXP1\n" + PARENT_DATA_SET_CODES_KEY
+ " = ds1 ds2");
Properties properties = new Properties();
String experimentType = "MY_EXPERIMENT";
properties.setProperty(EXPERIMENT_TYPE_CODE_KEY, experimentType);
properties.setProperty(EXPERIMENT_PROPERTIES_FILE_NAME_KEY, propertiesFile);
prepare(experimentType);
context.checking(new Expectations()
{
{
one(service).registerExperiment(with(any(NewExperiment.class)));
}
});
IDataSetInfoExtractor extractor = createExtractor(properties);
DataSetInformation info = extractor.getDataSetInformation(dataSet, service);
assertEquals("/SPACE1/PROJECT1/E4711", info.getExperimentIdentifier().toString());
assertEquals("[ds1, ds2]", info.getParentDataSetCodes().toString());
context.assertIsSatisfied();
}
@Test
public void testWithParentDataSetsSeparatedByComma()
{
String propertiesFile = "my.properties";
FileUtilities.writeToFile(new File(dataSet, propertiesFile), "answer=42\nblabla=blub\n"
+ PARENT_DATA_SET_CODES_KEY + " = ds1,ds2");
Properties properties = new Properties();
String experimentType = "MY_EXPERIMENT";
properties.setProperty(EXPERIMENT_TYPE_CODE_KEY, experimentType);
properties.setProperty(EXPERIMENT_PROPERTIES_FILE_NAME_KEY, propertiesFile);
prepare(experimentType);
context.checking(new Expectations()
{
{
one(service).registerExperiment(with(any(NewExperiment.class)));
}
});
IDataSetInfoExtractor extractor = createExtractor(properties);
DataSetInformation info = extractor.getDataSetInformation(dataSet, service);
assertEquals("/SPACE1/PROJECT1/E4711", info.getExperimentIdentifier().toString());
assertEquals("[ds1, ds2]", info.getParentDataSetCodes().toString());
context.assertIsSatisfied();
}
private void prepare(final String experimentType) private void prepare(final String experimentType)
{ {
context.checking(new Expectations() context.checking(new Expectations()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment