[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