[jboss-user] [JBoss jBPM] - Re: Error introduced in 3.2.1
rgullett
do-not-reply at jboss.com
Mon Jul 16 08:38:13 EDT 2007
Here's a junit test case and an ActionHandler that I wire in. It runs green in 3.2.GA, but fails in 3.2.1.
Thanks,
Randy
package com.jbpm.test;
import 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 JBPMDemoTestCase extends TestCase {
public void testJbpm() {
String className = DoNothingActionHandler.class.getName();
ProcessInstance processInstance = initProcessInstance();
assertEquals("Instance is in wrong state", "start", processInstance.getRootToken()
.getNode().getName());
processInstance.signal();
}
private ProcessInstance initProcessInstance() {
MapBasedProcessRepository mapBasedProcessRepository = new MapBasedProcessRepository();
ProcessState.setDefaultSubProcessResolver(mapBasedProcessRepository);
ProcessDefinition subProcessDefinition =
ProcessDefinition.parseXmlString(
"<process-definition"
+ " xmlns='urn:jbpm.org:jpdl-3.2' name='subProcessName'>"
+ "<start-state name='start'>"
+ ""
+ "</start-state>"
+ "<end-state name='subProcessEndState'></end-state>"
+ ""
+ ""
+ ""
+ ""
+ "</process-definition>");
mapBasedProcessRepository.add(subProcessDefinition);
ProcessDefinition processDefinition =
ProcessDefinition.parseXmlString(
"<process-definition xmlns='' name='processName'>"
+ "<start-state name='start'>"
+ ""
+ "</start-state>"
+ "<end-state name='superProcessEnd'></end-state>"
+ "<process-state name='processState'>"
+ "<sub-process name='subProcessName' />"
+ "" + "</process-state>"
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ ""
+ "</process-definition>");
mapBasedProcessRepository.add(processDefinition);
ProcessInstance processInstance = new ProcessInstance(processDefinition);
return processInstance;
}
private static class MapBasedProcessRepository implements SubProcessResolver {
protected MapBasedProcessRepository() {}
private Map<String, ProcessDefinition> processes = new HashMap<String, ProcessDefinition>();
public void add(ProcessDefinition processDefinition) {
processes.put(processDefinition.getName(), processDefinition);
}
public ProcessDefinition findSubProcess(Element subProcessElement) {
String processName = subProcessElement.attributeValue("name");
return processes.get(processName);
}
}
}
package com.jbpm.test;
import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
public class DoNothingActionHandler implements ActionHandler {
public DoNothingActionHandler() {
}
/**
* @inheritDoc
*/
public void execute(ExecutionContext executionContext) throws Exception {
executionContext.leaveNode();
}
}
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4064516#4064516
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4064516
More information about the jboss-user
mailing list