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

SSDM-387: fixing bug related to gather properties of conatiner, sample/experiment of container

SVN: 31733
parent 8d246932
No related branches found
No related tags found
No related merge requests found
...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard; ...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.Properties; import java.util.Properties;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
...@@ -45,6 +46,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; ...@@ -45,6 +46,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractExternalData;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ContainerDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ContainerDataSet;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
...@@ -333,23 +335,25 @@ public class DistributedPackagingDataSetFileOperationsManager implements IDataSe ...@@ -333,23 +335,25 @@ public class DistributedPackagingDataSetFileOperationsManager implements IDataSe
{ {
dataSet.setSample(getService().tryGetSampleWithExperiment(SampleIdentifierFactory.parse(sampleIdentifier))); dataSet.setSample(getService().tryGetSampleWithExperiment(SampleIdentifierFactory.parse(sampleIdentifier)));
} }
if(dataSet.getContainerDataSets() != null) { List<ContainerDataSet> containerDataSets = dataSet.getContainerDataSets();
for(int i = 0; i < dataSet.getContainerDataSets().size(); i++) { if (containerDataSets != null)
//Container {
ContainerDataSet container = dataSet.getContainerDataSets().get(i); for (ContainerDataSet containerDataSet : containerDataSets)
AbstractExternalData containerDataSet = getService().tryGetDataSet(container.getCode()); {
dataSet.getContainerDataSets().set(i, (ContainerDataSet) containerDataSet); // Inject container properties
//Container Experiment if (containerDataSet.getProperties() == null)
String containerExperimentIdentifier = datasetDescription.getExperimentIdentifier();
if (containerExperimentIdentifier != null)
{ {
container.setExperiment(getService().tryGetExperiment(ExperimentIdentifierFactory.parse(containerExperimentIdentifier))); containerDataSet.setDataSetProperties(getService().tryGetDataSet(containerDataSet.getCode()).getProperties());
} }
//Container Sample // Inject full container experiment with properties
String containerSampleIdentifier = container.getSampleIdentifier(); String containerExperimentIdentifier = containerDataSet.getExperiment().getIdentifier();
if (containerSampleIdentifier != null) containerDataSet.setExperiment(getService().tryGetExperiment(ExperimentIdentifierFactory.parse(containerExperimentIdentifier)));
// Inject full container sample with properties
Sample sample = containerDataSet.getSample();
if (sample != null)
{ {
container.setSample(getService().tryGetSampleWithExperiment(SampleIdentifierFactory.parse(containerSampleIdentifier))); String containerSampleIdentifier = sample.getIdentifier();
containerDataSet.setSample(getService().tryGetSampleWithExperiment(SampleIdentifierFactory.parse(containerSampleIdentifier)));
} }
} }
} }
......
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