From 16582dae1ef3a3cb3211bd90b57cbccbd2f9f99b Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Fri, 27 May 2011 08:58:05 +0000 Subject: [PATCH] [LMS-2282] fixed tests SVN: 21488 --- .../openbis/generic/server/business/bo/DataBO.java | 14 +++++++++----- .../generic/server/business/bo/DataBOTest.java | 7 ++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java index fa0fcb0b221..9c2c8824595 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java @@ -486,7 +486,11 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO // remove connection with sample data.setSample(null); } - checkSameSpace(data, data.getContainer()); // space could be changed by change of experiment + if (data.getContainer() != null) + { + // space could be changed by change of experiment + checkSameSpace(data.getContainer(), data); + } updateParents(updates.getModifiedParentDatasetCodesOrNull()); updateComponents(updates.getModifiedContainedDatasetCodesOrNull()); checkSameSpace(data, data.getContainedDataSets()); // even if components were not changed @@ -500,6 +504,10 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO private void checkSameSpace(DataPE container, DataPE component) { // see LMS-2282 + if (container.getSpace().equals(component.getSpace())) + { + return; + } throw UserFailureException.fromTemplate("Data set's '%s' space ('%s') needs to be the same" + " as its container's '%s' space ('%s').", component.getCode(), component .getSpace().getCode(), container.getCode(), container.getSpace().getCode()); @@ -751,10 +759,6 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO private void updateExperiment(ExperimentIdentifier experimentIdentifier) { assert experimentIdentifier != null; - if (data.getExperiment().getIdentifier().equals(experimentIdentifier.toString())) - { - return; // nothing to change - } ExperimentPE experiment = getExperimentByIdentifier(experimentIdentifier); data.setExperiment(experiment); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java index 85893f47bc4..509f200754a 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java @@ -404,10 +404,11 @@ public class DataBOTest extends AbstractBOTest public void testDefineWithExistingContainerDataSet() { final DataSetTypePE dataSetType = new DataSetTypePE(); - ExperimentPE experimentPE = new ExperimentPE(); + ExperimentPE experimentPE = createExperiment("EXP1"); DataStorePE dataStore = new DataStorePE(); prepareDefineData(dataSetType, dataStore); final DataPE data = new DataPE(); + data.setExperiment(experimentPE); context.checking(new Expectations() { { @@ -435,14 +436,14 @@ public class DataBOTest extends AbstractBOTest public void testDefineWithNonExistingContainerDataSet() { final DataSetTypePE dataSetType = new DataSetTypePE(); - final ExperimentPE experiment = new ExperimentPE(); + final ExperimentPE experiment = createExperiment("EXP1"); final DataStorePE dataStore = new DataStorePE(); prepareDefineData(dataSetType, dataStore); final DataSetTypePE dataSetTypeUnknown = new DataSetTypePE(); final DataPE containerData = new DataPE(); containerData.setCode(PARENT_CODE); containerData.setDataSetType(dataSetTypeUnknown); - containerData.setExperiment(createExperiment("EXP1")); + containerData.setExperiment(experiment); containerData.setPlaceholder(true); context.checking(new Expectations() { -- GitLab