Difference between revisions of "Examples: Simple"
From OpenKM Documentation
Line 1: | Line 1: | ||
+ | {{TOCright}} __TOC__ | ||
+ | |||
== Process image == | == Process image == | ||
<center>[[File:Workflow example simple.png]]</center> | <center>[[File:Workflow example simple.png]]</center> | ||
Line 37: | Line 39: | ||
</end-state> | </end-state> | ||
</process-definition> | </process-definition> | ||
+ | </source> | ||
+ | |||
+ | == Process handlers == | ||
+ | <source lang="java"> | ||
+ | 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..."); | ||
+ | } | ||
+ | } | ||
</source> | </source> | ||
Revision as of 10:38, 26 January 2010
Process image
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("Node start");
</script>
</event>
</start-state>
<state name="state">
<event type="node-enter">
<script>
print("Node state");
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("Node end ("+executionContext.getVariable("message")+")");
</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