diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/CodesArea.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/CodesArea.java index c207df9d5aefca6cc7f895cdd03115dd2acb8f46..4e0177736382e582644485d32e1c2a3ec14d4fcc 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/CodesArea.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/CodesArea.java @@ -31,8 +31,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; */ abstract public class CodesArea<T extends ICodeHolder> extends MultilineItemsField { - private List<String> originalCodes; - public CodesArea(String emptyTextMsg) { super("", false); @@ -41,13 +39,8 @@ abstract public class CodesArea<T extends ICodeHolder> extends MultilineItemsFie public final void setCodeProviders(Collection<T> codeProviders) { - originalCodes = Code.extractCodes(codeProviders); - setItems(originalCodes); - } - - public String[] getOriginalCodes() - { - return originalCodes.toArray(new String[0]); + List<String> codes = Code.extractCodes(codeProviders); + setItems(codes); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBO.java index a3899fbe09ae95d4535155937f636c1cf211d62e..947c5aa6948066a48d02fe72a938c15dc704dcdf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBO.java @@ -40,6 +40,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.id.experiment.Experime import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.id.experiment.ExperimentTechIdId; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.id.experiment.IExperimentId; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; @@ -493,7 +494,7 @@ public final class ExperimentBO extends AbstractBusinessObject implements IExper attachSamples(sampleCodes); } else { - String[] originalSampleCodes = updates.getOriginalSampleCodes(); + String[] originalSampleCodes = Code.extractCodesToArray(experiment.getSamples()); updateSamples(originalSampleCodes, sampleCodes); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java index 5218e5cca0a7f10581a9973b265dc195cd408081..610ee016645851360617ef152f007314c12013c5 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java @@ -43,8 +43,6 @@ public class BasicExperimentUpdates implements Serializable // if it does not have data sets attached yet. Otherwise an exception will be thrown. private String[] sampleCodesOrNull; - private String[] originalSampleCodes; - // if true sampleCodesOrNull changes semantic - sample codes are the same as in newSamples and // all of them will be attached to the experiment. private boolean registerSamples; @@ -84,16 +82,6 @@ public class BasicExperimentUpdates implements Serializable this.sampleCodesOrNull = sampleCodes; } - public String[] getOriginalSampleCodes() - { - return originalSampleCodes; - } - - public void setOriginalSampleCodes(String[] originalSampleCodes) - { - this.originalSampleCodes = originalSampleCodes; - } - public void setNewSamples(List<NewSamplesWithTypes> list) { this.newSamples = list; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AbstractGenericExperimentRegisterEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AbstractGenericExperimentRegisterEditForm.java index e77283a4b83bf6641aa3501f2f9af2afb4c6ba41..7ac625189507584c52f746addfa4adee749fbfcf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AbstractGenericExperimentRegisterEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AbstractGenericExperimentRegisterEditForm.java @@ -275,11 +275,6 @@ abstract public class AbstractGenericExperimentRegisterEditForm extends return null; } - protected String[] getOriginalSamples() - { - return samplesArea != null ? samplesArea.getOriginalCodes() : new String[0]; - } - protected SampleType getSampleType() { if (existingSamplesRadio.getValue() == false) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java index fc39ed20b959b29a963074e2bf31c66da88f7e2a..b9ff6791d8d2fa6ebcfba9c92128c25d608b68fd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java @@ -96,7 +96,6 @@ public final class GenericExperimentEditForm extends AbstractGenericExperimentRe updates.setProjectIdentifier(extractProjectIdentifier()); updates.setAttachmentSessionKey(attachmentsSessionKey); updates.setAttachments(attachmentsManager.extractAttachments()); - updates.setOriginalSampleCodes(getOriginalSamples()); updates.setSampleCodes(getSamples()); updates.setSampleType(getSampleType()); updates.setGenerateCodes(autoGenerateCodes.getValue().booleanValue()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java index 336f6578ee692ce359620562fb0afa81bc0ce759..b2d429103e6e7126c97cbba3906db329391667f6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java @@ -607,7 +607,6 @@ public class GenericClientService extends AbstractClientService implements IGene updatesDTO.setProjectIdentifier(project); updatesDTO.setAttachments(attachments); updatesDTO.setProperties(updates.getProperties()); - updatesDTO.setOriginalSampleCodes(updates.getOriginalSampleCodes()); updatesDTO.setSampleCodes(updates.getSampleCodes()); updatesDTO.setVersion(updates.getVersion()); updatesDTO.setRegisterSamples(updates.isRegisterSamples()); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBOTest.java index 826687a8c67914276f71889a33736e6f2176d013..9e2c37758445a58fd5570b307f029e0085ec989f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExperimentBOTest.java @@ -723,11 +723,10 @@ public final class ExperimentBOTest extends AbstractBOTest { ExperimentIdentifier identifier = CommonTestUtils.createExperimentIdentifier(); ExperimentPE experiment = CommonTestUtils.createExperiment(identifier); + experiment.addSample(createSampleWithCode("S1")); experiment.setProperties(Collections.<EntityPropertyPE> emptySet()); prepareLoadingExperiment(identifier, experiment); ExperimentUpdatesDTO update = createDefaultUpdateObject(experiment); - update.setOriginalSampleCodes(new String[] - { "S1" }); update.setSampleCodes(new String[] { "S1", "S2" }); prepareAddSamplesToExperiment(experiment, false, "S2"); @@ -743,11 +742,10 @@ public final class ExperimentBOTest extends AbstractBOTest { ExperimentIdentifier identifier = CommonTestUtils.createExperimentIdentifier(); ExperimentPE experiment = CommonTestUtils.createExperiment(identifier); + experiment.addSample(createSampleWithCode("S1")); experiment.setProperties(Collections.<EntityPropertyPE> emptySet()); prepareLoadingExperiment(identifier, experiment); ExperimentUpdatesDTO update = createDefaultUpdateObject(experiment); - update.setOriginalSampleCodes(new String[] - { "S1" }); update.setSampleCodes(new String[] { "S1", "S2" }); prepareAddSamplesToExperiment(experiment, true, "S2"); @@ -764,11 +762,10 @@ public final class ExperimentBOTest extends AbstractBOTest { ExperimentIdentifier identifier = CommonTestUtils.createExperimentIdentifier(); final ExperimentPE experiment = CommonTestUtils.createExperiment(identifier); + experiment.addSample(createSampleWithCode("S1")); experiment.setProperties(Collections.<EntityPropertyPE> emptySet()); prepareLoadingExperiment(identifier, experiment); ExperimentUpdatesDTO update = createDefaultUpdateObject(experiment); - update.setOriginalSampleCodes(new String[] - { "S1" }); update.setSampleCodes(new String[] { "S1", "S2" }); context.checking(new Expectations() @@ -790,11 +787,11 @@ public final class ExperimentBOTest extends AbstractBOTest { ExperimentIdentifier identifier = CommonTestUtils.createExperimentIdentifier(); ExperimentPE experiment = CommonTestUtils.createExperiment(identifier); + experiment.addSample(createSampleWithCode("S1")); + experiment.addSample(createSampleWithCode("S2")); experiment.setProperties(Collections.<EntityPropertyPE> emptySet()); prepareLoadingExperiment(identifier, experiment); ExperimentUpdatesDTO update = createDefaultUpdateObject(experiment); - update.setOriginalSampleCodes(new String[] - { "S1", "S2" }); update.setSampleCodes(new String[] { "S3", "S2" }); prepareRemoveSamplesFromExperiment(experiment, false, "S1"); @@ -811,11 +808,11 @@ public final class ExperimentBOTest extends AbstractBOTest { ExperimentIdentifier identifier = CommonTestUtils.createExperimentIdentifier(); ExperimentPE experiment = CommonTestUtils.createExperiment(identifier); + experiment.addSample(createSampleWithCode("S1")); + experiment.addSample(createSampleWithCode("S2")); experiment.setProperties(Collections.<EntityPropertyPE> emptySet()); prepareLoadingExperiment(identifier, experiment); ExperimentUpdatesDTO update = createDefaultUpdateObject(experiment); - update.setOriginalSampleCodes(new String[] - { "S1", "S2" }); update.setSampleCodes(new String[] { "S2" }); prepareRemoveSamplesFromExperiment(experiment, true, "S1"); @@ -867,7 +864,10 @@ public final class ExperimentBOTest extends AbstractBOTest SamplePE sample = createSampleWithCode(sampleCode); if (alreadyAssignedToAnExperiment) { - sample.setExperiment(experiment); + ExperimentPE anotherExperiment = new ExperimentPE(); + anotherExperiment.setCode(EXP_CODE + "1"); + anotherExperiment.setProject(experiment.getProject()); + sample.setExperiment(anotherExperiment); } will(returnValue(sample)); if (alreadyAssignedToAnExperiment) diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java index 9cbadc25e3843855aeb93f963659759186266a40..bcf6fd4f47807e2a9ac1df273fd7ad182a17a486 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java @@ -324,6 +324,7 @@ public abstract class AbstractDAOWithoutContextTest extends result.setProject(findProject(db, group, project)); result.setRegistrator(getTestPerson()); result.setRegistrationDate(new Date()); + result.setModificationDate(new Date()); return result; } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/optimistic_locking/ExperimentOptimisticLockingTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/optimistic_locking/ExperimentOptimisticLockingTest.java index 99498202aa565ffe45fe01ae384ad5300fd6d3fb..7d8b918cff5bf61d90bab9b388233e1d6e612a93 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/optimistic_locking/ExperimentOptimisticLockingTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/optimistic_locking/ExperimentOptimisticLockingTest.java @@ -275,8 +275,6 @@ public class ExperimentOptimisticLockingTest extends OptimisticLockingTestCase ExperimentUpdatesDTO update = new ExperimentUpdatesDTO(); update.setVersion(toolBox.loadExperiment(experiment).getVersion()); update.setExperimentId(new TechId(experiment)); - update.setOriginalSampleCodes(new String[] - { sample1.getCode(), sample2.getCode() }); update.setSampleCodes(new String[] { sample2.getCode(), sample3.getCode() }); update.setProperties(ToolBox.NO_PROPERTIES);