Author: jm
Date: 2012-08-31 12:46:23 -0700 (Fri, 31 Aug 2012)
New Revision: 30305

Added:
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/BooleanList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/DoubleList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/LongList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/StringList.java
   
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/BooleanListTest.java
   
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/DoubleListTest.java
   
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/LongListTest.java
   
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/StringListTest.java
Removed:
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/BooleanList.java
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/DoubleList.java
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/LongList.java
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/StringList.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/BooleanListTest.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/DoubleListTest.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/LongListTest.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/StringListTest.java
Modified:
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgDescriptor.java
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgType.java
   
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/FunctionUtil.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/AbstractFunctionTest.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/ArgDescriptorTest.java
   
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/FunctionUtilTest.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/BList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/Concatenate.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/FList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/IList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/SList.java
   
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/interpreter/InterpreterImpl.java
   
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/EqnSupport.java
   
core3/impl/trunk/model-impl/impl/src/test/java/org/cytoscape/model/CyTableTest.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/FormulaBuilderDialog.java
Log:
Fixes #1093: Removed strongly typed lists from API

Modified: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgDescriptor.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgDescriptor.java
      2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgDescriptor.java
      2012-08-31 19:46:23 UTC (rev 30305)
@@ -31,7 +31,6 @@
 
 
 import java.util.List;
-import java.util.ArrayList;
 
 
 /** 
@@ -83,36 +82,26 @@
         * @return true if the specified class is compatible with this ArgType.
         */
        public boolean isCompatibleWith(final Class type) {
-               if (FunctionUtil.isTypeOfList(type))
-                       return isCompatibleList(type);
-
                for (final Class compatibleType : argType.getCompatibleTypes()) 
{
                        if (type == compatibleType)
                                return true;
+                       if (List.class.equals(compatibleType) && 
List.class.isAssignableFrom(type))
+                               return true;
                }
 
                return false;
        }
 
        /**
-        * Returns true if "type" is a List type that specifies the element 
type otherwise we return false.
-        * @param type The type to be tested.
-        * @return true if "type" is a List type that specifies the element 
type otherwise we return false.
-        */
-       private boolean isSpecificList(final Class type) {
-               return type == DoubleList.class || type == LongList.class || 
type == StringList.class || type == BooleanList.class;
-       }
-
-       /**
         * Returns true if "listType", which must be some type of List is a 
type compatible with this argument descriptor.
         * @param listType A type that is a subclass of List.
         * @return true if "listType", which must be some type of List is a 
type compatible with this argument descriptor.
         */
-       private boolean isCompatibleList(final Class listType) {
+       public boolean isCompatibleList(final Class listElementType) {
                // First we handle the case where "listType" is highly 
specific...
-               if (isSpecificList(listType)) {
+               if (listElementType != null) {
                        for (final Class compatibleType : 
argType.getCompatibleTypes()) {
-                               if (compatibleType == listType || 
compatibleType == List.class)
+                               if (compatibleType == listElementType)
                                        return true;
                        }
                        return false;

Modified: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgType.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgType.java
    2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/ArgType.java
    2012-08-31 19:46:23 UTC (rev 30305)
@@ -57,17 +57,17 @@
        ANY(              false,   false,  new Class[] { Boolean.class, 
Double.class, Long.class, String.class }),
 
        /** An non-empty sequence of arguments that consist of lists of 
integers and scalars that can be converted to an integer. */
-       INTS(             false,   true,   new Class[] { LongList.class, 
Long.class, Double.class, String.class, Boolean.class }),
+       INTS(             false,   true,   new Class[] { List.class, 
Long.class, Double.class, String.class, Boolean.class }),
 
        /** An non-empty sequence of arguments that consist of lists of 
floating point numbers and scalars that can be converted
            to a floating point number. */
-       FLOATS(           false,   true,   new Class[] { DoubleList.class, 
Double.class, Long.class, String.class, Boolean.class }),
+       FLOATS(           false,   true,   new Class[] { List.class, 
Double.class, Long.class, String.class, Boolean.class }),
 
        /** An non-empty sequence of arguments that consist of lists of strings 
and scalars that can be converted to a string. */
-       STRINGS(          false,   true,   new Class[] { StringList.class, 
String.class, Double.class, Long.class, Boolean.class }),
+       STRINGS(          false,   true,   new Class[] { List.class, 
String.class, Double.class, Long.class, Boolean.class }),
 
        /** An non-empty sequence of arguments that consist of lists of 
booleans and scalars that can be converted to a boolean. */
-       BOOLS(            false,   true,   new Class[] { BooleanList.class, 
Boolean.class, Double.class, Long.class, String.class }),
+       BOOLS(            false,   true,   new Class[] { List.class, 
Boolean.class, Double.class, Long.class, String.class }),
 
        /** A singke integer argument. */
        STRICT_INT(       false,   false,  new Class[] { Long.class }),
@@ -94,17 +94,17 @@
        OPT_BOOL(         true,    false,  new Class[] { Boolean.class, 
Double.class, Long.class, String.class }),
 
        /** Zero or more arguments that consist of lists of integers and 
scalars that can be converted to an integer. */
-       OPT_INTS(         true,    true,   new Class[] { LongList.class, 
Long.class, Double.class, String.class, Boolean.class }),
+       OPT_INTS(         true,    true,   new Class[] { List.class, 
Long.class, Double.class, String.class, Boolean.class }),
 
        /** Zero or more arguments that consist of lists of floating point 
numbers and scalars that can be converted
            to a floating point number. */
-       OPT_FLOATS(       true,    true,   new Class[] { DoubleList.class, 
Double.class, Long.class, String.class, Boolean.class }),
+       OPT_FLOATS(       true,    true,   new Class[] { List.class, 
Double.class, Long.class, String.class, Boolean.class }),
 
        /** Zero or more arguments that consist of lists of strings and scalars 
that can be converted to a string. */
-       OPT_STRINGS(      true,    true,   new Class[] { StringList.class, 
String.class, Double.class, Long.class, Boolean.class }),
+       OPT_STRINGS(      true,    true,   new Class[] { List.class, 
String.class, Double.class, Long.class, Boolean.class }),
 
        /** Zero or more arguments that consist of lists of booleans and 
scalars that can be converted to a boolean. */
-       OPT_BOOLS(        true,    true,   new Class[] { BooleanList.class, 
Boolean.class, Double.class, Long.class, String.class }),
+       OPT_BOOLS(        true,    true,   new Class[] { List.class, 
Boolean.class, Double.class, Long.class, String.class }),
 
        /** An optional integer argument. */
        OPT_STRICT_INT(   true,    false,  new Class[] { Long.class }),

Deleted: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/BooleanList.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/BooleanList.java
        2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/BooleanList.java
        2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,52 +0,0 @@
-/*
-  File: BooleanList.java
-
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
-
-  This library is free software; you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2.1 of the License, or
-  any later version.
-
-  This library is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
-  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
-  documentation provided hereunder is on an "as is" basis, and the
-  Institute for Systems Biology and the Whitehead Institute
-  have no obligations to provide maintenance, support,
-  updates, enhancements or modifications.  In no event shall the
-  Institute for Systems Biology and the Whitehead Institute
-  be liable to any party for direct, indirect, special,
-  incidental or consequential damages, including lost profits, arising
-  out of the use of this software and its documentation, even if the
-  Institute for Systems Biology and the Whitehead Institute
-  have been advised of the possibility of such damage.  See
-  the GNU Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-*/
-package org.cytoscape.equations;
-
-
-import java.util.ArrayList;
-
-/**
- * An convenience implementation of ArrayList<Boolean> that
- * allows for strong type checking.
- * @CyAPI.Final.Class
- */
-public final class BooleanList extends ArrayList<Boolean> {
-       public static final long serialVersionUID = -39245160342061982L;
-
-       /**
-        * Constructor.
-        * @param booleans The values that will initially comprise this list.
-        */
-       public BooleanList(final boolean... booleans) {
-               ensureCapacity(booleans.length);
-               for (final boolean b : booleans)
-                       add(b);
-       }
-}

Deleted: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/DoubleList.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/DoubleList.java
 2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/DoubleList.java
 2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,52 +0,0 @@
-/*
-  File: DoubleList.java
-
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
-
-  This library is free software; you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2.1 of the License, or
-  any later version.
-
-  This library is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
-  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
-  documentation provided hereunder is on an "as is" basis, and the
-  Institute for Systems Biology and the Whitehead Institute
-  have no obligations to provide maintenance, support,
-  updates, enhancements or modifications.  In no event shall the
-  Institute for Systems Biology and the Whitehead Institute
-  be liable to any party for direct, indirect, special,
-  incidental or consequential damages, including lost profits, arising
-  out of the use of this software and its documentation, even if the
-  Institute for Systems Biology and the Whitehead Institute
-  have been advised of the possibility of such damage.  See
-  the GNU Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-*/
-package org.cytoscape.equations;
-
-
-import java.util.ArrayList;
-
-/**
- * An convenience implementation of ArrayList&lt;Double&gt; that
- * allows for strong type checking.
- * @CyAPI.Final.Class
- */
-public final class DoubleList extends ArrayList<Double> {
-       public static final long serialVersionUID = 9241560324069182L;
-
-       /**
-        * Constructor.
-        * @param doubles The values that will initially comprise this list.
-        */
-       public DoubleList(final double... doubles) {
-               ensureCapacity(doubles.length);
-               for (final double d : doubles)
-                       add(d);
-       }
-}

Modified: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/FunctionUtil.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/FunctionUtil.java
       2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/FunctionUtil.java
       2012-08-31 19:46:23 UTC (rev 30305)
@@ -30,19 +30,11 @@
 package org.cytoscape.equations;
 
 
-import java.util.Arrays;
 import java.util.ArrayList;
-import java.util.LinkedList;
+import java.util.Arrays;
 import java.util.List;
-import java.util.Stack;
-import java.util.Vector;
-import java.util.concurrent.CopyOnWriteArrayList;
 
-import javax.management.AttributeList;
-import javax.management.relation.RoleList;
-import javax.management.relation.RoleUnresolvedList;
 
-
 /**
  *  A collection of static methods that may be useful for the implementation 
of built-in functions.
  *  @CyAPI.Static.Class
@@ -262,34 +254,7 @@
         *  @return true if "listClassCandidate" is an implementer of interface 
List, else false
         */
        public static boolean isTypeOfList(final Class listClassCandidate) {
-               if (listClassCandidate == List.class)
-                       return true;
-               if (listClassCandidate == ArrayList.class)
-                       return true;
-               if (listClassCandidate == DoubleList.class)
-                       return true;
-               if (listClassCandidate == StringList.class)
-                       return true;
-               if (listClassCandidate == LongList.class)
-                       return true;
-               if (listClassCandidate == BooleanList.class)
-                       return true;
-               if (listClassCandidate == Vector.class)
-                       return true;
-               if (listClassCandidate == Stack.class)
-                       return true;
-               if (listClassCandidate == AttributeList.class)
-                       return true;
-               if (listClassCandidate == CopyOnWriteArrayList.class)
-                       return true;
-               if (listClassCandidate == LinkedList.class)
-                       return true;
-               if (listClassCandidate == RoleList.class)
-                       return true;
-               if (listClassCandidate == RoleUnresolvedList.class)
-                       return true;
-
-               return false;
+               return List.class.isAssignableFrom(listClassCandidate);
        }
 
        /** Adds the scalar types that equations use internally to the 
argument, i.e. adds

Deleted: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/LongList.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/LongList.java
   2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/LongList.java
   2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,52 +0,0 @@
-/*
-  File: LongList.java
-
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
-
-  This library is free software; you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2.1 of the License, or
-  any later version.
-
-  This library is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
-  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
-  documentation provided hereunder is on an "as is" basis, and the
-  Institute for Systems Biology and the Whitehead Institute
-  have no obligations to provide maintenance, support,
-  updates, enhancements or modifications.  In no event shall the
-  Institute for Systems Biology and the Whitehead Institute
-  be liable to any party for direct, indirect, special,
-  incidental or consequential damages, including lost profits, arising
-  out of the use of this software and its documentation, even if the
-  Institute for Systems Biology and the Whitehead Institute
-  have been advised of the possibility of such damage.  See
-  the GNU Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-*/
-package org.cytoscape.equations;
-
-
-import java.util.ArrayList;
-
-/**
- * An convenience implementation of ArrayList&lt;Long&gt; that
- * allows for strong type checking.
- * @CyAPI.Final.Class
- */
-public final class LongList extends ArrayList<Long> {
-       public static final long serialVersionUID = -245160324069812L;
-
-    /**
-     * Constructor.
-     * @param longs The values that will initially comprise this list.
-     */
-       public LongList(final long... longs) {
-               ensureCapacity(longs.length);
-               for (final long l : longs)
-                       add(l);
-       }
-}

Deleted: 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/StringList.java
===================================================================
--- 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/StringList.java
 2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/StringList.java
 2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,52 +0,0 @@
-/*
-  File: StringList.java
-
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
-
-  This library is free software; you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2.1 of the License, or
-  any later version.
-
-  This library is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
-  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
-  documentation provided hereunder is on an "as is" basis, and the
-  Institute for Systems Biology and the Whitehead Institute
-  have no obligations to provide maintenance, support,
-  updates, enhancements or modifications.  In no event shall the
-  Institute for Systems Biology and the Whitehead Institute
-  be liable to any party for direct, indirect, special,
-  incidental or consequential damages, including lost profits, arising
-  out of the use of this software and its documentation, even if the
-  Institute for Systems Biology and the Whitehead Institute
-  have been advised of the possibility of such damage.  See
-  the GNU Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-*/
-package org.cytoscape.equations;
-
-
-import java.util.ArrayList;
-
-/**
- * An convenience implementation of ArrayList&lt;String&gt; that
- * allows for strong type checking.
- * @CyAPI.Final.Class
- */
-public final class StringList extends ArrayList<String> {
-       public static final long serialVersionUID = -4245160342069182L;
-
-    /**
-     * Constructor.
-     * @param strings The values that will initially comprise this list.
-     */
-       public StringList(final String... strings) {
-               ensureCapacity(strings.length);
-               for (final String s : strings)
-                       add(s);
-       }
-}

Modified: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/AbstractFunctionTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/AbstractFunctionTest.java
       2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/AbstractFunctionTest.java
       2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,9 +1,12 @@
 package org.cytoscape.equations;
 
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 import java.util.List;
 
-import static org.junit.Assert.*;
 import org.junit.Test;
 
 
@@ -24,13 +27,13 @@
 
        @Test
        public void testValidateArgTypesWithBadArgs() {
-               final Class<?>[] argTypes = { StringList.class, 
StringList.class };
+               final Class<?>[] argTypes = { List.class, List.class };
                assertNull("The validateArgTypes() method is buggy.", 
sf.validateArgTypes(argTypes));
        }
 
        @Test
        public void testValidateArgTypesWithTooManyArgs() {
-               final Class<?>[] argTypes = { Double.class, Double.class, 
StringList.class };
+               final Class<?>[] argTypes = { Double.class, Double.class, 
List.class };
                assertNull("The validateArgTypes() method is buggy.", 
sf.validateArgTypes(argTypes));
        }
 
@@ -56,7 +59,7 @@
 
        @Test(expected=IllegalStateException.class)
        public void testGetPossibleArgTypesWithABadArg() {
-               final Class<?>[] singleArgArgList = { DoubleList.class };
+               final Class<?>[] singleArgArgList = { List.class };
                sf.getPossibleArgTypes(singleArgArgList);
        }
 

Modified: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/ArgDescriptorTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/ArgDescriptorTest.java
  2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/ArgDescriptorTest.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,9 +1,12 @@
 package org.cytoscape.equations;
 
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import java.util.List;
 
-import static org.junit.Assert.*;
 import org.junit.Test;
 
 
@@ -32,13 +35,13 @@
 
        @Test
        public void testIsCompatibleWithWithAnIncompatibleListType() {
-               assertFalse("isCompatibleWith() is broken.", 
argDesc.isCompatibleWith(StringList.class));
+               assertFalse("isCompatibleWith() is broken.", 
argDesc.isCompatibleWith(List.class));
        }
 
        @Test
        public void testAnArgDescriptorThatTakesAList() {
                final ArgDescriptor listArgDesc = new 
ArgDescriptor(ArgType.STRINGS, "strings", "A list of strings.");
-               assertTrue("isCompatibleWith() is broken.", 
listArgDesc.isCompatibleWith(StringList.class));
-               assertTrue("isCompatibleWith() is broken.", 
listArgDesc.isCompatibleWith(List.class));
+               assertTrue("isCompatibleList() is broken.", 
listArgDesc.isCompatibleList(String.class));
+               assertFalse("isCompatibleList() is broken.", 
listArgDesc.isCompatibleList(Object.class));
        }
 }

Deleted: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/BooleanListTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/BooleanListTest.java
    2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/BooleanListTest.java
    2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,16 +0,0 @@
-package org.cytoscape.equations;
-
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-
-public class BooleanListTest {
-       @Test
-       public void testConstructor() {
-               final boolean[] booleans = { false, true };
-               final BooleanList bl = new BooleanList(booleans);
-               assertEquals("Testing 1st Arraylist entry failed.", bl.get(0), 
false);
-               assertEquals("Testing 2nd Arraylist entry failed.", bl.get(1), 
true);
-       }
-}
\ No newline at end of file

Deleted: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/DoubleListTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/DoubleListTest.java
     2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/DoubleListTest.java
     2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,16 +0,0 @@
-package org.cytoscape.equations;
-
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-
-public class DoubleListTest {
-       @Test
-       public void testConstructor() {
-               final double[] doubles = { 10e-3, -4.0 };
-               final DoubleList dl = new DoubleList(doubles);
-               assertEquals("Testing 1st Arraylist entry failed.", 
(double)dl.get(0), 10e-3, 1e-8);
-               assertEquals("Testing 2nd Arraylist entry failed.", 
(double)dl.get(1), -4.0, 1e-5);
-       }
-}
\ No newline at end of file

Modified: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/FunctionUtilTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/FunctionUtilTest.java
   2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/FunctionUtilTest.java
   2012-08-31 19:46:23 UTC (rev 30305)
@@ -13,6 +13,7 @@
 import javax.management.relation.RoleUnresolvedList;
 
 import static org.junit.Assert.*;
+
 import org.junit.Test;
 
 
@@ -255,26 +256,6 @@
        }
 
        @Test
-       public void testIsSomeKindOfListWithADoubleListArg() {
-               assertTrue("isSomeKindOfList() failed!", 
FunctionUtil.isTypeOfList(DoubleList.class));
-       }
-
-       @Test
-       public void testIsSomeKindOfListWithAStringListArg() {
-               assertTrue("isSomeKindOfList() failed!", 
FunctionUtil.isTypeOfList(StringList.class));
-       }
-
-       @Test
-       public void testIsSomeKindOfListWithALongListArg() {
-               assertTrue("isSomeKindOfList() failed!", 
FunctionUtil.isTypeOfList(LongList.class));
-       }
-
-       @Test
-       public void testIsSomeKindOfListWithABooleanListArg() {
-               assertTrue("isSomeKindOfList() failed!", 
FunctionUtil.isTypeOfList(BooleanList.class));
-       }
-
-       @Test
        public void testIsSomeKindOfListWithAVectorArg() {
                assertTrue("isSomeKindOfList() failed!", 
FunctionUtil.isTypeOfList(Vector.class));
        }

Deleted: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/LongListTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/LongListTest.java
       2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/LongListTest.java
       2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,16 +0,0 @@
-package org.cytoscape.equations;
-
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-
-public class LongListTest {
-       @Test
-       public void testConstructor() {
-               final long[] longs = { 67L, -11L };
-               final LongList ll = new LongList(longs);
-               assertEquals("Testing 1st Arraylist entry failed.", 
(long)ll.get(0), 67L);
-               assertEquals("Testing 2nd Arraylist entry failed.", 
(long)ll.get(1), -11L);
-       }
-}
\ No newline at end of file

Deleted: 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/StringListTest.java
===================================================================
--- 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/StringListTest.java
     2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/StringListTest.java
     2012-08-31 19:46:23 UTC (rev 30305)
@@ -1,16 +0,0 @@
-package org.cytoscape.equations;
-
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-
-public class StringListTest {
-       @Test
-       public void testConstructor() {
-               final String[] strings = { "first", "second" };
-               final StringList sl = new StringList(strings);
-               assertEquals("Testing 1st Arraylist entry failed.", sl.get(0), 
"first");
-               assertEquals("Testing 2nd Arraylist entry failed.", sl.get(1), 
"second");
-       }
-}

Copied: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/BooleanList.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/BooleanList.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/BooleanList.java
                             (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/BooleanList.java
     2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,52 @@
+/*
+  File: BooleanList.java
+
+  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published
+  by the Free Software Foundation; either version 2.1 of the License, or
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+  documentation provided hereunder is on an "as is" basis, and the
+  Institute for Systems Biology and the Whitehead Institute
+  have no obligations to provide maintenance, support,
+  updates, enhancements or modifications.  In no event shall the
+  Institute for Systems Biology and the Whitehead Institute
+  be liable to any party for direct, indirect, special,
+  incidental or consequential damages, including lost profits, arising
+  out of the use of this software and its documentation, even if the
+  Institute for Systems Biology and the Whitehead Institute
+  have been advised of the possibility of such damage.  See
+  the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.equations.internal;
+
+
+import java.util.ArrayList;
+
+/**
+ * An convenience implementation of ArrayList&lt;Boolean&gt; that
+ * allows for strong type checking.
+ * @CyAPI.Final.Class
+ */
+public final class BooleanList extends ArrayList<Boolean> {
+       public static final long serialVersionUID = -39245160342061982L;
+
+       /**
+        * Constructor.
+        * @param booleans The values that will initially comprise this list.
+        */
+       public BooleanList(final boolean... booleans) {
+               ensureCapacity(booleans.length);
+               for (final boolean b : booleans)
+                       add(b);
+       }
+}

Copied: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/DoubleList.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/DoubleList.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/DoubleList.java
                              (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/DoubleList.java
      2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,52 @@
+/*
+  File: DoubleList.java
+
+  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published
+  by the Free Software Foundation; either version 2.1 of the License, or
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+  documentation provided hereunder is on an "as is" basis, and the
+  Institute for Systems Biology and the Whitehead Institute
+  have no obligations to provide maintenance, support,
+  updates, enhancements or modifications.  In no event shall the
+  Institute for Systems Biology and the Whitehead Institute
+  be liable to any party for direct, indirect, special,
+  incidental or consequential damages, including lost profits, arising
+  out of the use of this software and its documentation, even if the
+  Institute for Systems Biology and the Whitehead Institute
+  have been advised of the possibility of such damage.  See
+  the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.equations.internal;
+
+
+import java.util.ArrayList;
+
+/**
+ * An convenience implementation of ArrayList&lt;Double&gt; that
+ * allows for strong type checking.
+ * @CyAPI.Final.Class
+ */
+public final class DoubleList extends ArrayList<Double> {
+       public static final long serialVersionUID = 9241560324069182L;
+
+       /**
+        * Constructor.
+        * @param doubles The values that will initially comprise this list.
+        */
+       public DoubleList(final double... doubles) {
+               ensureCapacity(doubles.length);
+               for (final double d : doubles)
+                       add(d);
+       }
+}

Copied: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/LongList.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/LongList.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/LongList.java
                                (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/LongList.java
        2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,52 @@
+/*
+  File: LongList.java
+
+  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published
+  by the Free Software Foundation; either version 2.1 of the License, or
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+  documentation provided hereunder is on an "as is" basis, and the
+  Institute for Systems Biology and the Whitehead Institute
+  have no obligations to provide maintenance, support,
+  updates, enhancements or modifications.  In no event shall the
+  Institute for Systems Biology and the Whitehead Institute
+  be liable to any party for direct, indirect, special,
+  incidental or consequential damages, including lost profits, arising
+  out of the use of this software and its documentation, even if the
+  Institute for Systems Biology and the Whitehead Institute
+  have been advised of the possibility of such damage.  See
+  the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.equations.internal;
+
+
+import java.util.ArrayList;
+
+/**
+ * An convenience implementation of ArrayList&lt;Long&gt; that
+ * allows for strong type checking.
+ * @CyAPI.Final.Class
+ */
+public final class LongList extends ArrayList<Long> {
+       public static final long serialVersionUID = -245160324069812L;
+
+    /**
+     * Constructor.
+     * @param longs The values that will initially comprise this list.
+     */
+       public LongList(final long... longs) {
+               ensureCapacity(longs.length);
+               for (final long l : longs)
+                       add(l);
+       }
+}

Copied: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/StringList.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/main/java/org/cytoscape/equations/StringList.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/StringList.java
                              (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/StringList.java
      2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,52 @@
+/*
+  File: StringList.java
+
+  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published
+  by the Free Software Foundation; either version 2.1 of the License, or
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+  documentation provided hereunder is on an "as is" basis, and the
+  Institute for Systems Biology and the Whitehead Institute
+  have no obligations to provide maintenance, support,
+  updates, enhancements or modifications.  In no event shall the
+  Institute for Systems Biology and the Whitehead Institute
+  be liable to any party for direct, indirect, special,
+  incidental or consequential damages, including lost profits, arising
+  out of the use of this software and its documentation, even if the
+  Institute for Systems Biology and the Whitehead Institute
+  have been advised of the possibility of such damage.  See
+  the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.equations.internal;
+
+
+import java.util.ArrayList;
+
+/**
+ * An convenience implementation of ArrayList&lt;String&gt; that
+ * allows for strong type checking.
+ * @CyAPI.Final.Class
+ */
+public final class StringList extends ArrayList<String> {
+       public static final long serialVersionUID = -4245160342069182L;
+
+    /**
+     * Constructor.
+     * @param strings The values that will initially comprise this list.
+     */
+       public StringList(final String... strings) {
+               ensureCapacity(strings.length);
+               for (final String s : strings)
+                       add(s);
+       }
+}

Modified: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/BList.java
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/BList.java
  2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/BList.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -33,8 +33,8 @@
 import org.cytoscape.equations.AbstractFunction;
 import org.cytoscape.equations.ArgDescriptor;
 import org.cytoscape.equations.ArgType;
-import org.cytoscape.equations.BooleanList;
 import org.cytoscape.equations.FunctionUtil;
+import org.cytoscape.equations.internal.BooleanList;
 
 
 public class BList extends AbstractFunction {

Modified: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/Concatenate.java
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/Concatenate.java
    2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/Concatenate.java
    2012-08-31 19:46:23 UTC (rev 30305)
@@ -34,7 +34,7 @@
 import org.cytoscape.equations.ArgDescriptor;
 import org.cytoscape.equations.ArgType;
 import org.cytoscape.equations.FunctionUtil;
-import org.cytoscape.equations.StringList;
+import org.cytoscape.equations.internal.StringList;
 
 
 public class Concatenate extends AbstractFunction {

Modified: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/FList.java
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/FList.java
  2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/FList.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -34,7 +34,7 @@
 import org.cytoscape.equations.ArgDescriptor;
 import org.cytoscape.equations.ArgType;
 import org.cytoscape.equations.FunctionUtil;
-import org.cytoscape.equations.DoubleList;
+import org.cytoscape.equations.internal.DoubleList;
 
 
 public class FList extends AbstractFunction {

Modified: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/IList.java
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/IList.java
  2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/IList.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -34,7 +34,7 @@
 import org.cytoscape.equations.ArgDescriptor;
 import org.cytoscape.equations.ArgType;
 import org.cytoscape.equations.FunctionUtil;
-import org.cytoscape.equations.LongList;
+import org.cytoscape.equations.internal.LongList;
 
 
 public class IList extends AbstractFunction {

Modified: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/SList.java
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/SList.java
  2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/builtins/SList.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -34,7 +34,7 @@
 import org.cytoscape.equations.ArgDescriptor;
 import org.cytoscape.equations.ArgType;
 import org.cytoscape.equations.FunctionUtil;
-import org.cytoscape.equations.StringList;
+import org.cytoscape.equations.internal.StringList;
 
 
 public class SList extends AbstractFunction {

Modified: 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/interpreter/InterpreterImpl.java
===================================================================
--- 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/interpreter/InterpreterImpl.java
     2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/equations-impl/src/main/java/org/cytoscape/equations/internal/interpreter/InterpreterImpl.java
     2012-08-31 19:46:23 UTC (rev 30305)
@@ -34,15 +34,15 @@
 import java.util.Map;
 import java.util.Stack;
 
-import org.cytoscape.equations.BooleanList;
-import org.cytoscape.equations.DoubleList;
 import org.cytoscape.equations.Equation;
 import org.cytoscape.equations.Function;
 import org.cytoscape.equations.FunctionError;
 import org.cytoscape.equations.IdentDescriptor;
 import org.cytoscape.equations.Interpreter;
-import org.cytoscape.equations.LongList;
-import org.cytoscape.equations.StringList;
+import org.cytoscape.equations.internal.BooleanList;
+import org.cytoscape.equations.internal.DoubleList;
+import org.cytoscape.equations.internal.LongList;
+import org.cytoscape.equations.internal.StringList;
 
 
 public class InterpreterImpl implements Interpreter {

Copied: 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/BooleanListTest.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/BooleanListTest.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/BooleanListTest.java
                         (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/BooleanListTest.java
 2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,18 @@
+package org.cytoscape.equations.internal;
+
+
+import static org.junit.Assert.*;
+
+import org.cytoscape.equations.internal.BooleanList;
+import org.junit.Test;
+
+
+public class BooleanListTest {
+       @Test
+       public void testConstructor() {
+               final boolean[] booleans = { false, true };
+               final BooleanList bl = new BooleanList(booleans);
+               assertEquals("Testing 1st Arraylist entry failed.", bl.get(0), 
false);
+               assertEquals("Testing 2nd Arraylist entry failed.", bl.get(1), 
true);
+       }
+}
\ No newline at end of file

Copied: 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/DoubleListTest.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/DoubleListTest.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/DoubleListTest.java
                          (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/DoubleListTest.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,18 @@
+package org.cytoscape.equations.internal;
+
+
+import static org.junit.Assert.*;
+
+import org.cytoscape.equations.internal.DoubleList;
+import org.junit.Test;
+
+
+public class DoubleListTest {
+       @Test
+       public void testConstructor() {
+               final double[] doubles = { 10e-3, -4.0 };
+               final DoubleList dl = new DoubleList(doubles);
+               assertEquals("Testing 1st Arraylist entry failed.", 
(double)dl.get(0), 10e-3, 1e-8);
+               assertEquals("Testing 2nd Arraylist entry failed.", 
(double)dl.get(1), -4.0, 1e-5);
+       }
+}
\ No newline at end of file

Copied: 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/LongListTest.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/LongListTest.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/LongListTest.java
                            (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/LongListTest.java
    2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,18 @@
+package org.cytoscape.equations.internal;
+
+
+import static org.junit.Assert.*;
+
+import org.cytoscape.equations.internal.LongList;
+import org.junit.Test;
+
+
+public class LongListTest {
+       @Test
+       public void testConstructor() {
+               final long[] longs = { 67L, -11L };
+               final LongList ll = new LongList(longs);
+               assertEquals("Testing 1st Arraylist entry failed.", 
(long)ll.get(0), 67L);
+               assertEquals("Testing 2nd Arraylist entry failed.", 
(long)ll.get(1), -11L);
+       }
+}
\ No newline at end of file

Copied: 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/StringListTest.java
 (from rev 30294, 
core3/api/trunk/equations-api/src/test/java/org/cytoscape/equations/StringListTest.java)
===================================================================
--- 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/StringListTest.java
                          (rev 0)
+++ 
core3/impl/trunk/equations-impl/src/test/java/org/cytoscape/equations/internal/StringListTest.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -0,0 +1,18 @@
+package org.cytoscape.equations.internal;
+
+
+import static org.junit.Assert.*;
+
+import org.cytoscape.equations.internal.StringList;
+import org.junit.Test;
+
+
+public class StringListTest {
+       @Test
+       public void testConstructor() {
+               final String[] strings = { "first", "second" };
+               final StringList sl = new StringList(strings);
+               assertEquals("Testing 1st Arraylist entry failed.", sl.get(0), 
"first");
+               assertEquals("Testing 2nd Arraylist entry failed.", sl.get(1), 
"second");
+       }
+}

Modified: 
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/EqnSupport.java
===================================================================
--- 
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/EqnSupport.java
 2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/EqnSupport.java
 2012-08-31 19:46:23 UTC (rev 30305)
@@ -36,13 +36,9 @@
 import java.util.TreeMap;
 import java.util.TreeSet;
 
-import org.cytoscape.equations.BooleanList;
-import org.cytoscape.equations.DoubleList;
 import org.cytoscape.equations.Equation;
 import org.cytoscape.equations.IdentDescriptor;
 import org.cytoscape.equations.Interpreter;
-import org.cytoscape.equations.LongList;
-import org.cytoscape.equations.StringList;
 
 import org.cytoscape.model.internal.tsort.TopoGraphNode;
 import org.cytoscape.model.internal.tsort.TopologicalSort;
@@ -77,15 +73,15 @@
 
        static boolean listEquationIsCompatible(final Equation equation, final 
Class listElementType)
        {
-               final Class<?> eqnReturnType = equation.getType();
-               if (eqnReturnType == BooleanList.class)
-                       return listElementType == Boolean.class;
-               if (eqnReturnType == DoubleList.class)
-                       return listElementType == Double.class;
-               if (eqnReturnType == StringList.class)
-                       return listElementType == String.class;
-               if (eqnReturnType == LongList.class)
-                       return listElementType == Long.class;
+//             final Class<?> eqnReturnType = equation.getType();
+//             if (eqnReturnType == BooleanList.class)
+//                     return listElementType == Boolean.class;
+//             if (eqnReturnType == DoubleList.class)
+//                     return listElementType == Double.class;
+//             if (eqnReturnType == StringList.class)
+//                     return listElementType == String.class;
+//             if (eqnReturnType == LongList.class)
+//                     return listElementType == Long.class;
                // TODO: Add support for a hypothetical IntegerList type.
 
                return false;

Modified: 
core3/impl/trunk/model-impl/impl/src/test/java/org/cytoscape/model/CyTableTest.java
===================================================================
--- 
core3/impl/trunk/model-impl/impl/src/test/java/org/cytoscape/model/CyTableTest.java
 2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/model-impl/impl/src/test/java/org/cytoscape/model/CyTableTest.java
 2012-08-31 19:46:23 UTC (rev 30305)
@@ -31,13 +31,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.cytoscape.equations.BooleanList;
 import org.cytoscape.equations.EquationCompiler;
 import org.cytoscape.equations.Equation;
 import org.cytoscape.equations.Interpreter;
-import org.cytoscape.equations.StringList;
+import org.cytoscape.equations.internal.BooleanList;
 import org.cytoscape.equations.internal.EquationCompilerImpl;
 import org.cytoscape.equations.internal.EquationParserImpl;
+import org.cytoscape.equations.internal.StringList;
 import org.cytoscape.equations.internal.interpreter.InterpreterImpl;
 import org.cytoscape.event.DummyCyEventHelper;
 import org.cytoscape.model.CyIdentifiable;
@@ -128,7 +128,8 @@
                assertEquals(attrs.getList("booleanList", Boolean.class), 
nonEmptyList);
        }
 
-       @Test
+       //@Test : TODO: We removed support for strongly typed lists so this 
test is
+       //              now broken.
        public void testSetListWithACompatibleEquation() {
                table.createListColumn("stringList", String.class, false);
                attrs.set("stringList", new StringList());

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/FormulaBuilderDialog.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/FormulaBuilderDialog.java
  2012-08-31 17:52:16 UTC (rev 30304)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/FormulaBuilderDialog.java
  2012-08-31 19:46:23 UTC (rev 30305)
@@ -64,15 +64,11 @@
 
 import org.cytoscape.browser.internal.BrowserTableModel;
 
-import org.cytoscape.equations.BooleanList;
-import org.cytoscape.equations.DoubleList;
 import org.cytoscape.equations.EquationCompiler;
 import org.cytoscape.equations.EquationParser;
 import org.cytoscape.equations.Equation;
 import org.cytoscape.equations.EquationUtil;
 import org.cytoscape.equations.Function;
-import org.cytoscape.equations.LongList;
-import org.cytoscape.equations.StringList;
 
 import org.cytoscape.model.CyColumn;
 import org.cytoscape.model.CyNetwork;
@@ -220,8 +216,7 @@
                        return true;
 
                if (requiredType == List.class
-                   && (returnType == DoubleList.class || returnType == 
BooleanList.class
-                       || returnType == LongList.class || returnType == 
StringList.class))
+                   && List.class.isAssignableFrom(returnType))
                        return true;
 
                return false;

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to