You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2007/03/12 00:22:48 UTC

svn commit: r517047 - in /myfaces/core/branches/jsf12/impl/src: main/java/org/apache/myfaces/util/AbstractAttributeMap.java test/java/org/apache/myfaces/util/AbstractAttributeMapTest.java

Author: mbr
Date: Sun Mar 11 16:22:47 2007
New Revision: 517047

URL: http://svn.apache.org/viewvc?view=rev&rev=517047
Log:
fixed map.values implementation

Modified:
    myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/util/AbstractAttributeMap.java
    myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/util/AbstractAttributeMapTest.java

Modified: myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/util/AbstractAttributeMap.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/util/AbstractAttributeMap.java?view=diff&rev=517047&r1=517046&r2=517047
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/util/AbstractAttributeMap.java (original)
+++ myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/util/AbstractAttributeMap.java Sun Mar 11 16:22:47 2007
@@ -163,31 +163,32 @@
         }
 
         @Override
-        public boolean contains(Object o)
+        public void clear()
         {
-            return AbstractAttributeMap.this.containsKey(o);
+            AbstractAttributeMap.this.clear();
         }
+    }
 
+    private class KeySet extends AbstractAttributeSet<String>
+    {
         @Override
-        public boolean remove(Object o)
+        public Iterator<String> iterator()
         {
-            return AbstractAttributeMap.this.remove(o) != null;
+            return new KeyIterator();
         }
 
         @Override
-        public void clear()
+        public boolean contains(Object o)
         {
-            AbstractAttributeMap.this.clear();
+            return AbstractAttributeMap.this.containsKey(o);
         }
-    }
 
-    private class KeySet extends AbstractAttributeSet<String>
-    {
         @Override
-        public Iterator<String> iterator()
+        public boolean remove(Object o)
         {
-            return new KeyIterator();
+            return AbstractAttributeMap.this.remove(o) != null;
         }
+
     }
 
     private abstract class AbstractAttributeIterator<E> implements Iterator<E>
@@ -238,6 +239,25 @@
         }
 
         @Override
+        public boolean contains(Object o)
+        {
+            if (o == null)
+            {
+                return false;
+            }
+
+            for (Iterator it = iterator(); it.hasNext();)
+            {
+                if (o.equals(it.next()))
+                {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+        @Override
         public boolean remove(Object o)
         {
             if (o == null)
@@ -381,7 +401,6 @@
                 return false;
             return true;
         }
-        
-        
+
     }
 }

Modified: myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/util/AbstractAttributeMapTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/util/AbstractAttributeMapTest.java?view=diff&rev=517047&r1=517046&r2=517047
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/util/AbstractAttributeMapTest.java (original)
+++ myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/util/AbstractAttributeMapTest.java Sun Mar 11 16:22:47 2007
@@ -18,9 +18,9 @@
  */
 package org.apache.myfaces.util;
 
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
 
 import junit.framework.TestCase;
 
@@ -30,39 +30,61 @@
  */
 public class AbstractAttributeMapTest extends TestCase
 {
+    private TestAttributeMap _testimpl;
+
+    @Override
+    protected void setUp() throws Exception
+    {
+        Map map = new HashMap();
+        map.put("key", "value");
+        _testimpl = new TestAttributeMap(map);
+    }
+    
     /**
      * Test method for {@link java.util.AbstractMap#hashCode()}.
      */
     public void testHashCodeEquals()
     {
-        TestAttributeMap map = new TestAttributeMap();
-        assertEquals(map.hashCode(), map.hashCode());
+        assertEquals(_testimpl.hashCode(), _testimpl.hashCode());
+    }
+
+    public void testValues() throws Exception
+    {
+        _testimpl.put("myKey", "myValue");
+        assertTrue(_testimpl.values().contains("myValue"));
     }
 
     private static final class TestAttributeMap extends AbstractAttributeMap
     {
+        private final Map _values;
+
+        public TestAttributeMap(Map values)
+        {
+            _values = values;
+        }
+
         @Override
         protected Object getAttribute(String key)
         {
-            return "value";
+            return _values.get(key);
         }
 
         @Override
         protected Enumeration getAttributeNames()
         {
-            return Collections.enumeration(Arrays.asList(new String[] { "attr1", "attr2" }));
+            return new IteratorEnumeration(_values.keySet().iterator());
         }
 
         @Override
         protected void removeAttribute(String key)
         {
-            fail();
+            _values.remove(key);
         }
 
         @Override
         protected void setAttribute(String key, Object value)
         {
-            fail();
+            _values.put(key, value);
         }
     }