From a94ab305e18dbd218b89255d42d7891b0ce8a1b4 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 15 Feb 2011 11:30:05 +0000
Subject: [PATCH] [LMS-2048] minor: provide registrator in some places where it
 was missing; batch update of managed properties for samples with overwriting
 behaviour

SVN: 19964
---
 .../server/business/IPropertiesBatchManager.java       |  2 +-
 .../openbis/plugin/generic/server/GenericServer.java   | 10 ++++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IPropertiesBatchManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IPropertiesBatchManager.java
index 32aab8637cd..4773ce1c117 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IPropertiesBatchManager.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IPropertiesBatchManager.java
@@ -28,7 +28,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePE;
 
 /**
  * Interface of classes which manage managed properties in batch updates.
- *
+ * 
  * @author Franz-Josef Elmer
  */
 public interface IPropertiesBatchManager
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java
index 9d61ce3d32f..e57769834d9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java
@@ -284,7 +284,7 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen
         {
             if (samples.isAllowUpdateIfExist() == false)
             {
-                registerSamples(session, samples, null);
+                registerSamples(session, samples, session.tryGetPerson());
             } else
             {
                 BatchOperationExecutor.executeInBatches(new SampleBatchRegisterOrUpdate(
@@ -335,7 +335,8 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen
                     SampleRegisterOrUpdateUtil.getSamplesToUpdate(newSamples, existingSamples);
             List<NewSample> samplesToRegister = new ArrayList<NewSample>(newSamples);
             samplesToRegister.removeAll(samplesToUpdate);
-            registerSamples(session, new NewSamplesWithTypes(sampleType, samplesToRegister), null);
+            registerSamples(session, new NewSamplesWithTypes(sampleType, samplesToRegister),
+                    session.tryGetPerson());
             updateSamples(session, new NewSamplesWithTypes(sampleType, samplesToUpdate));
         }
 
@@ -363,7 +364,7 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen
         final Session session = getSession(sessionToken);
         for (NewSamplesWithTypes samples : newSamplesWithType)
         {
-            registerSamples(session, samples, null);
+            registerSamples(session, samples, session.tryGetPerson());
         }
     }
 
@@ -424,7 +425,8 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen
             throw UserFailureException.fromTemplate("Sample type with code '%s' does not exist.",
                     sampleTypeCode);
         }
-
+        getPropertiesBatchManager().manageProperties(sampleTypePE, updatedSamplesWithType,
+                session.tryGetPerson());
         getSampleTypeSlaveServerPlugin(sampleTypePE).updateSamples(session,
                 convertSamples(updatedSamples));
     }
-- 
GitLab