Fix for issue #802.  Adds constructors for ArrayList(int initialCapacity) and Vector(int initalCapacity) for JRE compatibility.  The constructors are functionally identical to the default constructors.

Found by: alau2003
Patch by: rdayal
Review by: me



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@846 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/super/com/google/gwt/emul/java/util/ArrayList.java b/user/super/com/google/gwt/emul/java/util/ArrayList.java
index 18e6415..5c84df7 100644
--- a/user/super/com/google/gwt/emul/java/util/ArrayList.java
+++ b/user/super/com/google/gwt/emul/java/util/ArrayList.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2006 Google Inc.
+ * Copyright 2007 Google Inc.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
@@ -25,7 +25,10 @@
  * <p>
  * <b>Capacity</b> There is no speed advantage to pre-allocating array sizes in
  * JavaScript, so this implementation does not include any of the capacity and
- * "growth increment" concepts in the standard ArrayList class.
+ * "growth increment" concepts in the standard ArrayList class. Although
+ * <code>ArrayList(int)</code> accepts a value for the intitial capacity of
+ * the array, this constructor simply delegates to <code>ArrayList()</code>.
+ * It is only present for compatibility with JDK 1.4's API.
  * </p>
  * <p>
  * <b>Dual endedness</b> For increased performance, this implementation supports
@@ -73,6 +76,17 @@
     addAll(c);
   }
 
+  /**
+   * There is no speed advantage to pre-allocating array sizes in JavaScript,
+   * so the <code>intialCapacity</code> parameter is ignored. This constructor is
+   * only present for compatibility with JDK 1.4's API.
+   */
+  public ArrayList(int initialCapacity) {
+    // initialCapacity is ignored in JS implementation; this constructor is
+    // present for JDK 1.4 compatibility
+    this();
+  }
+
   public native void add(int index, Object o) /*-{
     var array  = this.@java.util.ArrayList::array;
     var endIndex = this.@java.util.ArrayList::endIndex;
@@ -272,4 +286,4 @@
     this.@java.util.ArrayList::startIndex = HALFWAY_INDEX;
     this.@java.util.ArrayList::endIndex = HALFWAY_INDEX;
   }-*/;
-}
\ No newline at end of file
+}
diff --git a/user/super/com/google/gwt/emul/java/util/Vector.java b/user/super/com/google/gwt/emul/java/util/Vector.java
index 774ad4f..2be0add 100644
--- a/user/super/com/google/gwt/emul/java/util/Vector.java
+++ b/user/super/com/google/gwt/emul/java/util/Vector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2006 Google Inc.
+ * Copyright 2007 Google Inc.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
@@ -34,6 +34,15 @@
     addAll(c);
   }
 
+ /**
+   * There is no speed advantage to pre-allocating array sizes in JavaScript,
+   * so the <code>intialCapacity</code> parameter is ignored. This constructor is
+   * only present for compatibility with JDK 1.4's API.
+   */
+  public Vector(int initialCapacity) {
+    arrayList = new ArrayList(initialCapacity);
+  } 
+
   public void add(int index, Object o) {
     arrayList.add(index, o);
   }