Difference between revisions of "Use of node node"

From OpenKM Documentation
Jump to: navigation, search
 
(9 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 {
  @Override
+
    private static final long serialVersionUID = 1L;
  public void execute(ExecutionContext executionContext) throws Exception {
+
 
    System.out.println("Executing programmed action...");
+
    @Override
 +
    public void execute(ExecutionContext executionContext) throws Exception {
 +
        System.out.println("Executing programmed action...");
  
    // Go to next node
+
        // Go to next node
    executionContext.getProcessInstance().signal();
+
        executionContext.getToken().signal();
  }
+
    }
 
}
 
}
 +
</source>
 +
 +
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>
 
</source>
  
 
[[Category: Workflow Guide]]
 
[[Category: Workflow Guide]]

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>