[jboss-svn-commits] JBL Code SVN: r20846 - in labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main: rules/org/drools/examples/process/order and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jun 30 11:17:58 EDT 2008


Author: KrisVerlaenen
Date: 2008-06-30 11:17:58 -0400 (Mon, 30 Jun 2008)
New Revision: 20846

Added:
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/logging.drl
Modified:
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/process/order/OrderExample.java
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/validation.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/workflow_rules.drl
Log:


Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/process/order/OrderExample.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/process/order/OrderExample.java	2008-06-30 14:13:23 UTC (rev 20845)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/process/order/OrderExample.java	2008-06-30 15:17:58 UTC (rev 20846)
@@ -10,6 +10,7 @@
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
+import org.drools.audit.WorkingMemoryFileLogger;
 import org.drools.compiler.PackageBuilder;
 import org.drools.process.instance.impl.demo.UIWorkItemHandler;
 import org.drools.rule.Package;
@@ -20,6 +21,7 @@
 		try {
 			RuleBase ruleBase = createKnowledgeBase();
 			StatefulSession session = ruleBase.newStatefulSession();
+			WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(session); 
 			
 			CustomerService customerService = new DefaultCustomerService();
 			Customer c = new Customer("A-12345");
@@ -52,6 +54,8 @@
 			parameters.put("orderId", order.getOrderId());
 			session.startProcess("org.drools.examples.process.ruleset.RuleSetExample", parameters);
 			session.fireAllRules();
+			
+			logger.writeToDisk();
 		} catch (Throwable t) {
 			t.printStackTrace();
 		}
@@ -68,6 +72,9 @@
 		source = new InputStreamReader(
 			OrderExample.class.getResourceAsStream("validation.drl"));
 		builder.addPackageFromDrl(source);
+		source = new InputStreamReader(
+			OrderExample.class.getResourceAsStream("logging.drl"));
+		builder.addPackageFromDrl(source);
 		RuleBaseConfiguration configuration = new RuleBaseConfiguration();
 		configuration.setAdvancedProcessRuleIntegration(true);
 		RuleBase ruleBase = RuleBaseFactory.newRuleBase(configuration);

Added: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/logging.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/logging.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/logging.drl	2008-06-30 15:17:58 UTC (rev 20846)
@@ -0,0 +1,15 @@
+package org.drools.examples.process.order.logging
+
+import org.drools.process.instance.impl.WorkItemImpl
+import org.drools.workflow.instance.node.WorkItemNodeInstance
+import org.drools.process.core.context.variable.VariableScope
+import org.drools.process.instance.context.variable.VariableScopeInstance
+
+rule "WorkItemLogging" salience 30
+	when
+		workItemNodeInstance: WorkItemNodeInstance( workItemId == -1, node.name == "Correct Order" )
+	    workItem: WorkItemImpl( state == WorkItemImpl.PENDING ) from workItemNodeInstance.getWorkItem()
+	then 
+		VariableScopeInstance variableScopeInstance = (VariableScopeInstance) workItemNodeInstance.getProcessInstance().getContextInstance(VariableScope.VARIABLE_SCOPE);
+		System.out.println("LOGGING: Requesting the correction of order " + variableScopeInstance.getVariable("orderId"));
+end

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/validation.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/validation.drl	2008-06-30 14:13:23 UTC (rev 20845)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/validation.drl	2008-06-30 15:17:58 UTC (rev 20846)
@@ -8,7 +8,7 @@
 		o: Order( )
 		not (Customer( ) from customerService.getCustomer(o.getCustomerId()))
 	then 
-	    System.out.println("Invalid customer id found!");
+	    System.err.println("Invalid customer id found!");
 		o.addError("Invalid customer id");
 end
 
@@ -18,7 +18,7 @@
 		i: Order.OrderItem( ) from o.getOrderItems()
 		not (Item( ) from itemCatalog.getItem(i.getItemId()))
 	then 
-	    System.out.println("Invalid item id found!");
+	    System.err.println("Invalid item id found!");
 		o.addError("Invalid item id " + i.getItemId());
 end
 
@@ -29,7 +29,7 @@
 		oi: Order.OrderItem( ) from o.getOrderItems()
 		i: Item( minimalAge > (c.getAge()) ) from itemCatalog.getItem(oi.getItemId())
 	then 
-	    System.out.println("Minimal age violated!");
+	    System.err.println("Minimal age violated!");
 	    o.addError("Minimal age not met for item " + i.getItemId());
 end
 

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-06-30 14:13:23 UTC (rev 20845)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/process/order/workflow_rules.drl	2008-06-30 15:17:58 UTC (rev 20846)
@@ -1,14 +1,13 @@
-package org.drools.process.workflow
+package org.drools.examples.process.order
 
-import org.drools.process.instance.WorkItem
+import org.drools.process.instance.impl.WorkItemImpl
 import org.drools.workflow.instance.node.WorkItemNodeInstance
 
 rule "Execute Pending Work Item" salience 20
 	when
-	    workItemNodeInstance: WorkItemNodeInstance( workItemId == 0 )
-	    workItem: WorkItem( state == WorkItem.PENDING ) from workItemNodeInstance.getWorkItem()
+	    workItemNodeInstance: WorkItemNodeInstance( workItemId == -1 )
+	    workItem: WorkItemImpl( state == WorkItemImpl.PENDING ) from workItemNodeInstance.getWorkItem()
 	then 
-		System.out.println("Executing work item " + workItem);
 		workItemNodeInstance.getProcessInstance().getWorkingMemory()
 			.getWorkItemManager().internalExecuteWorkItem(workItem);
 		workItemNodeInstance.internalSetWorkItemId(workItem.getId());
@@ -18,14 +17,7 @@
 rule "Complete WorkItemNodeInstance" salience 20
 	when
 	    workItemNodeInstance: WorkItemNodeInstance( )
-		WorkItem( state == WorkItem.COMPLETED ) from workItemNodeInstance.getWorkItem()
+		WorkItemImpl( state == WorkItemImpl.COMPLETED ) from workItemNodeInstance.getWorkItem()
 	then 
-		System.out.println("Completing work item node instance" + workItemNodeInstance);
 		workItemNodeInstance.triggerCompleted();
 end
-
-rule "Test"
-   when
-   then
-       System.out.println("Test");
-end
\ No newline at end of file




More information about the jboss-svn-commits mailing list