📄 exampleprocesstest.java
字号:
package org.jbpm.example;
import java.io.*;
import org.jbpm.*;
import org.jbpm.model.definition.*;
import org.jbpm.model.execution.*;
import org.jbpm.model.log.InvocationLog;
import org.jbpm.par.*;
import junit.framework.*;
public class ExampleProcessTest extends TestCase {
private static JbpmServiceLocator jbpmServiceLocator = null;
private static DefinitionService definitionService = null;
private static ExecutionService executionService = null;
static {
jbpmServiceLocator = JbpmServiceLocator.getInstance();
definitionService = jbpmServiceLocator.getDefinitionService();
executionService = jbpmServiceLocator.getExecutionService();
try {
InputStream is = ExampleProcessTest.class.getClassLoader().getResourceAsStream("exampleprocess.xml");
ArchiveBuilder archiveBuilder = new ArchiveBuilder(is);
// adding class file
is = ExampleProcessTest.class.getClassLoader().getResourceAsStream("org/jbpm/example/ExampleActionHandler.class");
archiveBuilder.add( "classes/org/jbpm/example/ExampleActionHandler.class", is );
definitionService.deployProcessArchive(archiveBuilder.getJarInputStream());
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("couldn't load the process archive");
}
}
// you should create one test for each possible scenario
public void testExampleProcess() throws Exception {
// retrieve the definition
Definition definition = executionService.getLatestDefinition("example process");
// start a process instance
InvocationLog invocationLog = executionService.startProcessInstance( "testrunner", definition.getId() );
ProcessInstance pi = invocationLog.getProcessInstance();
Long tokenId = pi.getRoot().getId();
assertFalse( pi.hasEnded() );
assertFalse( pi.getRoot().hasEnded() );
assertEquals( "example process", pi.getDefinition().getName() );
assertEquals( "only state", pi.getRoot().getState().getName() );
// get the variables
executionService.endOfState("testrunner", tokenId);
pi = executionService.getProcessInstance( pi.getId(), null );
assertTrue( pi.hasEnded() );
assertTrue( pi.getRoot().hasEnded() );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -