[jboss-user] [JBoss jBPM] - Help getting a condition to work
earniedyke
do-not-reply at jboss.com
Mon Sep 11 15:22:11 EDT 2006
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#3970827
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970827
More information about the jboss-user
mailing list