[jboss-svn-commits] JBL Code SVN: r21436 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: workflow/instance/node and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Aug 11 12:54:35 EDT 2008


Author: KrisVerlaenen
Date: 2008-08-11 12:54:35 -0400 (Mon, 11 Aug 2008)
New Revision: 21436

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ListDataType.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/ForEachNodeInstance.java
Log:
JBRULES-1696: Extends WS-BPEL support

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ListDataType.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ListDataType.java	2008-08-11 16:09:51 UTC (rev 21435)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ListDataType.java	2008-08-11 16:54:35 UTC (rev 21436)
@@ -43,7 +43,14 @@
     public void writeExternal(ObjectOutput out) throws IOException {
         out.writeObject(dataType);
     }
+    
+    public ListDataType() {
+    }
 
+    public ListDataType(DataType dataType) {
+    	setDataType(dataType);
+    }
+
     public void setDataType(final DataType dataType) {
         this.dataType = dataType;
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java	2008-08-11 16:09:51 UTC (rev 21435)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/core/datatype/impl/type/ObjectDataType.java	2008-08-11 16:54:35 UTC (rev 21436)
@@ -32,7 +32,14 @@
     private static final long serialVersionUID = 4L;
 
     private String className;
+    
+    public ObjectDataType() {
+    }
 
+    public ObjectDataType(String className) {
+    	setClassName(className);
+    }
+
     public String getClassName() {
         return className;
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/ForEachNodeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/ForEachNodeInstance.java	2008-08-11 16:09:51 UTC (rev 21435)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/ForEachNodeInstance.java	2008-08-11 16:54:35 UTC (rev 21436)
@@ -1,7 +1,9 @@
 package org.drools.workflow.instance.node;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import org.drools.process.core.context.variable.VariableScope;
@@ -102,7 +104,22 @@
                 throw new IllegalArgumentException(
                     "Could not find collection " + collectionExpression);
             }
-            return (Collection<?>) variableScopeInstance.getVariable(collectionExpression);
+            Object collection = variableScopeInstance.getVariable(collectionExpression);
+            if (collection == null) {
+            	return Collections.EMPTY_LIST;
+            }
+            if (collection instanceof Collection<?>) {
+            	return (Collection<?>) collection;
+            }
+            if (collection.getClass().isArray() ) {
+            	List<Object> list = new ArrayList<Object>();
+            	for (Object o: (Object[]) collection) {
+            		list.add(o);
+            	}
+                return list;
+            }
+            throw new IllegalArgumentException(
+        		"Unexpected collection type: " + collection.getClass());
         }
         
     }




More information about the jboss-svn-commits mailing list