From 57437b7f76de5c8408d7ec2e3c6e68f586c3361e Mon Sep 17 00:00:00 2001
From: pkupczyk <pkupczyk>
Date: Tue, 21 Aug 2012 13:27:22 +0000
Subject: [PATCH] SP-241 / BIS-122 : Embedded grids need to persist display
 settings

SVN: 26416
---
 .../cisd/openbis/generic/server/AbstractServer.java       | 4 +++-
 .../openbis/generic/server/DisplaySettingsProvider.java   | 8 ++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
index 5518f68ebb9..bc12d8b4822 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
@@ -727,7 +727,9 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp
                             displaySettingsProvider.getCurrentDisplaySettings(person);
                     DisplaySettings newDisplaySettings =
                             displaySettingsUpdate.update(currentDisplaySettings);
-                    saveDisplaySettings(sessionToken, newDisplaySettings, -1);
+                    displaySettingsProvider.replaceCurrentDisplaySettings(person,
+                            newDisplaySettings);
+                    getDAOFactory().getPersonDAO().updatePerson(person);
                 }
             }
         } catch (InvalidSessionException e)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/DisplaySettingsProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/DisplaySettingsProvider.java
index 628b6d12daf..875eb41101b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/DisplaySettingsProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/DisplaySettingsProvider.java
@@ -70,6 +70,14 @@ public class DisplaySettingsProvider
         return settings;
     }
 
+    public synchronized DisplaySettings replaceCurrentDisplaySettings(PersonPE person,
+            DisplaySettings settings)
+    {
+        displaySettingsMap.put(person.getUserId(), settings);
+        person.setDisplaySettings(settings);
+        return settings;
+    }
+
     @SuppressWarnings("deprecation")
     public synchronized DisplaySettings replaceRegularDisplaySettings(PersonPE person,
             DisplaySettings settings)
-- 
GitLab