From fd824bbff614aecfa4104952ba2d50f49ec7d419 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Mon, 20 Aug 2012 10:42:19 +0000
Subject: [PATCH] BIS-149 SP-237 : Removed implements Map from the definition
 of WebAppSettings. This was causing problems with the JSON serializer.

SVN: 26399
---
 .../shared/api/v1/dto/WebAppSettings.java     | 88 +++----------------
 1 file changed, 12 insertions(+), 76 deletions(-)

diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/WebAppSettings.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/WebAppSettings.java
index 263c5afdd54..0a6f0b09601 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/WebAppSettings.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/WebAppSettings.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.shared.api.v1.dto;
 
 import java.io.Serializable;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
@@ -28,16 +29,16 @@ import ch.systemsx.cisd.base.annotation.JsonObject;
 
 /**
  * A map containing persistent settings for an openBIS web app.
- *
+ * 
  * @author Bernd Rinn
  */
 @JsonObject("WebAppSettings")
-public class WebAppSettings implements Serializable, Map<String, String>
+public class WebAppSettings implements Serializable
 {
     private static final long serialVersionUID = 1L;
 
     private String webAppId;
-    
+
     private Map<String, String> settings;
 
     public WebAppSettings(String webAppId, Map<String, String> settings)
@@ -45,87 +46,21 @@ public class WebAppSettings implements Serializable, Map<String, String>
         this.webAppId = webAppId;
         this.settings = settings;
     }
-    
-    public String getWebAppId()
-    {
-        return webAppId;
-    }
-
-    public Map<String, String> getSettings()
-    {
-        return settings;
-    }
-
-    @Override
-    public int size()
-    {
-        return settings.size();
-    }
-
-    @Override
-    public boolean isEmpty()
-    {
-        return settings.isEmpty();
-    }
-
-    @Override
-    public boolean containsKey(Object key)
-    {
-        return settings.containsKey(key);
-    }
 
-    @Override
-    public boolean containsValue(Object value)
-    {
-        return settings.containsValue(value);
-    }
-
-    @Override
-    public String get(Object key)
+    public WebAppSettings(String webAppId, WebAppSettings settings)
     {
-        return settings.get(key);
-    }
-
-    @Override
-    public String put(String key, String value)
-    {
-        return settings.put(key, value);
-    }
-
-    @Override
-    public String remove(Object key)
-    {
-        return settings.remove(key);
-    }
-
-    @Override
-    public void putAll(Map<? extends String, ? extends String> m)
-    {
-        settings.putAll(m);
-    }
-
-    @Override
-    public void clear()
-    {
-        settings.clear();
-    }
-
-    @Override
-    public Set<String> keySet()
-    {
-        return settings.keySet();
+        this.webAppId = webAppId;
+        this.settings = settings.settings;
     }
 
-    @Override
-    public Collection<String> values()
+    public String getWebAppId()
     {
-        return settings.values();
+        return webAppId;
     }
 
-    @Override
-    public Set<java.util.Map.Entry<String, String>> entrySet()
+    public Map<String, String> getSettings()
     {
-        return settings.entrySet();
+        return settings;
     }
 
     @Override
@@ -143,6 +78,7 @@ public class WebAppSettings implements Serializable, Map<String, String>
     @SuppressWarnings("unused")
     private WebAppSettings()
     {
+        this.settings = new HashMap<String, String>();
     }
 
     @SuppressWarnings("unused")
-- 
GitLab