You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2008/11/17 20:01:18 UTC

svn commit: r718325 - in /harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent: ConcurrentHashMap.java CopyOnWriteArraySet.java

Author: tellison
Date: Mon Nov 17 11:01:17 2008
New Revision: 718325

URL: http://svn.apache.org/viewvc?rev=718325&view=rev
Log:
Part of r718318.
Fix for HARMONY-6008 ([classlib] Fix japi found differences between harmony and spec)

Modified:
    harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
    harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java

Modified: harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
URL: http://svn.apache.org/viewvc/harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java?rev=718325&r1=718324&r2=718325&view=diff
==============================================================================
--- harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java (original)
+++ harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java Mon Nov 17 11:01:17 2008
@@ -69,7 +69,7 @@
  * @param <V> the type of mapped values 
  */
 public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
-        implements ConcurrentMap<K, V>, Cloneable, Serializable {
+        implements ConcurrentMap<K, V>, Serializable {
     private static final long serialVersionUID = 7249069246763182397L;
 
     /*
@@ -921,26 +921,6 @@
 
 
     /**
-     * Returns a shallow copy of this
-     * <tt>ConcurrentHashMap</tt> instance: the keys and
-     * values themselves are not cloned.
-     *
-     * @return a shallow copy of this map.
-     */
-    public Object clone() {
-        // We cannot call super.clone, since it would share final
-        // segments array, and there's no way to reassign finals.
-
-        float lf = segments[0].loadFactor;
-        int segs = segments.length;
-        int cap = (int)(size() / lf);
-        if (cap < segs) cap = segs;
-        ConcurrentHashMap<K,V> t = new ConcurrentHashMap<K,V>(cap, lf, segs);
-        t.putAll(this);
-        return t;
-    }
-
-    /**
      * Returns a set view of the keys contained in this map.  The set is
      * backed by the map, so changes to the map are reflected in the set, and
      * vice-versa.  The set supports element removal, which removes the

Modified: harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
URL: http://svn.apache.org/viewvc/harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java?rev=718325&r1=718324&r2=718325&view=diff
==============================================================================
--- harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java (original)
+++ harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java Mon Nov 17 11:01:17 2008
@@ -61,7 +61,7 @@
  * @param <E> the type of elements held in this collection
  */
 public class CopyOnWriteArraySet<E> extends AbstractSet<E>
-        implements Cloneable, java.io.Serializable {
+        implements java.io.Serializable {
     private static final long serialVersionUID = 5457747651344034263L;
 
     private final CopyOnWriteArrayList<E> al;



Re: svn commit: r718325 - in /harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent: ConcurrentHashMap.java CopyOnWriteArraySet.java

Posted by Tim Ellison <t....@gmail.com>.
chunrong lai wrote:
> hi, Tim:
>     The integrity testing cycle reports some compilation errors after this
> commit as below, please help for a verify.

Oops, thanks Chunrong.

Fixed at r718572.

Regards,
Tim

Re: svn commit: r718325 - in /harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent: ConcurrentHashMap.java CopyOnWriteArraySet.java

Posted by chunrong lai <ch...@gmail.com>.
hi, Tim:
    The integrity testing cycle reports some compilation errors after this
commit as below, please help for a verify.
    Probably we can just exclude the reported concurrent tests. :-)

     [java] compile-tests:
     [java]      [echo] Compiling CONCURRENT tests
     [java]     [mkdir] Created dir:
/home/laichunrong/harmony.regularcc/infra/build/checkouts/hdk/working_classlib/modules/concurrent/bin/test
     [java]     [javac] Compiling 43 source files to
/home/laichunrong/harmony.regularcc/infra/build/checkouts/hdk/working_classlib/modules/concurrent/bin/test
     [java]     [javac] Since fork is false, ignoring memoryMaximumSize
setting
     [java]     [javac] ----------
     [java]     [javac] 1. ERROR in
/home/laichunrong/harmony.regularcc/infra/build/checkouts/hdk/working_classlib/modules/concurrent/standard/src/test/java/ConcurrentHashMapTest.java
     [java]     [javac]  (at line 108)
     [java]     [javac] ConcurrentHashMap m2 =
(ConcurrentHashMap)(map.clone());
     [java]     [javac]                                                ^^^^^
     [java]     [javac] The method clone() from the type AbstractMap is not
visible
     [java]     [javac] ----------
     [java]     [javac] 1 problem (1 error)
     [java]
     [java] BUILD FAILED



On Tue, Nov 18, 2008 at 3:01 AM, <te...@apache.org> wrote:

> Author: tellison
> Date: Mon Nov 17 11:01:17 2008
> New Revision: 718325
>
> URL: http://svn.apache.org/viewvc?rev=718325&view=rev
> Log:
> Part of r718318.
> Fix for HARMONY-6008 ([classlib] Fix japi found differences between harmony
> and spec)
>
> Modified:
>
>  harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
>
>  harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
>
> Modified:
> harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
> URL:
> http://svn.apache.org/viewvc/harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java?rev=718325&r1=718324&r2=718325&view=diff
>
> ==============================================================================
> ---
> harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
> (original)
> +++
> harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
> Mon Nov 17 11:01:17 2008
> @@ -69,7 +69,7 @@
>  * @param <V> the type of mapped values
>  */
>  public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
> -        implements ConcurrentMap<K, V>, Cloneable, Serializable {
> +        implements ConcurrentMap<K, V>, Serializable {
>     private static final long serialVersionUID = 7249069246763182397L;
>
>     /*
> @@ -921,26 +921,6 @@
>
>
>     /**
> -     * Returns a shallow copy of this
> -     * <tt>ConcurrentHashMap</tt> instance: the keys and
> -     * values themselves are not cloned.
> -     *
> -     * @return a shallow copy of this map.
> -     */
> -    public Object clone() {
> -        // We cannot call super.clone, since it would share final
> -        // segments array, and there's no way to reassign finals.
> -
> -        float lf = segments[0].loadFactor;
> -        int segs = segments.length;
> -        int cap = (int)(size() / lf);
> -        if (cap < segs) cap = segs;
> -        ConcurrentHashMap<K,V> t = new ConcurrentHashMap<K,V>(cap, lf,
> segs);
> -        t.putAll(this);
> -        return t;
> -    }
> -
> -    /**
>      * Returns a set view of the keys contained in this map.  The set is
>      * backed by the map, so changes to the map are reflected in the set,
> and
>      * vice-versa.  The set supports element removal, which removes the
>
> Modified:
> harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
> URL:
> http://svn.apache.org/viewvc/harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java?rev=718325&r1=718324&r2=718325&view=diff
>
> ==============================================================================
> ---
> harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
> (original)
> +++
> harmony/standard/classlib/branches/java5/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
> Mon Nov 17 11:01:17 2008
> @@ -61,7 +61,7 @@
>  * @param <E> the type of elements held in this collection
>  */
>  public class CopyOnWriteArraySet<E> extends AbstractSet<E>
> -        implements Cloneable, java.io.Serializable {
> +        implements java.io.Serializable {
>     private static final long serialVersionUID = 5457747651344034263L;
>
>     private final CopyOnWriteArrayList<E> al;
>
>
>