[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