Difference between revisions of "Use of node node"

From OpenKM Documentation
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.
+
You can define the behavior of a node of type node using 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:
 
The Action to be executed can be defined in two ways:
Line 7: Line 7:
  
 
Below we are going to create a sample process with a ''node'' node which make use of an implementation of the [http://docs.jboss.com/jbpm/v3.2/javadoc-jpdl/org/jbpm/graph/def/ActionHandler.html ActionHandler] interface.
 
Below we are going to create a sample process with a ''node'' node which make use of an implementation of the [http://docs.jboss.com/jbpm/v3.2/javadoc-jpdl/org/jbpm/graph/def/ActionHandler.html ActionHandler] interface.
 +
 +
{{Note|Source Eclipse project at [[File:Workflow samples.zip]].}}
  
 
In this image you can see the process definition graph:
 
In this image you can see the process definition graph:
Line 16: Line 18:
 
<source lang="java">
 
<source lang="java">
 
public class MyAction implements ActionHandler {
 
public class MyAction implements ActionHandler {
 +
    private static final long serialVersionUID = 1L;
 +
 
     @Override
 
     @Override
 
     public void execute(ExecutionContext executionContext) throws Exception {
 
     public void execute(ExecutionContext executionContext) throws Exception {
Line 27: Line 31:
  
 
The last line of this action tell the jBPM engine to go to the next node, which in this case is the end node.
 
The last line of this action tell the jBPM engine to go to the next node, which in this case is the end node.
 +
 +
<source lang="xml">
 +
<?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>
 +
</source>
  
 
[[Category: Workflow Guide]]
 
[[Category: Workflow Guide]]
[[Category: OKM Network]]
 

Latest revision as of 12:47, 3 December 2012

You can define the behavior of a node of type node using 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.


Nota clasica.png Source Eclipse project at File:Workflow samples.zip.

In this image you can see the process definition graph:

Jbpm sample node.png

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>