Difference between revisions of "Use of node node"
From OpenKM Documentation
Line 38: | Line 38: | ||
<node name="node"> | <node name="node"> | ||
<action class="com.openkm.sample.MyAction"></action> | <action class="com.openkm.sample.MyAction"></action> | ||
− | <transition to="end"> | + | <transition to="end"></transition> |
− | |||
− | |||
</node> | </node> | ||
<end-state name="end"></end-state> | <end-state name="end"></end-state> |
Revision as of 13:24, 17 January 2012
You can define the behavior of a node of type node suing the Action element. This Action is executed when the process arrives to the node.
The Action to be executed can be defined in two ways:
- Using a BeanShell script.
- Using an action handler, this is a Java class which implements the ActionHandler interface.
Below we are going to create a sample process with a node node which make use of an implementation of the ActionHandler interface.
In this image you can see the process definition graph:
This process begins in a start node and go to a node node where the action to be performed is defined by the class MyAction which implements the ActionHandler interface.
public class MyAction implements ActionHandler {
private static final long serialVersionUID = 1L;
@Override
public void execute(ExecutionContext executionContext) throws Exception {
System.out.println("Executing programmed action...");
// Go to next node
executionContext.getToken().signal();
}
}
The last line of this action tell the jBPM engine to go to the next node, which in this case is the end node.
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="node node">
<start-state name="start">
<transition to="node"></transition>
</start-state>
<node name="node">
<action class="com.openkm.sample.MyAction"></action>
<transition to="end"></transition>
</node>
<end-state name="end"></end-state>
</process-definition>