diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/RelationshipService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/RelationshipService.java index 3f9a7ff90a46f00d2e0956fad3b6434c86830df4..377a6cea5873df5c2f886ed09fee770feca22f09 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/RelationshipService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/RelationshipService.java @@ -169,7 +169,9 @@ public class RelationshipService implements IRelationshipService public void addParentToDataSet(IAuthSession session, DataPE data, DataPE parent) { PersonPE actor = session.tryGetPerson(); - data.addParentRelationship(new DataSetRelationshipPE(parent, data, actor)); + DataSetRelationshipPE relationship = new DataSetRelationshipPE(parent, data, actor); + data.addParentRelationship(relationship); + parent.addChildRelationship(relationship); } @Override diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/base/matcher/ExternalDataHasChildrenMatcher.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/base/matcher/ExternalDataHasChildrenMatcher.java index 6aff0161d2e366f75c70bc684f750d7b21a81aac..00de6c0d555dfcd02f7cf7335c1270af1a2be745 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/base/matcher/ExternalDataHasChildrenMatcher.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/base/matcher/ExternalDataHasChildrenMatcher.java @@ -16,7 +16,6 @@ package ch.systemsx.cisd.openbis.systemtest.base.matcher; -import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -28,13 +27,16 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; public class ExternalDataHasChildrenMatcher extends TypeSafeMatcher<ExternalData> { - private Set<ExternalData> expectedChildren; + private Set<String> expectedChildren; public ExternalDataHasChildrenMatcher(ExternalData first, ExternalData... rest) { - this.expectedChildren = new HashSet<ExternalData>(); - expectedChildren.add(first); - expectedChildren.addAll(Arrays.asList(rest)); + this.expectedChildren = new HashSet<String>(); + expectedChildren.add(first.getCode()); + for (ExternalData d : rest) + { + expectedChildren.add(d.getCode()); + } } @Override @@ -53,7 +55,7 @@ public class ExternalDataHasChildrenMatcher extends TypeSafeMatcher<ExternalData for (ExternalData child : actual.getChildren()) { - if (!expectedChildren.contains(child)) + if (expectedChildren.contains(child.getCode()) == false) { return false; }