r9777 - helma-ng/trunk/src/org/helma/util

[email protected] Thu, 14 May 2009 23:43:10 +0200 (CEST)
Newsgroups gmane.comp.java.helma.cvs
Message-ID <20090514214310.A3DE23D0D6@mia>
Author: hannes
Date: 2009-05-14 23:43:10 +0200 (Thu, 14 May 2009)
New Revision: 9777

Modified:
   helma-ng/trunk/src/org/helma/util/ScriptableList.java
Log:
Make ScriptableList constructor accept more argument types.

Details at http://dev.helma.org/trac/helma/changeset/9777

Modified: helma-ng/trunk/src/org/helma/util/ScriptableList.java
===================================================================
--- helma-ng/trunk/src/org/helma/util/ScriptableList.java	2009-05-14 21:43:08 UTC (rev 9776)
+++ helma-ng/trunk/src/org/helma/util/ScriptableList.java	2009-05-14 21:43:10 UTC (rev 9777)
@@ -20,6 +20,8 @@
 
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
 
 /**
  * ScriptableList is a wrapper for java.util.List instances that allows developers 
@@ -58,6 +60,10 @@
         }
         if (obj instanceof List) {
             this.javaObject = this.list = (List) obj;
+        } else if (obj instanceof Collection) {
+            this.javaObject = this.list = new ArrayList<Object>((Collection<?>) obj);
+        } else if (obj instanceof Map) {
+            this.javaObject = this.list = new ArrayList<Object>(((Map<?,?>)obj).values());
         } else if (obj == Undefined.instance) {
             this.javaObject = this.list = new ArrayList();
         } else {