From dd12c2012607256e20449d929539d5474a0e51db Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Tue, 1 Mar 2011 13:56:40 +0000 Subject: [PATCH] LMS-2072 Fixed tests (I think). SVN: 20179 --- .../etlserver/api/v1/PutDataSetExecutor.java | 81 +++++++++++++------ 1 file changed, 56 insertions(+), 25 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java index 96189c5f954..b9b09ce2f2b 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetExecutor.java @@ -101,7 +101,7 @@ class PutDataSetExecutor implements IDataSetHandlerRpc private final IImmutableCopier copier; - private DataSetInformation override; + private DataSetInformation overrideOrNull; PutDataSetExecutor(PutDataSetService service, IETLServerPlugin plugin, String sessionToken, NewDataSetDTO newDataSet, InputStream inputStream) @@ -141,7 +141,7 @@ class PutDataSetExecutor implements IDataSetHandlerRpc getOpenBisService().checkSpaceAccess(sessionToken, spaceId); writeDataSetToTempDirectory(); - createDefaultOverride(); + overrideOrNull = null; // Register the data set try @@ -164,10 +164,10 @@ class PutDataSetExecutor implements IDataSetHandlerRpc { // Remember the old override, replace it with the override for the execution, then restore // it - DataSetInformation oldOverride = override; + DataSetInformation oldOverride = overrideOrNull; if (newOverride != null) { - override = newOverride; + overrideOrNull = newOverride; } RegistrationHelper helper = new RegistrationHelper(service, plugin, dataSet); @@ -184,7 +184,7 @@ class PutDataSetExecutor implements IDataSetHandlerRpc } }).runAlgorithm(); - override = oldOverride; + overrideOrNull = oldOverride; return Collections.singletonList(helper.getDataSetInformation()); } @@ -248,30 +248,25 @@ class PutDataSetExecutor implements IDataSetHandlerRpc public DataSetInformation getCallerDataSetInformation() { - return override; - } - - private void createDefaultOverride() - { - override = new DataSetInformation(); + DataSetInformation dataSetInfo = new DataSetInformation(); DataSetOwner owner = getDataSetOwner(); switch (owner.getType()) { case EXPERIMENT: - override.setExperimentIdentifier(tryExperimentIdentifier()); + dataSetInfo.setExperimentIdentifier(tryExperimentIdentifier()); break; case SAMPLE: SampleIdentifier sampleId = trySampleIdentifier(); - override.setSampleCode(sampleId.getSampleCode()); - override.setSpaceCode(sampleId.getSpaceLevel().getSpaceCode()); - override.setInstanceCode(sampleId.getSpaceLevel().getDatabaseInstanceCode()); + dataSetInfo.setSampleCode(sampleId.getSampleCode()); + dataSetInfo.setSpaceCode(sampleId.getSpaceLevel().getSpaceCode()); + dataSetInfo.setInstanceCode(sampleId.getSpaceLevel().getDatabaseInstanceCode()); break; } String typeCode = newDataSet.tryDataSetType(); if (null != typeCode) { - override.setDataSetType(new DataSetType(typeCode)); + dataSetInfo.setDataSetType(new DataSetType(typeCode)); } Map<String, String> primitiveProps = newDataSet.getProperties(); @@ -282,8 +277,10 @@ class PutDataSetExecutor implements IDataSetHandlerRpc { properties.add(new NewProperty(key, primitiveProps.get(key))); } - override.setDataSetProperties(properties); + dataSetInfo.setDataSetProperties(properties); } + + return dataSetInfo; } private void writeDataSetToTempDirectory() throws IOException @@ -465,10 +462,13 @@ class PutDataSetExecutor implements IDataSetHandlerRpc public DataSetType getDataSetType(File incomingDataSetPath) { - DataSetType dataSetType = override.getDataSetType(); - if (null != dataSetType) + if (null != overrideOrNull) { - return dataSetType; + DataSetType dataSetType = overrideOrNull.getDataSetType(); + if (null != dataSetType) + { + return dataSetType; + } } return pluginTypeExtractor.getDataSetType(incomingDataSetPath); } @@ -635,14 +635,45 @@ class PutDataSetExecutor implements IDataSetHandlerRpc IEncapsulatedOpenBISService openbisService) throws UserFailureException, EnvironmentFailureException { - if (null != override) + if (null != overrideOrNull) { - return override; - } else + return overrideOrNull; + } + + DataSetInformation dataSetInfo = + plugin.getDataSetInfoExtractor().getDataSetInformation(incomingDataSetPath, + openbisService); + DataSetOwner owner = getDataSetOwner(); + switch (owner.getType()) { - return plugin.getDataSetInfoExtractor().getDataSetInformation(incomingDataSetPath, - openbisService); + case EXPERIMENT: + dataSetInfo.setExperimentIdentifier(tryExperimentIdentifier()); + break; + case SAMPLE: + SampleIdentifier sampleId = trySampleIdentifier(); + + dataSetInfo.setSampleCode(sampleId.getSampleCode()); + dataSetInfo.setSpaceCode(sampleId.getSpaceLevel().getSpaceCode()); + dataSetInfo.setInstanceCode(sampleId.getSpaceLevel().getDatabaseInstanceCode()); + break; } + String typeCode = newDataSet.tryDataSetType(); + if (null != typeCode) + { + dataSetInfo.setDataSetType(new DataSetType(typeCode)); + } + + Map<String, String> primitiveProps = newDataSet.getProperties(); + if (false == primitiveProps.isEmpty()) + { + ArrayList<NewProperty> properties = new ArrayList<NewProperty>(); + for (String key : primitiveProps.keySet()) + { + properties.add(new NewProperty(key, primitiveProps.get(key))); + } + dataSetInfo.setDataSetProperties(properties); + } + return dataSetInfo; } } } -- GitLab