[gatein-commits] gatein SVN: r1916 - in portal/trunk/component/wsrp: src/main/java/org/gatein/portal/wsrp/state/mapping and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Mar 1 11:48:48 EST 2010


Author: chris.laprun at jboss.com
Date: 2010-03-01 11:48:48 -0500 (Mon, 01 Mar 2010)
New Revision: 1916

Added:
   portal/trunk/component/wsrp/src/test/java/org/gatein/portal/wsrp/state/mapping/
   portal/trunk/component/wsrp/src/test/java/org/gatein/portal/wsrp/state/mapping/MappedMapTestCase.java
Modified:
   portal/trunk/component/wsrp/pom.xml
   portal/trunk/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/mapping/MappedMap.java
Log:
- Fixed MappedMap.initFrom method as it should remove any previous value apart from the blacklisted ones.
- Added and activated test case.

Modified: portal/trunk/component/wsrp/pom.xml
===================================================================
--- portal/trunk/component/wsrp/pom.xml	2010-03-01 12:41:06 UTC (rev 1915)
+++ portal/trunk/component/wsrp/pom.xml	2010-03-01 16:48:48 UTC (rev 1916)
@@ -117,7 +117,7 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
                <excludes>
-                  <exclude>org/gatein/portal/wsrp/**</exclude>
+                  <exclude>org/gatein/portal/wsrp/state/consumer/**</exclude>
                </excludes>
             </configuration>
          </plugin>

Modified: portal/trunk/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/mapping/MappedMap.java
===================================================================
--- portal/trunk/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/mapping/MappedMap.java	2010-03-01 12:41:06 UTC (rev 1915)
+++ portal/trunk/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/mapping/MappedMap.java	2010-03-01 16:48:48 UTC (rev 1916)
@@ -100,6 +100,17 @@
    {
       if (ParameterValidation.existsAndIsNotEmpty(externalMap))
       {
+         // remove existing values (apart from blacklisted ones that we shouldn't touch)
+         Set<String> keys = new HashSet<String>(internalMap.keySet());
+         for (String key : keys)
+         {
+            if (!blacklistedPropertyKeys.contains(key))
+            {
+               internalMap.remove(key);
+            }
+         }
+
+         // put the new values in
          for (Map.Entry<Key, Value> entry : externalMap.entrySet())
          {
             internalMap.put(keyConverter.toInternal(entry.getKey()), valueConverter.toInternal(entry.getValue()));

Added: portal/trunk/component/wsrp/src/test/java/org/gatein/portal/wsrp/state/mapping/MappedMapTestCase.java
===================================================================
--- portal/trunk/component/wsrp/src/test/java/org/gatein/portal/wsrp/state/mapping/MappedMapTestCase.java	                        (rev 0)
+++ portal/trunk/component/wsrp/src/test/java/org/gatein/portal/wsrp/state/mapping/MappedMapTestCase.java	2010-03-01 16:48:48 UTC (rev 1916)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.gatein.portal.wsrp.state.mapping;
+
+import junit.framework.TestCase;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun at jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class MappedMapTestCase extends TestCase
+{
+   private MappedMap<String, String> mapped;
+
+   public void testInitFrom()
+   {
+      Map<String, String> external = new HashMap<String, String>();
+      external.put("bar", "barvalue");
+
+      Map<String, Object> internal = new HashMap<String, Object>();
+      internal.put("foo", "foovalue");
+      internal.put("baz", "bazvalue");
+
+      mapped.initFrom(external, internal);
+
+      assertEquals("foovalue", internal.get("foo"));
+      assertEquals("barvalue", internal.get("bar"));
+      assertNull("baz isn't in the external map we initialize from so it shouldn't be present anymore after", internal.get("baz"));
+   }
+
+   public void testToExternalMap()
+   {
+      Map<String, Object> internal = new HashMap<String, Object>();
+      internal.put("foo", "foovalue");
+      internal.put("baz", "bazvalue");
+
+      Map<String, String> external = mapped.toExternalMap(internal);
+
+      assertNull(external.get("foo"));
+      assertEquals("bazvalue", external.get("baz"));
+   }
+
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+      mapped = new MappedMap<String, String>(new MappedMap.Converter<String, String>()
+      {
+
+         public String fromInternal(String s)
+         {
+            return s;
+         }
+
+         public String toInternal(String s)
+         {
+            return s;
+         }
+      }, new MappedMap.Converter<Object, String>()
+      {
+         public String fromInternal(Object o)
+         {
+            return o.toString();
+         }
+
+         public Object toInternal(String s)
+         {
+            return s;
+         }
+      }, "foo");
+   }
+}



More information about the gatein-commits mailing list