Difference between revisions of "Examples: Simple"

From OpenKM Documentation
Jump to: navigation, search
Line 2: Line 2:
  
 
== Process image ==
 
== Process image ==
<center>[[File:Workflow example simple.png]]</center>
+
[[File:Workflow example simple.png|center]]
  
 
== Process definition ==
 
== Process definition ==

Revision as of 21:21, 27 January 2010

Process image

Workflow example simple.png

Process definition

<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="simple">
  <start-state name="start">
    <transition name="to_state" to="state"></transition>
    <event type="node-leave">
      <script>
        print(&quot;Node start&quot;);
      </script>
    </event>
  </start-state>

  <state name="state">
    <event type="node-enter">
      <script>
        print(&quot;Node state&quot;);
        executionContext.leaveNode();
      </script>
    </event>
    <transition name="to_end" to="end">
      <action name="action" class="com.openkm.MessageActionHandler">
        <message>About to finish!</message>
      </action>
    </transition>
  </state>

  <end-state name="end">
    <event type="node-enter">
      <script>
        print(&quot;Node end (&quot;+executionContext.getVariable(&quot;message&quot;)+&quot;)&quot;);
      </script>
    </event>
  </end-state>
</process-definition>

Process handlers

package com.openkm;

import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;

public class MessageActionHandler implements ActionHandler {
  private static final long serialVersionUID = 1L;

  /**
   * The message member gets its value from the configuration in the 
   * processdefinition. The value is injected directly by the engine. 
   */
  String message;

  /**
   * A message process variable is assigned the value of the message
   * member. The process variable is created if it doesn't exist yet.
   */
  @Override
  public void execute(ExecutionContext context) throws Exception {
    context.getContextInstance().setVariable("message", message);
    System.out.println("From MessageActionHandler...");
  }
}

Form definition

None