Print

Print


Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/util on MAIN
WeightedList.java+30-61.1 -> 1.2
Removing JDK 1.6 features

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/util
WeightedList.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- WeightedList.java	9 Feb 2009 03:57:42 -0000	1.1
+++ WeightedList.java	9 Feb 2009 19:43:13 -0000	1.2
@@ -12,7 +12,7 @@
  * memory and speed to an object of <tt>ArrayList</tt> type.
  *
  * @author D. Onoprienko
- * @version $Id: WeightedList.java,v 1.1 2009/02/09 03:57:42 onoprien Exp $
+ * @version $Id: WeightedList.java,v 1.2 2009/02/09 19:43:13 onoprien Exp $
  */
 public class WeightedList<E> extends ArrayList<E> {
   
@@ -95,7 +95,10 @@
       _w = new double[2*index+1];
       Arrays.fill(_w, 0, index, 1.);
     } else if (index == _w.length) {
-      _w = Arrays.copyOf(_w, _w.length*2);
+      // _w = Arrays.copyOf(_w, _w.length*2); FIXME JDK 1.6
+      double[] u = new double[_w.length*2];
+      System.arraycopy(_w, 0, u, 0, _w.length);
+      _w = u;
     }
     _w[index] = weight;
     return super.add(element);
@@ -161,7 +164,12 @@
   public boolean addAll(Collection<? extends E> c) {
     if (_w != null) {
       int newSize = size()+c.size();
-      if (_w.length < newSize) _w = Arrays.copyOf(_w, newSize);
+      if (_w.length < newSize) {
+        //_w = Arrays.copyOf(_w, newSize); FIXME JDK 1.6
+        double[] u = new double[newSize];
+        System.arraycopy(_w, 0, u, 0, _w.length);
+        _w = u;
+      }
       Arrays.fill(_w, size(), newSize, 1.);
     }
     return super.addAll(c);
@@ -289,13 +297,23 @@
    */
   public void ensureCapacity(int minCapacity) {
     super.ensureCapacity(minCapacity);
-    if (_w != null && _w.length < minCapacity) _w = Arrays.copyOf(_w, Math.max(size(), minCapacity));
+    if (_w != null && _w.length < minCapacity) {
+      // _w = Arrays.copyOf(_w, Math.max(size(), minCapacity)); FIXME JDK 1.6
+      double[] u = new double[Math.max(size(), minCapacity)];
+      System.arraycopy(_w, 0, u, 0, _w.length);
+      _w = u;
+    }
   }
 
   /** Trims the capacity of this <tt>WeightedList</tt> instance to be the list's current size. */
   public void trimToSize() {
     super.trimToSize();
-    if (_w != null && _w.length > size()) _w = Arrays.copyOf(_w, size());
+    if (_w != null && _w.length > size()) {
+      // _w = Arrays.copyOf(_w, size());  FIXME JDK 1.6
+      double[] u = new double[size()];
+      System.arraycopy(_w, 0, u, 0, u.length);
+      _w = u;      
+    }
   }
 
 // -- Object methods :  --------------------------------------------------------
@@ -303,7 +321,13 @@
   /** Returns a shallow copy of this <tt>WeightedList</tt> instance. */
   public WeightedList<E> clone() {
     WeightedList<E> newList = new WeightedList<E>(this);
-    newList._w = (_w == null) ? null : Arrays.copyOf(_w, size());
+    // newList._w = (_w == null) ? null : Arrays.copyOf(_w, size());  FIXME JDK 1.6
+    if (_w == null) {
+      newList._w = null;
+    } else {
+      newList._w = new double[size()];
+      System.arraycopy(_w, 0, newList._w, 0, size());
+    }
     return newList;
   }
 
CVSspam 0.2.8