Greetings all!!!!
I have been trying all day to get, what I think, is a simple process to work. I can never
get it to think the account is NOT locked. No matter what value I set the locked variable
to it always takes the default transition. I have tried every style of condition I could
find referenced in this forum all to no avail.
Any and all help would be appreciated.
Earnie!
processdefinition.xml
<?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition
| xmlns="urn:jbpm.org:jpdl-3.1" name="test2">
| <start-state name="BeginLogin">
| <transition name="toCheckForLock"
to="CheckForLockedAccount"></transition>
| </start-state>
| <end-state name="End"></end-state>
| <decision name="CheckForLockedAccount">
| <transition name="Account is locked"
to="AccountIsLocked"></transition>
| <transition name="Account is not locked"
to="AccountIsNotLocked">
| <condition expression="#{contextInstance.variables['locked'] ==
'N'}"/>
| </transition>
| </decision>
| <node name="AccountIsLocked">
| <controller>
| <variable name="message">Is</variable>
| </controller>
| <transition name="toEnd" to="End"></transition>
| </node>
| <node name="AccountIsNotLocked">
| <controller>
| <variable name="message">Is NOT</variable>
| </controller>
| <transition name="toEnd" to="End"></transition>
| </node>
| </process-definition>
test case:
package com.sample;
|
| import java.io.FileInputStream;
|
| import junit.framework.TestCase;
|
| import org.jbpm.*;
| import org.jbpm.graph.def.ProcessDefinition;
| import org.jbpm.graph.exe.ProcessInstance;
|
| public class SimpleProcessTest extends TestCase {
| public void testSimpleProcess() throws Exception {
| JbpmConfiguration cfg = JbpmConfiguration.getInstance();
| JbpmContext ctx = cfg.createJbpmContext();
| try {
| FileInputStream fis = new
FileInputStream("processes/test2/processdefinition.xml");
| ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(fis);
| ctx.deployProcessDefinition(processDefinition);
|
| ProcessInstance instance =
ctx.getGraphSession().findLatestProcessDefinition("test2").createProcessInstance();
|
| instance.getContextInstance().setVariable("locked","N");
|
| instance.signal();
|
System.out.println(instance.getContextInstance().getVariable("message") + "
Locked? " + instance.getContextInstance().getVariable("locked"));
| } finally {
| ctx.close();
| cfg.close();
| }
| }
|
| }
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970827#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...