From c9a1e567965ac98c558cf6444a8e55bc98770a1e Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Wed, 1 Dec 2010 10:02:06 +0000 Subject: [PATCH] changed definition of top sample to allow registration of data set for a sample that has more than one parent SVN: 18953 --- .../cisd/openbis/generic/shared/dto/SamplePE.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java index 001924f26f5..4936235a46c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java @@ -385,12 +385,14 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co @Transient public SamplePE getTop() { - SamplePE parentPE = getGeneratedFrom(); - if (parentPE != null) + // traverse through parent relationship graph and stops on first sample that doesn't + // have parents or has more than one parent + final List<SamplePE> parents = getParents(); + if (parents.size() == 1) { - return parentPE.getTop() == null ? parentPE : parentPE.getTop(); + return parents.get(0).getTop(); } - return null; + return this; } @Transient -- GitLab