From 3e679c8e96c4cfdb27d6fef69b3864d2b0638e76 Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Sun, 12 Aug 2012 15:09:59 +0000
Subject: [PATCH] [BIS-149/SP-237] Display settings for custom web UIs. Keep
 WebAppSettings out of the DisplaySettings to fix GWT compilation.

SVN: 26340
---
 .../api/v1/GeneralInformationChangingService.java      |  6 ++++--
 .../generic/shared/basic/dto/DisplaySettings.java      | 10 ++++------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
index 14df1693168..072141ab48c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
@@ -112,7 +112,8 @@ public class GeneralInformationChangingService extends
     public WebAppSettings getWebAppSettings(String sessionToken, String webAppId)
     {
         final Session session = getSession(sessionToken);
-        return session.getPerson().getDisplaySettings().getCustomWebAppSettings(webAppId);
+        return new WebAppSettings(webAppId, session.getPerson().getDisplaySettings()
+                .getCustomWebAppSettings(webAppId));
     }
 
     @Override
@@ -123,7 +124,8 @@ public class GeneralInformationChangingService extends
     {
         final Session session = getSession(sessionToken);
         final DisplaySettings displaySettings = session.getPerson().getDisplaySettings();
-        displaySettings.setCustomWebAppSettings(webAppSettings);
+        displaySettings.setCustomWebAppSettings(webAppSettings.getWebAppId(),
+                webAppSettings.getSettings());
         saveDisplaySettings(session.getSessionToken(), null, -1);
     }
 
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 d2a036227b9..36ae4826944 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
@@ -22,8 +22,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings;
-
 /**
  * Class storing personalized display settings. This class implements {@link Serializable} not only
  * for transferring it's content remotely but also to store it in the database. Thus, CHANGES IN
@@ -313,7 +311,7 @@ public class DisplaySettings implements Serializable
      * @deprecated Don't use in generic web client - will be overwritten.
      */
     @Deprecated
-    public synchronized WebAppSettings getCustomWebAppSettings(String webAppId)
+    public synchronized Map<String, String> getCustomWebAppSettings(String webAppId)
     {
         if (customWebAppDisplaySettings == null)
         {
@@ -325,20 +323,20 @@ public class DisplaySettings implements Serializable
             settings = new HashMap<String, String>();
             customWebAppDisplaySettings.put(webAppId, settings);
         }
-        return new WebAppSettings(webAppId, settings);
+        return settings;
     }
 
     /**
      * @deprecated Don't use in generic web client - will be overwritten.
      */
     @Deprecated
-    public synchronized void setCustomWebAppSettings(WebAppSettings settings)
+    public synchronized void setCustomWebAppSettings(String webAppId, Map<String, String> settings)
     {
         if (customWebAppDisplaySettings == null)
         {
             customWebAppDisplaySettings = new HashMap<String, Map<String, String>>();
         }
-        customWebAppDisplaySettings.put(settings.getWebAppId(), settings.getSettings());
+        customWebAppDisplaySettings.put(webAppId, settings);
     }
 
     /**
-- 
GitLab