From 36b10ce48e70cdf21df0313858c8ced4fd10fd94 Mon Sep 17 00:00:00 2001
From: pkupczyk <pkupczyk>
Date: Tue, 21 Aug 2012 11:29:44 +0000
Subject: [PATCH] SP-241 / BIS-122 : Embedded grids need to persist display
 settings

SVN: 26414
---
 .../client/web/client/IClientService.java     |  7 ++-
 .../web/client/IClientServiceAsync.java       |  6 +-
 .../client/application/CommonViewContext.java |  7 +++
 .../framework/DisplaySettingsManager.java     | 37 +++++++++---
 .../web/server/AbstractClientService.java     | 24 ++++++--
 .../generic/server/AbstractServer.java        |  4 +-
 .../server/DisplaySettingsProvider.java       |  1 +
 .../generic/shared/AbstractServerLogger.java  |  2 +-
 .../cisd/openbis/generic/shared/IServer.java  |  2 +-
 .../shared/basic/dto/DisplaySettings.java     | 12 ++++
 .../AllDisplaySettingsUpdate.java             | 58 -------------------
 .../ColumnDisplaySettingsUpdate.java          |  2 +
 .../IDisplaySettingsUpdate.java               |  5 ++
 .../web/server/CommonClientServiceTest.java   |  9 ++-
 14 files changed, 94 insertions(+), 82 deletions(-)
 delete mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/AllDisplaySettingsUpdate.java

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientService.java
index abd23d8ad84..98a659de34e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientService.java
@@ -68,10 +68,15 @@ public interface IClientService extends RemoteService
      */
     public void setBaseURL(String baseURL);
 
+    /**
+     * Saves display settings on the server.
+     */
+    public void saveDisplaySettings(DisplaySettings displaySettings);
+
     /**
      * Updates display settings on the server.
      */
-    public void updateDisplaySettings(IDisplaySettingsUpdate update);
+    public void updateDisplaySettings(IDisplaySettingsUpdate displaySettingsUpdate);
 
     /**
      * Resets display settings of the logged user to the default settings.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientServiceAsync.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientServiceAsync.java
index 6ff0dc4c7ab..6bf3120743a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientServiceAsync.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/IClientServiceAsync.java
@@ -52,8 +52,12 @@ public interface IClientServiceAsync
     /** @see IClientService#setBaseURL(String) */
     public void setBaseURL(String baseURL, AsyncCallback<SessionContext> callback);
 
+    /** @see IClientService#saveDisplaySettings(DisplaySettings) */
+    public void saveDisplaySettings(DisplaySettings displaySettings, AsyncCallback<Void> callback);
+
     /** @see IClientService#updateDisplaySettings(IDisplaySettingsUpdate) */
-    public void updateDisplaySettings(IDisplaySettingsUpdate update, AsyncCallback<Void> callback);
+    public void updateDisplaySettings(IDisplaySettingsUpdate displaySettingsUpdate,
+            AsyncCallback<Void> callback);
 
     /** @see IClientService#resetDisplaySettings() */
     public void resetDisplaySettings(AsyncCallback<DisplaySettings> resetUserSettingsCallback);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java
index e54c00d67e1..7514d6474ba 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java
@@ -171,6 +171,13 @@ public final class CommonViewContext implements IViewContext<ICommonClientServic
     {
         IDisplaySettingsUpdater settingsUpdater = new IDisplaySettingsUpdater()
             {
+                @Override
+                public void execute()
+                {
+                    service.saveDisplaySettings(displaySettings, new VoidAsyncCallback<Void>(
+                            CommonViewContext.this));
+                }
+
                 @Override
                 public void execute(IDisplaySettingsUpdate update)
                 {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java
index bb96dfeca57..b2ed8f1ef38 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java
@@ -42,7 +42,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RealNumberFormatingPara
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SortInfo;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SortInfo.SortDir;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.WebClientConfiguration;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.AllDisplaySettingsUpdate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.ColumnDisplaySettingsUpdate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.IDisplaySettingsUpdate;
 
@@ -66,6 +65,8 @@ public class DisplaySettingsManager
 
     public interface IDisplaySettingsUpdater
     {
+        void execute();
+
         void execute(IDisplaySettingsUpdate update);
     }
 
@@ -76,8 +77,9 @@ public class DisplaySettingsManager
     public interface IDisplaySettingsDelayedUpdater
     {
         /** Cancels any running timers and starts a new one. */
-        void executeDelayed(IDisplaySettingsUpdate update, int delayMs);
+        void executeDelayed(int delayMs);
 
+        void executeDelayed(IDisplaySettingsUpdate update, int delayMs);
     }
 
     public DisplaySettingsManager(DisplaySettings displaySettings,
@@ -94,17 +96,36 @@ public class DisplaySettingsManager
         {
             return new IDisplaySettingsDelayedUpdater()
                 {
+                    // in simple view mode or anonymous login settings are temporary - don't
+                    // save them at all
+
+                    @Override
+                    public void executeDelayed(int delayMs)
+                    {
+                    }
+
                     @Override
                     public void executeDelayed(IDisplaySettingsUpdate update, int delayMs)
                     {
-                        // in simple view mode or anonymous login settings are temporary - don't
-                        // save them at all
                     }
                 };
         } else
         {
             return new IDisplaySettingsDelayedUpdater()
                 {
+                    @Override
+                    public void executeDelayed(int delayMs)
+                    {
+                        new DelayedTask(new Listener<BaseEvent>()
+                            {
+                                @Override
+                                public void handleEvent(BaseEvent event)
+                                {
+                                    settingsUpdater.execute();
+                                }
+                            }).delay(delayMs);
+                    }
+
                     @Override
                     public void executeDelayed(final IDisplaySettingsUpdate update,
                             final int delayMs)
@@ -424,8 +445,7 @@ public class DisplaySettingsManager
             Object modifier)
     {
         updateActiveTabSettings(tabGroupDisplayID, selectedTabDisplayID, modifier);
-        updater.executeDelayed(new AllDisplaySettingsUpdate(displaySettings),
-                QUITE_TIME_BEFORE_SETTINGS_SAVED_MS);
+        updater.executeDelayed(QUITE_TIME_BEFORE_SETTINGS_SAVED_MS);
     }
 
     private <C> void storeSettings(String displayTypeID, ColumnModel columnModel,
@@ -441,13 +461,12 @@ public class DisplaySettingsManager
     public void storeDropDownSettings(String dropDownSettingsID, String newValue)
     {
         updateDropDownSettings(dropDownSettingsID, newValue);
-        updater.executeDelayed(new AllDisplaySettingsUpdate(displaySettings),
-                QUITE_TIME_BEFORE_SETTINGS_SAVED_MS);
+        updater.executeDelayed(QUITE_TIME_BEFORE_SETTINGS_SAVED_MS);
     }
 
     public void storeSettings()
     {
-        updater.executeDelayed(new AllDisplaySettingsUpdate(displaySettings), 1); // 0 not allowed
+        updater.executeDelayed(1); // 0 not allowed
     }
 
     private static List<ColumnSetting> createColumnsSettings(ColumnModel columnModel,
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java
index 4b8708d2f2d..604a30df49f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java
@@ -85,7 +85,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelColumnHeader;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.WebApp;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.WebClientConfiguration;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.AllDisplaySettingsUpdate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.IDisplaySettingsUpdate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SessionContextDTO;
 import ch.systemsx.cisd.openbis.generic.shared.util.ServerUtils;
@@ -638,14 +637,31 @@ public abstract class AbstractClientService implements IClientService,
     }
 
     @Override
-    public void updateDisplaySettings(IDisplaySettingsUpdate displaySettingsUpdate)
+    public void saveDisplaySettings(DisplaySettings displaySettings)
     {
         try
         {
             final String sessionToken = getSessionToken();
             IServer server = getServer();
             int maxEntityVisits = getWebClientConfiguration().getMaxEntityVisits();
-            server.updateDisplaySettings(sessionToken, displaySettingsUpdate, maxEntityVisits);
+            server.saveDisplaySettings(sessionToken, displaySettings, maxEntityVisits);
+        } catch (InvalidSessionException e)
+        {
+            // ignored
+        } catch (final ch.systemsx.cisd.common.exceptions.UserFailureException e)
+        {
+            throw UserFailureExceptionTranslator.translate(e);
+        }
+    }
+
+    @Override
+    public void updateDisplaySettings(IDisplaySettingsUpdate displaySettingsUpdate)
+    {
+        try
+        {
+            final String sessionToken = getSessionToken();
+            IServer server = getServer();
+            server.updateDisplaySettings(sessionToken, displaySettingsUpdate);
         } catch (InvalidSessionException e)
         {
             // ignored
@@ -663,7 +679,7 @@ public abstract class AbstractClientService implements IClientService,
             final String sessionToken = getSessionToken();
             IServer server = getServer();
             final DisplaySettings defaultSettings = server.getDefaultDisplaySettings(sessionToken);
-            updateDisplaySettings(new AllDisplaySettingsUpdate(defaultSettings));
+            saveDisplaySettings(defaultSettings);
             return defaultSettings;
         } catch (InvalidSessionException e)
         {
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 77a91d3173e..5518f68ebb9 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
@@ -708,7 +708,7 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp
 
     @Override
     public void updateDisplaySettings(String sessionToken,
-            IDisplaySettingsUpdate displaySettingsUpdate, int maxEntityVisits)
+            IDisplaySettingsUpdate displaySettingsUpdate)
     {
         if (displaySettingsUpdate == null)
         {
@@ -727,7 +727,7 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp
                             displaySettingsProvider.getCurrentDisplaySettings(person);
                     DisplaySettings newDisplaySettings =
                             displaySettingsUpdate.update(currentDisplaySettings);
-                    saveDisplaySettings(sessionToken, newDisplaySettings, maxEntityVisits);
+                    saveDisplaySettings(sessionToken, newDisplaySettings, -1);
                 }
             }
         } 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 e940319feb4..628b6d12daf 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
@@ -78,6 +78,7 @@ public class DisplaySettingsProvider
         if (oldSettings != null)
         {
             settings.overwriteCustomWebAppSettings(oldSettings);
+            settings.overwriteColumnSettings(oldSettings);
         }
         displaySettingsMap.put(person.getUserId(), settings);
         person.setDisplaySettings(settings);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java
index 32c6a49b3b2..94b0febfc2c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java
@@ -282,7 +282,7 @@ public abstract class AbstractServerLogger implements IServer
 
     @Override
     public void updateDisplaySettings(String sessionToken,
-            IDisplaySettingsUpdate displaySettingsUpdate, int maxEntityVisits)
+            IDisplaySettingsUpdate displaySettingsUpdate)
     {
         logTracking(sessionToken, "update_display_settings", "UPDATE (%s)", displaySettingsUpdate);
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java
index 96074055510..79151668f80 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java
@@ -98,7 +98,7 @@ public interface IServer extends ISessionProvider
 
     @Transactional
     public void updateDisplaySettings(String sessionToken,
-            IDisplaySettingsUpdate displaySettingsUpdate, int maxEntityVisits);
+            IDisplaySettingsUpdate displaySettingsUpdate);
 
     /**
      * Lists grid custom columns for a given grid id.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
index b8dd1a569f7..00bec6eef4a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
@@ -380,6 +380,18 @@ public class DisplaySettings implements Serializable
         }
     }
 
+    /**
+     * @deprecated Don't use in generic web client - will be overwritten.
+     */
+    @Deprecated
+    public void overwriteColumnSettings(DisplaySettings customDisplaySettings)
+    {
+        synchronized (customDisplaySettings)
+        {
+            this.columnSettings = customDisplaySettings.columnSettings;
+        }
+    }
+
     @Deprecated
     public void clearCustomWebAppSettings()
     {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/AllDisplaySettingsUpdate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/AllDisplaySettingsUpdate.java
deleted file mode 100644
index bdf2db02a28..00000000000
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/AllDisplaySettingsUpdate.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012 ETH Zuerich, CISD
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings;
-
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
-
-/**
- * @author pkupczyk
- */
-public class AllDisplaySettingsUpdate implements IDisplaySettingsUpdate
-{
-
-    private static final long serialVersionUID = 1L;
-
-    private DisplaySettings newDisplaySettings;
-
-    // GWT
-    @SuppressWarnings("unused")
-    private AllDisplaySettingsUpdate()
-    {
-    }
-
-    public AllDisplaySettingsUpdate(DisplaySettings newDisplaySettings)
-    {
-        if (newDisplaySettings == null)
-        {
-            throw new IllegalArgumentException("New display settings cannot be null");
-        }
-        this.newDisplaySettings = newDisplaySettings;
-    }
-
-    @Override
-    public DisplaySettings update(DisplaySettings displaySettings)
-    {
-        return newDisplaySettings;
-    }
-
-    @Override
-    public String toString()
-    {
-        return "update of all display settings";
-    }
-
-}
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/ColumnDisplaySettingsUpdate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/ColumnDisplaySettingsUpdate.java
index a75b7d55518..ac20abf314c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/ColumnDisplaySettingsUpdate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/ColumnDisplaySettingsUpdate.java
@@ -22,6 +22,8 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ColumnSetting;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
 
 /**
+ * A command that updates column settings for a one specified grid.
+ * 
  * @author pkupczyk
  */
 public class ColumnDisplaySettingsUpdate implements IDisplaySettingsUpdate
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/IDisplaySettingsUpdate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/IDisplaySettingsUpdate.java
index 2ed5cea0ce4..c91a571a2fa 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/IDisplaySettingsUpdate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/displaysettings/IDisplaySettingsUpdate.java
@@ -21,11 +21,16 @@ import java.io.Serializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
 
 /**
+ * A command that updates or creates a new display settings object.
+ * 
  * @author pkupczyk
  */
 public interface IDisplaySettingsUpdate extends Serializable
 {
 
+    /**
+     * Returns an updated or a new display settings object.
+     */
     public DisplaySettings update(DisplaySettings displaySettings);
 
 }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
index e65afa15f67..14bc17fb7b9 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
@@ -51,6 +51,7 @@ import ch.systemsx.cisd.openbis.generic.server.business.ManagerTestTool;
 import ch.systemsx.cisd.openbis.generic.shared.CommonTestUtils;
 import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ColumnSetting;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSet;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetArchivingStatus;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStore;
@@ -73,7 +74,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.DataSetBuilder;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.AllDisplaySettingsUpdate;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.ColumnDisplaySettingsUpdate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.displaysettings.IDisplaySettingsUpdate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE;
@@ -545,17 +546,15 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
     @Test
     public void testUpdateDisplaySettings()
     {
-        final DisplaySettings displaySettings = new DisplaySettings();
         final IDisplaySettingsUpdate displaySettingsUpdate =
-                new AllDisplaySettingsUpdate(displaySettings);
+                new ColumnDisplaySettingsUpdate("my-type-id", new ArrayList<ColumnSetting>());
 
         context.checking(new Expectations()
             {
                 {
                     prepareGetSessionToken(this);
 
-                    one(commonServer).updateDisplaySettings(SESSION_TOKEN, displaySettingsUpdate,
-                            20);
+                    one(commonServer).updateDisplaySettings(SESSION_TOKEN, displaySettingsUpdate);
                 }
             });
 
-- 
GitLab