You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2005/01/04 01:13:25 UTC

cvs commit: jakarta-commons/collections/src/java/org/apache/commons/collections MultiHashMap.java

scolebourne    2005/01/03 16:13:25

  Modified:    collections RELEASE-NOTES.html
               collections/src/test/org/apache/commons/collections
                        TestMultiHashMap.java
               collections/src/java/org/apache/commons/collections
                        MultiHashMap.java
  Log:
  Fix MultiHashMap to return null when nothing removed
  bug 32366, reported by Tad Marko
  
  Revision  Changes    Path
  1.76      +1 -0      jakarta-commons/collections/RELEASE-NOTES.html
  
  Index: RELEASE-NOTES.html
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/RELEASE-NOTES.html,v
  retrieving revision 1.75
  retrieving revision 1.76
  diff -u -r1.75 -r1.76
  --- RELEASE-NOTES.html	4 Jan 2005 00:01:31 -0000	1.75
  +++ RELEASE-NOTES.html	4 Jan 2005 00:13:25 -0000	1.76
  @@ -52,6 +52,7 @@
   <ul>
   <li>FastArrayList - Fix iterators and views to work better in multithreaded environments</li>
   <li>BoundedFifoBuffer/CircularFifoBuffer - Fix serialization to work in case where buffer serialized when full [31433]</li>
  +<li>MultiHashMap.remove(key, item) - Was returning the item even when nothing was removed [32366]</li>
   </ul>
   
   <center><h3>JAVADOC</h3></center>
  
  
  
  1.21      +15 -2     jakarta-commons/collections/src/test/org/apache/commons/collections/TestMultiHashMap.java
  
  Index: TestMultiHashMap.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/TestMultiHashMap.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- TestMultiHashMap.java	9 Jun 2004 22:11:54 -0000	1.20
  +++ TestMultiHashMap.java	4 Jan 2005 00:13:25 -0000	1.21
  @@ -1,5 +1,5 @@
   /*
  - *  Copyright 2001-2004 The Apache Software Foundation
  + *  Copyright 2001-2005 The Apache Software Foundation
    *
    *  Licensed under the Apache License, Version 2.0 (the "License");
    *  you may not use this file except in compliance with the License.
  @@ -415,6 +415,19 @@
           assertEquals(3, map.size());
           assertEquals(2, newMap.size());
           assertEquals(1, newColl.size());
  +    }
  +
  +    public void testRemove_KeyItem() {
  +        MultiHashMap map = new MultiHashMap();
  +        map.put("A", "AA");
  +        map.put("A", "AB");
  +        map.put("A", "AC");
  +        assertEquals(null, map.remove("C", "CA"));
  +        assertEquals(null, map.remove("A", "AD"));
  +        assertEquals("AC", map.remove("A", "AC"));
  +        assertEquals("AB", map.remove("A", "AB"));
  +        assertEquals("AA", map.remove("A", "AA"));
  +        assertEquals(new MultiHashMap(), map);
       }
   
   }
  
  
  
  1.21      +6 -4      jakarta-commons/collections/src/java/org/apache/commons/collections/MultiHashMap.java
  
  Index: MultiHashMap.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/MultiHashMap.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- MultiHashMap.java	9 Jun 2004 22:11:54 -0000	1.20
  +++ MultiHashMap.java	4 Jan 2005 00:13:25 -0000	1.21
  @@ -1,5 +1,5 @@
   /*
  - *  Copyright 2001-2004 The Apache Software Foundation
  + *  Copyright 2001-2005 The Apache Software Foundation
    *
    *  Licensed under the Apache License, Version 2.0 (the "License");
    *  you may not use this file except in compliance with the License.
  @@ -314,8 +314,10 @@
           if (valuesForKey == null) {
               return null;
           }
  -        valuesForKey.remove(item);
  -
  +        boolean removed = valuesForKey.remove(item);
  +        if (removed == false) {
  +            return null;
  +        }
           // remove the list if it is now empty
           // (saves space, and allows equals to work)
           if (valuesForKey.isEmpty()){
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org