diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleProvider.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleProvider.java index 37365b961e41ec753c805e4b93e1c73d5ac3fe1f..16b6498e671d6c5efd865d94b8cde19747e2f419 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleProvider.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleProvider.java @@ -34,8 +34,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.Session; */ class SampleProvider implements ISampleProvider { - private final IBusinessObjectFactory boFactory; private final Session session; + private final IBusinessObjectFactory boFactory; private Map<String, Sample> samplesByPermIDs; @@ -55,7 +55,10 @@ class SampleProvider implements ISampleProvider samplesByPermIDs = new HashMap<String, Sample>(); for (Sample sample : list) { - samplesByPermIDs.put(sample.getPermId(), sample); + for (Sample s = sample; s != null; s = s.getGeneratedFrom()) + { + samplesByPermIDs.put(s.getPermId(), s); + } } }