[jboss-user] [JBoss jBPM] - Skipped process state
don_t
do-not-reply at jboss.com
Wed Nov 19 17:34:57 EST 2008
Hi, I am trying to signal a process state node but its always skipped in my test program. Here is the test program. The process state "p" is skipped. Is there some error on my part?
| iimport java.util.HashMap;
| import java.util.Map;
|
| import junit.framework.TestCase;
|
| import org.dom4j.Element;
| import org.jbpm.graph.def.ProcessDefinition;
| import org.jbpm.graph.exe.ProcessInstance;
| import org.jbpm.graph.node.ProcessState;
| import org.jbpm.graph.node.SubProcessResolver;
|
| public class TestSubprocess extends TestCase {
|
| private static class MapBasedProcessRepository implements SubProcessResolver {
|
| private Map<String,ProcessDefinition> processes =
| new HashMap<String,ProcessDefinition>();
|
| public void add(ProcessDefinition processDefinition) {
| processes.put(processDefinition.getName(), processDefinition);
| }
|
| @Override
| public ProcessDefinition findSubProcess(Element element) {
| // TODO Auto-generated method stub
| return processes.get(element.attributeValue("name"));
| }
| }
|
| public void testProcessInstance() {
|
| MapBasedProcessRepository subProcessResolver = new MapBasedProcessRepository();
| ProcessDefinition subProcessDefinition = ProcessDefinition.parseXmlString(
| "<process-definition name='sub'>" +
| " <start-state>" +
| " <transition to='end' />" +
| " </start-state>" +
| " <end-state name='end' />" +
| "</process-definition>"
| );
| subProcessResolver.add(subProcessDefinition);
|
| ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
| "<process-definition name='super'>" +
| " <start-state name='start'>" +
| " <transition to='p' />" +
| " </start-state>" +
| " <process-state name='p'>" +
| " <sub-process name='sub' binding='late' />" +
| " <transition to='end' />" +
| " </process-state>" +
| " <end-state name='end' />" +
| "</process-definition>"
| );
| subProcessResolver.add(processDefinition);
|
| ProcessState.setDefaultSubProcessResolver(subProcessResolver);
| ProcessInstance processInstance = new ProcessInstance(processDefinition);
|
| System.out.println( processInstance.getRootToken().getNode().getName() );
| processInstance.signal();
| System.out.println( processInstance.getRootToken().getNode().getName() );
| processInstance.signal();
| System.out.println( processInstance.getRootToken().getNode().getName() );
| }
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4190657#4190657
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4190657
More information about the jboss-user
mailing list