[jboss-svn-commits] JBL Code SVN: r23931 - labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Nov 18 21:08:12 EST 2008


Author: KrisVerlaenen
Date: 2008-11-18 21:08:12 -0500 (Tue, 18 Nov 2008)
New Revision: 23931

Modified:
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/workflow_rules.drl
Log:
 - fixed process example

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/workflow_rules.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/workflow_rules.drl	2008-11-19 01:21:27 UTC (rev 23930)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/workflow_rules.drl	2008-11-19 02:08:12 UTC (rev 23931)
@@ -2,7 +2,16 @@
 
 import org.drools.process.instance.impl.WorkItemImpl
 import org.drools.workflow.instance.node.WorkItemNodeInstance
+import org.drools.WorkingMemory
+import org.drools.FactHandle
 
+function void updateIfExists(WorkingMemory workingMemory, Object o) {
+	FactHandle factHandle = workingMemory.getFactHandle(o);
+	if (factHandle != null) {
+		workingMemory.update(factHandle, o);
+	} 
+}
+
 rule "Execute Pending Work Item" salience 20
 	when
 	    workItemNodeInstance: WorkItemNodeInstance( workItemId <= 0 )
@@ -11,13 +20,13 @@
 		workItemNodeInstance.getProcessInstance().getWorkingMemory()
 			.getWorkItemManager().internalExecuteWorkItem(workItem);
 		workItemNodeInstance.internalSetWorkItemId(workItem.getId());
-		update(workItemNodeInstance);
+		updateIfExists(drools.getWorkingMemory(), workItemNodeInstance);
 end
 
 rule "Complete WorkItemNodeInstance" salience 20
 	when
 	    workItemNodeInstance: WorkItemNodeInstance( )
 		WorkItemImpl( state == WorkItemImpl.COMPLETED ) from workItemNodeInstance.getWorkItem()
-	then 
+	then
 		workItemNodeInstance.triggerCompleted();
 end




More information about the jboss-svn-commits mailing list