[jboss-svn-commits] JBL Code SVN: r15238 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 19 13:35:17 EDT 2007


Author: KrisVerlaenen
Date: 2007-09-19 13:35:17 -0400 (Wed, 19 Sep 2007)
New Revision: 15238

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/ActionNodeInstanceImpl.java
Log:
JBRULES-1183: Add global support in ruleflow
 - fixed bug with global type defined in import

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/ActionNodeInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/ActionNodeInstanceImpl.java	2007-09-19 16:59:47 UTC (rev 15237)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/ActionNodeInstanceImpl.java	2007-09-19 17:35:17 UTC (rev 15238)
@@ -19,10 +19,14 @@
 import java.io.Serializable;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
+import org.drools.base.ClassTypeResolver;
+import org.drools.base.TypeResolver;
 import org.drools.base.mvel.DroolsMVELFactory;
 import org.drools.ruleflow.core.ActionNode;
 import org.drools.ruleflow.core.impl.DroolsConsequenceAction;
@@ -65,6 +69,9 @@
     		        }
     			}
     		}
+    		Set importSet = new HashSet();
+    		importSet.addAll(imports);
+    		TypeResolver typeResolver = new ClassTypeResolver(importSet, Thread.currentThread().getContextClassLoader());
     		// compile expression
     		Serializable expression = compiler.compile(parserContext);
     		// globals
@@ -74,7 +81,7 @@
     			for (Iterator iterator = globalDefs.entrySet().iterator(); iterator.hasNext(); ) {
     				Map.Entry entry = (Map.Entry) iterator.next();
     				try {
-    					globals.put(entry.getKey(), Class.forName((String) entry.getValue()));
+    					globals.put(entry.getKey(), typeResolver.resolveType((String) entry.getValue()));
     				} catch (ClassNotFoundException exc) {
     					throw new IllegalArgumentException("Could not find type " + entry.getValue() + " of global " + entry.getKey());
     				}




More information about the jboss-svn-commits mailing list