From dce27e84a5080a3f47a0e2abe0bac26d64928686 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Tue, 12 Nov 2013 12:26:14 +0000
Subject: [PATCH] SP-996 / BIS-517 : Reporting API BugFix: It was not possible
 to assign a null experiment to delete the sample experiment from the API.

SVN: 30137
---
 .../etlserver/registrator/api/v2/impl/Sample.java  | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/Sample.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/Sample.java
index 72a4599eeda..25e5879e951 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/Sample.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/Sample.java
@@ -45,9 +45,7 @@ public class Sample extends SampleImmutable implements ISample
     private final SampleBatchUpdateDetails updateDetails;
 
     /**
-     * This code is derived from
-     * {@link ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.SampleBuilder}, which is in
-     * a test source folder.
+     * This code is derived from {@link ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.SampleBuilder}, which is in a test source folder.
      */
     private static ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample buildSampleWithIdentifier(
             String identifier)
@@ -114,7 +112,15 @@ public class Sample extends SampleImmutable implements ISample
     public void setExperiment(IExperimentImmutable experiment)
     {
         ExperimentImmutable exp = (ExperimentImmutable) experiment;
-        getSample().setExperiment(exp.getExperiment());
+
+        if (exp == null)
+        {
+            getSample().setExperiment(null);
+        } else
+        {
+            getSample().setExperiment(exp.getExperiment());
+        }
+
         updateDetails.setExperimentUpdateRequested(true);
     }
 
-- 
GitLab