First attempt using drools with jbpm & seam
rramjet Mar 19, 2008 8:21 PMI'm following the instructions in the seam reference guide (1.2.1GA) on how to use drools within jbpm. Result so far in my simple example is that the flow always passes, regardless of what Test.getResult() returns. Can anyone tell me what I'm missing? Thanks!
The test case takes the 'pass' transition to id-approve, a decision node. The decision node always transitions to the fico
node regardless of Test.result.
Test.java ----------------------------------- package org.domain.RealHedge.Signup; import org.jboss.seam.annotations.Name; @Name("test") public class Test { private String result = "BAD"; public void setResult(String result) { this.result = result;|| } public String getResult() { return result; } } acctApproval.drl ----------------------- package AccountApproval import org.domain.RealHedge.Signup.Test import org.jboss.seam.drools.Decision global Decision decision rule "ID Authentication Approval" when Test( result == "GOOD" ) then decision.setOutcome("pass"); end components.xml: ------------------------------------------ <drools:rule-base name="securityRules"> <drools:rule-files> <value>/security.drl</value> </drools:rule-files> </drools:rule-base> <drools:rule-base name="accountApprovalRules"> <drools:rule-files> <value>/accountApproval.drl</value> </drools:rule-files> </drools:rule-base> <drools:managed-working-memory name="accountApprovalWorkingMemory" auto-create="true" rule-base="#{accountApprovalRules}"/> createAcct.jbpm.xml: -------------------- <task-node name="id-start"> <task name="id-start" description="ID Authentication"> <assignment pooled-actors="Administrator"/> </task> <transition name="fail" to="id-review" /> <transition name="pass" to="id-approve"> </transition> </task-node> <task-node name="id-review"> <task name="id-review" description="ID Authentication Review"> <assignment pooled-actors="Customer Service"/> </task> <transition to="id-failure" name="fail"> </transition> <transition to="id-approve" name="pass"> </transition> </task-node> <decision name="id-approve"> <handler class="org.jboss.seam.drools.DroolsDecisionHandler"> <workingMemoryName>accountApprovalWorkingMemory</workingMemoryName> <assertObjects> <element>#{test}</element> </assertObjects> </handler> <transition name="pass" to="fico"> <action class="org.jboss.seam.drools.DroolsActionHandler"> <workingMemoryName>accountApprovalWorkingMemory</workingMemoryName> <assertObjects> <element>#{test}</element> </assertObjects> </action> </transition> <transition to="id-failure"></transition> </decision> <task-node name="fico"> <task name="fico" description="FICO Score"> <assignment pooled-actors="Administrator"/> </task> <transition to="fico-review" name="fail"></transition> <transition to="avm" name="pass"></transition> </task-node>