[jbpm-commits] JBoss JBPM SVN: r4236 - in jbpm3/trunk: hudson/hudson-home and 27 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Mar 13 05:41:42 EDT 2009


Author: alex.guizar at jboss.com
Date: 2009-03-13 05:41:42 -0400 (Fri, 13 Mar 2009)
New Revision: 4236

Added:
   jbpm3/trunk/modules/core/src/main/compatibility/jbpm-jpdl-3.2.6-api.txt
Removed:
   jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
Modified:
   jbpm3/trunk/hudson/hudson-home/command.sh
   jbpm3/trunk/modules/core/pom.xml
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmConfiguration.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JobSession.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ExecutionContext.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/CleanUpProcessJob.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteActionJob.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteNodeJob.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/Timer.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java
   jbpm3/trunk/modules/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/JbpmConfigurationTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1798/JBPM1798Test.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/msg/command/AsyncExecutionDbTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java
   jbpm3/trunk/modules/distribution/pom.xml
   jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml
   jbpm3/trunk/modules/enterprise/pom.xml
   jbpm3/trunk/modules/enterprise/src/main/java/org/jbpm/ejb/impl/ExecuteJobCommand.java
   jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/AbstractEnterpriseTestCase.java
   jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java
   jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jbpm1952/JBPM1952Test.java
   jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java
   jbpm3/trunk/modules/examples/src/test/resources/door/gpd.xml
   jbpm3/trunk/modules/examples/src/test/resources/taskinstance/gpd.xml
   jbpm3/trunk/modules/examples/src/test/resources/websale/jpdl/gpd.xml
   jbpm3/trunk/pom.xml
Log:
svn merge -r 4079:4171 https://svn.jboss.org/repos/jbpm/jbpm3/branches/jbpm-3.2.6.GA@4171

Modified: jbpm3/trunk/hudson/hudson-home/command.sh
===================================================================
--- jbpm3/trunk/hudson/hudson-home/command.sh	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/hudson/hudson-home/command.sh	2009-03-13 09:41:42 UTC (rev 4236)
@@ -66,9 +66,6 @@
 rm $JBOSS_HOME/server/$JBOSS_SERVER/deploy/jbpm/jbpm-service.sar/hibernate.cfg.xml
 cp $JBOSS_HOME/docs/examples/jbpm/jbpm-$DATABASE-ds.xml $JBOSS_HOME/server/$JBOSS_SERVER/deploy/jbpm/jbpm-$DATABASE-ds.xml
 cp $JBOSS_HOME/docs/examples/jbpm/hibernate.cfg.$DATABASE.xml $JBOSS_HOME/server/$JBOSS_SERVER/deploy/jbpm/jbpm-service.sar/hibernate.cfg.xml
-if [ $CONTAINER = "jboss500" ]; then
-  rm $JBOSS_HOME/server/$JBOSS_SERVER/deploy/jbpm/jbpm-service.sar/slf4j-api.jar
-fi
 
 # FIXME: find out whether jTDS can be made to work with XA data source
 # https://jira.jboss.org/jira/browse/JBPM-1818

Modified: jbpm3/trunk/modules/core/pom.xml
===================================================================
--- jbpm3/trunk/modules/core/pom.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/pom.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -334,6 +334,12 @@
         <plugins>
           <plugin>
             <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <!-- [JBPM-2042] failed jobs query fails -->
+                <exclude>org/jbpm/db/JobSessionDbTest.java</exclude>
+              </excludes>
+            </configuration>
           </plugin>
         </plugins>
       </build>

Copied: jbpm3/trunk/modules/core/src/main/compatibility/jbpm-jpdl-3.2.6-api.txt (from rev 4123, jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/compatibility/jbpm-jpdl-3.2.6-api.txt)
===================================================================
--- jbpm3/trunk/modules/core/src/main/compatibility/jbpm-jpdl-3.2.6-api.txt	                        (rev 0)
+++ jbpm3/trunk/modules/core/src/main/compatibility/jbpm-jpdl-3.2.6-api.txt	2009-03-13 09:41:42 UTC (rev 4236)
@@ -0,0 +1,5207 @@
+#
+# This file was produces running the following command in target/classes. 
+#
+#    find . -name "*.class" | sort | grep class | sed "s/.class//" | xargs javap -classpath . -protected
+#
+# $Id$
+# 
+Compiled from "AbstractJbpmTestCase.java"
+public abstract class org.jbpm.AbstractJbpmTestCase extends junit.framework.TestCase{
+    public org.jbpm.AbstractJbpmTestCase();
+    protected void setUp()       throws java.lang.Exception;
+    protected void tearDown()       throws java.lang.Exception;
+    protected java.lang.String getShortName();
+    protected java.lang.String getLongName();
+    protected void runTest()       throws java.lang.Throwable;
+}
+
+Compiled from "AntHelper.java"
+public class org.jbpm.ant.AntHelper extends java.lang.Object{
+    public static org.hibernate.cfg.Configuration getConfiguration(java.lang.String, java.lang.String);
+    public static org.jbpm.JbpmConfiguration getJbpmConfiguration(java.lang.String);
+}
+
+Compiled from "DeployProcessTask.java"
+public class org.jbpm.ant.DeployProcessTask extends org.apache.tools.ant.taskdefs.MatchingTask{
+    public org.jbpm.ant.DeployProcessTask();
+    public void execute()       throws org.apache.tools.ant.BuildException;
+    public void addFileset(org.apache.tools.ant.types.FileSet);
+    public void setJbpmCfg(java.lang.String);
+    public void setProcess(java.io.File);
+    public void setFailOnError(boolean);
+}
+
+Compiled from "JbpmSchemaTask.java"
+public class org.jbpm.ant.JbpmSchemaTask extends org.apache.tools.ant.Task{
+    public org.jbpm.ant.JbpmSchemaTask();
+    public void execute()       throws org.apache.tools.ant.BuildException;
+    public void setAction(java.lang.String);
+    public void setConfig(java.lang.String);
+    public void setProperties(java.lang.String);
+    public void setDelimiter(java.lang.String);
+    public void setOutput(java.lang.String);
+}
+
+Compiled from "Launcher.java"
+public class org.jbpm.ant.Launcher extends java.lang.Thread{
+    public org.jbpm.ant.Launcher(org.apache.tools.ant.Task, java.lang.String, java.lang.String);
+    public void run();
+}
+
+Compiled from "ShutDownHsqldb.java"
+public class org.jbpm.ant.ShutDownHsqldb extends org.apache.tools.ant.Task{
+    public org.jbpm.ant.ShutDownHsqldb();
+    public void execute()       throws org.apache.tools.ant.BuildException;
+}
+
+Compiled from "StartHsqldbTask.java"
+public class org.jbpm.ant.StartHsqldbTask extends org.apache.tools.ant.Task{
+    public org.jbpm.ant.StartHsqldbTask();
+    public void execute()       throws org.apache.tools.ant.BuildException;
+    public void setDatabase(java.lang.String);
+    public void setLib(java.lang.String);
+    public void setPort(java.lang.String);
+}
+
+Compiled from "StartJBossTask.java"
+public class org.jbpm.ant.StartJBossTask extends org.apache.tools.ant.Task{
+    public org.jbpm.ant.StartJBossTask();
+    public void execute()       throws org.apache.tools.ant.BuildException;
+    public void setConfiguration(java.lang.String);
+}
+
+Compiled from "ByteArray.java"
+public class org.jbpm.bytes.ByteArray extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String name;
+    protected java.util.List byteBlocks;
+    public org.jbpm.bytes.ByteArray();
+    public org.jbpm.bytes.ByteArray(byte[]);
+    public org.jbpm.bytes.ByteArray(java.lang.String, byte[]);
+    public org.jbpm.bytes.ByteArray(org.jbpm.bytes.ByteArray);
+    public byte[] getBytes();
+    public long getId();
+    public boolean equals(java.lang.Object);
+    public int hashCode();
+    public java.util.List getByteBlocks();
+}
+
+Compiled from "ByteBlockChopper.java"
+public class org.jbpm.bytes.ByteBlockChopper extends java.lang.Object{
+    public static java.util.List chopItUp(byte[]);
+    public static byte[] glueChopsBackTogether(java.util.List);
+}
+
+Compiled from "BusinessCalendar.java"
+public class org.jbpm.calendar.BusinessCalendar extends java.lang.Object implements java.io.Serializable{
+    public static synchronized java.util.Properties getBusinessCalendarProperties();
+    public org.jbpm.calendar.BusinessCalendar();
+    public org.jbpm.calendar.BusinessCalendar(java.util.Properties);
+    public org.jbpm.calendar.Day[] getWeekDays();
+    public java.util.List getHolidays();
+    public java.util.Date add(java.util.Date, org.jbpm.calendar.Duration);
+    public java.util.Date findStartOfNextDay(java.util.Date);
+    public org.jbpm.calendar.Day findDay(java.util.Date);
+    public boolean isHoliday(java.util.Date);
+    public org.jbpm.calendar.DayPart findNextDayPart(java.util.Date);
+    public boolean isInBusinessHours(java.util.Date);
+    public static java.util.Calendar getCalendar();
+}
+
+Compiled from "Day.java"
+public class org.jbpm.calendar.Day extends java.lang.Object implements java.io.Serializable{
+    public static org.jbpm.calendar.Day[] parseWeekDays(java.util.Properties, org.jbpm.calendar.BusinessCalendar);
+    public org.jbpm.calendar.Day(java.lang.String, java.text.DateFormat, org.jbpm.calendar.BusinessCalendar);
+    public void findNextDayPartStart(int, java.util.Date, java.lang.Object[]);
+}
+
+Compiled from "DayPart.java"
+public class org.jbpm.calendar.DayPart extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.calendar.DayPart(java.lang.String, java.text.DateFormat, org.jbpm.calendar.Day, int);
+    public java.util.Date add(java.util.Date, org.jbpm.calendar.Duration);
+    public boolean isStartAfter(java.util.Date);
+    public boolean includes(java.util.Date);
+    public java.util.Date getStartTime(java.util.Date);
+}
+
+Compiled from "Duration.java"
+public class org.jbpm.calendar.Duration extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.calendar.Duration(long);
+    public org.jbpm.calendar.Duration(org.jbpm.calendar.Duration);
+    public org.jbpm.calendar.Duration(java.lang.String);
+    public java.util.Date addTo(java.util.Date);
+    public long getMilliseconds();
+    public boolean isBusinessTime();
+}
+
+Compiled from "Holiday.java"
+public class org.jbpm.calendar.Holiday extends java.lang.Object implements java.io.Serializable{
+    public static java.util.List parseHolidays(java.util.Properties, org.jbpm.calendar.BusinessCalendar);
+    public org.jbpm.calendar.Holiday(java.lang.String, java.text.DateFormat, org.jbpm.calendar.BusinessCalendar);
+    public boolean includes(java.util.Date);
+}
+
+Compiled from "AbstractBaseCommand.java"
+public abstract class org.jbpm.command.AbstractBaseCommand extends java.lang.Object implements org.jbpm.command.Command{
+    public org.jbpm.command.AbstractBaseCommand();
+    public java.lang.String toString();
+    public java.lang.String getAdditionalToStringInformation();
+}
+
+Compiled from "AbstractCancelCommand.java"
+public abstract class org.jbpm.command.AbstractCancelCommand extends org.jbpm.command.AbstractBaseCommand{
+    public static final java.lang.String CANCELLATION_INDICATOR_VARIABLE_NAME;
+    protected transient org.jbpm.JbpmContext jbpmContext;
+    protected static final org.apache.commons.logging.Log log;
+    public org.jbpm.command.AbstractCancelCommand();
+    protected void cancelTokens(java.util.Collection);
+    protected void cancelToken(org.jbpm.graph.exe.Token);
+    protected java.util.List getTasksForToken(org.jbpm.graph.exe.Token);
+    protected void cancelTasks(java.util.List);
+}
+
+Compiled from "AbstractGetObjectBaseCommand.java"
+public abstract class org.jbpm.command.AbstractGetObjectBaseCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.AbstractGetObjectBaseCommand();
+    public org.jbpm.command.AbstractGetObjectBaseCommand(boolean, boolean);
+    public org.jbpm.command.AbstractGetObjectBaseCommand(java.lang.String[]);
+    public void retrieveTaskInstanceDetails(org.jbpm.taskmgmt.exe.TaskInstance);
+    public org.jbpm.graph.exe.ProcessInstance retrieveProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.graph.def.ProcessDefinition retrieveProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    protected void retrieveToken(org.jbpm.graph.exe.Token);
+    protected void retrieveNode(org.jbpm.graph.def.Node);
+    public void retrieveVariables(org.jbpm.graph.exe.ProcessInstance);
+    public void retrieveVariables(org.jbpm.taskmgmt.exe.TaskInstance);
+    public boolean isIncludeAllVariables();
+    public void setIncludeAllVariables(boolean);
+    public java.lang.String[] getVariablesToInclude();
+    public void setVariablesToInclude(java.lang.String[]);
+    public void setVariablesToInclude(java.lang.String);
+    protected org.jbpm.JbpmContext getJbpmContext();
+    protected void setJbpmContext(org.jbpm.JbpmContext);
+    public org.jbpm.command.AbstractGetObjectBaseCommand variablesToInclude(java.lang.String[]);
+    public org.jbpm.command.AbstractGetObjectBaseCommand variablesToInclude(java.lang.String);
+    public org.jbpm.command.AbstractGetObjectBaseCommand includeAllVariables(boolean);
+}
+
+Compiled from "AbstractProcessInstanceBaseCommand.java"
+public abstract class org.jbpm.command.AbstractProcessInstanceBaseCommand extends org.jbpm.command.AbstractBaseCommand{
+    protected org.apache.commons.logging.Log log;
+    public org.jbpm.command.AbstractProcessInstanceBaseCommand();
+    protected org.jbpm.JbpmContext getJbpmContext();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public abstract org.jbpm.graph.exe.ProcessInstance execute(org.jbpm.graph.exe.ProcessInstance);
+    public void setProcessInstanceIds(long[]);
+    public void setProcessInstanceId(long);
+    public java.lang.String toString();
+    public java.lang.String getProcessName();
+    public void setProcessName(java.lang.String);
+    public int getProcessVersion();
+    public void setProcessVersion(int);
+    public long[] getProcessInstanceIds();
+    public long getProcessInstanceId();
+    public boolean isOnlyRunning();
+    public void setOnlyRunning(boolean);
+    public org.jbpm.command.AbstractProcessInstanceBaseCommand processInstanceIds(long[]);
+    public org.jbpm.command.AbstractProcessInstanceBaseCommand processInstanceId(long);
+    public org.jbpm.command.AbstractProcessInstanceBaseCommand processName(java.lang.String);
+    public org.jbpm.command.AbstractProcessInstanceBaseCommand processVersion(int);
+    public org.jbpm.command.AbstractProcessInstanceBaseCommand onlyRunning(boolean);
+    public boolean isOperateOnSingleObject();
+}
+
+Compiled from "AbstractTokenBaseCommand.java"
+public abstract class org.jbpm.command.AbstractTokenBaseCommand extends java.lang.Object implements org.jbpm.command.Command{
+    protected org.apache.commons.logging.Log log;
+    public org.jbpm.command.AbstractTokenBaseCommand();
+    protected org.jbpm.JbpmContext getJbpmContext();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public abstract java.lang.Object execute(org.jbpm.graph.exe.Token);
+    public void setTokenIds(long[]);
+    public void setTokenId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public java.lang.String getProcessName();
+    public void setProcessName(java.lang.String);
+    public int getProcessVersion();
+    public void setProcessVersion(int);
+    public java.lang.String getStateName();
+    public void setStateName(java.lang.String);
+    public long[] getTokenIds();
+    public long getTokenId();
+    public java.lang.String toString();
+    public org.jbpm.command.AbstractTokenBaseCommand tokenIds(long[]);
+    public org.jbpm.command.AbstractTokenBaseCommand tokenId(long);
+    public org.jbpm.command.AbstractTokenBaseCommand processName(java.lang.String);
+    public org.jbpm.command.AbstractTokenBaseCommand processVersion(int);
+    public org.jbpm.command.AbstractTokenBaseCommand stateName(java.lang.String);
+    public boolean isOperateOnSingleObject();
+}
+
+Compiled from "AsynchronousCommand.java"
+public class org.jbpm.command.AsynchronousCommand extends java.lang.Object implements org.jbpm.command.Command{
+    public org.jbpm.command.AsynchronousCommand(org.jbpm.command.Command);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+}
+
+Compiled from "BatchSignalCommand.java"
+public class org.jbpm.command.BatchSignalCommand extends org.jbpm.command.AbstractTokenBaseCommand{
+    public org.jbpm.command.BatchSignalCommand();
+    public java.lang.Object execute(org.jbpm.graph.exe.Token);
+    public java.lang.String getTransitionName();
+    public void setTransitionName(java.lang.String);
+    public java.util.Date getInStateAtLeastSince();
+    public void setInStateAtLeastSince(java.util.Date);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.BatchSignalCommand transitionName(java.lang.String);
+    public org.jbpm.command.BatchSignalCommand inStateAtLeastSince(java.util.Date);
+}
+
+Compiled from "CancelProcessInstanceCommand.java"
+public class org.jbpm.command.CancelProcessInstanceCommand extends org.jbpm.command.AbstractCancelCommand{
+    public org.jbpm.command.CancelProcessInstanceCommand();
+    public org.jbpm.command.CancelProcessInstanceCommand(long);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    protected void cancelProcess(long);
+    public long getProcessInstanceId();
+    public void setProcessInstanceId(long);
+    public long getProcessId();
+    public void setProcessId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.CancelProcessInstanceCommand processInstanceId(long);
+}
+
+Compiled from "CancelTokenCommand.java"
+public class org.jbpm.command.CancelTokenCommand extends org.jbpm.command.AbstractCancelCommand{
+    public org.jbpm.command.CancelTokenCommand();
+    public org.jbpm.command.CancelTokenCommand(long);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public long getTokenId();
+    public void setTokenId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.CancelTokenCommand tokenId(long);
+}
+
+Compiled from "CancelWorkOnTaskCommand.java"
+public class org.jbpm.command.CancelWorkOnTaskCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.CancelWorkOnTaskCommand(long);
+    public org.jbpm.command.CancelWorkOnTaskCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public long getTaskInstanceId();
+    public void setTaskInstanceId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.CancelWorkOnTaskCommand taskInstanceId(long);
+}
+
+Compiled from "ChangeProcessInstanceVersionCommand.java"
+public class org.jbpm.command.ChangeProcessInstanceVersionCommand extends org.jbpm.command.AbstractProcessInstanceBaseCommand{
+    public static final java.lang.String OLD_VERSION_PROCESS_VARIABLE_NAME;
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand();
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand(long, int);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.graph.exe.ProcessInstance execute(org.jbpm.graph.exe.ProcessInstance);
+    public java.util.Map getNodeNameMapping();
+    public void setNodeNameMapping(java.util.Map);
+    public int getNewVersion();
+    public void setNewVersion(int);
+    public java.util.Map getTaskNameMapping();
+    public void setTaskNameMapping(java.util.Map);
+    public long getProcessId();
+    public void setProcessId(long);
+    public java.util.Map getNameMapping();
+    public void setNameMapping(java.util.Map);
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand nodeNameMapping(java.util.Map);
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand newVersion(int);
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand taskNameMapping(java.util.Map);
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand nodeNameMappingAdd(java.lang.String, java.lang.String);
+    public org.jbpm.command.ChangeProcessInstanceVersionCommand taskNameMappingAdd(java.lang.String, java.lang.String);
+}
+
+Compiled from "Command.java"
+public interface org.jbpm.command.Command extends java.io.Serializable{
+    public abstract java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+}
+
+Compiled from "CommandService.java"
+public interface org.jbpm.command.CommandService{
+    public abstract java.lang.Object execute(org.jbpm.command.Command);
+}
+
+Compiled from "CompositeCommand.java"
+public class org.jbpm.command.CompositeCommand extends java.lang.Object implements org.jbpm.command.Command{
+    public org.jbpm.command.CompositeCommand(java.util.List);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    protected void tryToInject(java.lang.Object, org.jbpm.command.Command);
+    protected java.lang.reflect.Field findField(java.lang.Class);
+    public java.lang.String toString();
+}
+
+Compiled from "DeleteProcessDefinitionCommand.java"
+public class org.jbpm.command.DeleteProcessDefinitionCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.DeleteProcessDefinitionCommand();
+    public org.jbpm.command.DeleteProcessDefinitionCommand(long);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.lang.String toString();
+    public long getId();
+    public void setId(long);
+    public org.jbpm.command.DeleteProcessDefinitionCommand id(long);
+}
+
+Compiled from "DeployProcessCommand.java"
+public class org.jbpm.command.DeployProcessCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.DeployProcessCommand();
+    public org.jbpm.command.DeployProcessCommand(byte[]);
+    public org.jbpm.command.DeployProcessCommand(java.lang.String);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public byte[] getPar();
+    public void setPar(byte[]);
+    public java.lang.String getXml();
+    public void setXml(java.lang.String);
+    public org.jbpm.command.DeployProcessCommand xml(java.lang.String);
+    public org.jbpm.command.DeployProcessCommand par(byte[]);
+}
+
+Compiled from "ExecuteJobsCommand.java"
+public class org.jbpm.command.ExecuteJobsCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.ExecuteJobsCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    protected java.util.Collection acquireJobs();
+    protected void executeJob(org.jbpm.job.Job);
+    protected java.util.Date getNextDueDate();
+}
+
+Compiled from "GetProcessDefinitionCommand.java"
+public class org.jbpm.command.GetProcessDefinitionCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetProcessDefinitionCommand();
+    public org.jbpm.command.GetProcessDefinitionCommand(java.lang.String);
+    public org.jbpm.command.GetProcessDefinitionCommand(java.lang.String, int);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public int getVersion();
+    public void setVersion(int);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetProcessDefinitionCommand version(int);
+    public org.jbpm.command.GetProcessDefinitionCommand name(java.lang.String);
+}
+
+Compiled from "GetProcessDefinitionsCommand.java"
+public class org.jbpm.command.GetProcessDefinitionsCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetProcessDefinitionsCommand();
+    public org.jbpm.command.GetProcessDefinitionsCommand(boolean);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public boolean isOnlyLatest();
+    public void setOnlyLatest(boolean);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetProcessDefinitionsCommand onlyLatest(boolean);
+}
+
+Compiled from "GetProcessInstanceCommand.java"
+public class org.jbpm.command.GetProcessInstanceCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetProcessInstanceCommand();
+    public org.jbpm.command.GetProcessInstanceCommand(long);
+    public org.jbpm.command.GetProcessInstanceCommand(long, boolean, boolean);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public long getProcessInstanceId();
+    public void setProcessInstanceId(long);
+    public long getTaskInstanceId();
+    public void setTaskInstanceId(long);
+    public long getTokenId();
+    public void setTokenId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetProcessInstanceCommand processInstanceId(long);
+    public org.jbpm.command.GetProcessInstanceCommand taskInstanceId(long);
+    public org.jbpm.command.GetProcessInstanceCommand tokenId(long);
+}
+
+Compiled from "GetProcessInstanceLogCommand.java"
+public class org.jbpm.command.GetProcessInstanceLogCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.GetProcessInstanceLogCommand();
+    public org.jbpm.command.GetProcessInstanceLogCommand(long);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    protected java.util.Map loadLogFromMap(java.util.Map);
+    public void retrieveProcessLog(org.jbpm.logging.log.ProcessLog);
+    public long getProcessId();
+    public void setProcessId(long);
+    public long getProcessInstanceId();
+    public void setProcessInstanceId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetProcessInstanceLogCommand processInstanceId(long);
+}
+
+Compiled from "GetProcessInstancesCommand.java"
+public class org.jbpm.command.GetProcessInstancesCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetProcessInstancesCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.util.List retrieveProcessInstanceDetails(java.util.List);
+    public java.util.Date getFromStartDate();
+    public void setFromStartDate(java.util.Date);
+    public boolean isOnlyRunning();
+    public void setOnlyRunning(boolean);
+    public java.lang.String getProcessName();
+    public void setProcessName(java.lang.String);
+    public java.lang.String getProcessDefinitionName();
+    public void setProcessDefinitionName(java.lang.String);
+    public java.lang.String getStateName();
+    public void setStateName(java.lang.String);
+    public java.util.Date getUntilStartDate();
+    public void setUntilStartDate(java.util.Date);
+    public java.lang.String getVersion();
+    public void setVersion(java.lang.String);
+    public long getProcessInstanceId();
+    public void setProcessInstanceId(long);
+    public long getProcessId();
+    public void setProcessId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetProcessInstancesCommand fromStartDate(java.util.Date);
+    public org.jbpm.command.GetProcessInstancesCommand onlyRunning(boolean);
+    public org.jbpm.command.GetProcessInstancesCommand processDefinitionName(java.lang.String);
+    public org.jbpm.command.GetProcessInstancesCommand stateName(java.lang.String);
+    public org.jbpm.command.GetProcessInstancesCommand untilStartDate(java.util.Date);
+    public org.jbpm.command.GetProcessInstancesCommand version(java.lang.String);
+    public org.jbpm.command.GetProcessInstancesCommand processInstanceId(long);
+}
+
+Compiled from "GetTaskInstanceCommand.java"
+public class org.jbpm.command.GetTaskInstanceCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetTaskInstanceCommand();
+    public org.jbpm.command.GetTaskInstanceCommand(long);
+    public org.jbpm.command.GetTaskInstanceCommand(long, boolean, boolean);
+    public org.jbpm.command.GetTaskInstanceCommand(long, java.lang.String[]);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public long getTaskInstanceId();
+    public void setTaskInstanceId(long);
+    public long getTokenId();
+    public void setTokenId(long);
+    public long getProcessInstanceId();
+    public void setProcessInstanceId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetTaskInstanceCommand taskInstanceId(long);
+    public org.jbpm.command.GetTaskInstanceCommand tokenId(long);
+    public org.jbpm.command.GetTaskInstanceCommand processInstanceId(long);
+}
+
+Compiled from "GetTaskListCommand.java"
+public class org.jbpm.command.GetTaskListCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetTaskListCommand(java.lang.String[]);
+    public org.jbpm.command.GetTaskListCommand(java.lang.String, boolean);
+    public org.jbpm.command.GetTaskListCommand(java.lang.String, java.lang.String[]);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.util.List retrieveTaskInstanceDetails(java.util.List);
+    public java.lang.String[] getActor();
+    public void setActor(java.lang.String);
+    public void setActor(java.lang.String[]);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetTaskListCommand actor(java.lang.String);
+    public org.jbpm.command.GetTaskListCommand actor(java.lang.String[]);
+}
+
+Compiled from "GetTokenCommand.java"
+public class org.jbpm.command.GetTokenCommand extends org.jbpm.command.AbstractGetObjectBaseCommand{
+    public org.jbpm.command.GetTokenCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public long getTokenId();
+    public void setTokenId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetTokenCommand tokenId(long);
+}
+
+Compiled from "GetTokenLogCommand.java"
+public class org.jbpm.command.GetTokenLogCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.GetTokenLogCommand();
+    public org.jbpm.command.GetTokenLogCommand(long);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    protected java.util.List loadLogFromList(java.util.List);
+    public void retrieveProcessLog(org.jbpm.logging.log.ProcessLog);
+    public long getTokenId();
+    public void setTokenId(long);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.GetTokenLogCommand tokenId(long);
+}
+
+Compiled from "CommandServiceImpl.java"
+public class org.jbpm.command.impl.CommandServiceImpl extends java.lang.Object implements org.jbpm.command.CommandService,java.io.Serializable{
+    protected final org.jbpm.JbpmConfiguration jbpmConfiguration;
+    public org.jbpm.command.impl.CommandServiceImpl(org.jbpm.JbpmConfiguration);
+    public java.lang.Object execute(org.jbpm.command.Command);
+}
+
+Compiled from "NewProcessInstanceCommand.java"
+public class org.jbpm.command.NewProcessInstanceCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.NewProcessInstanceCommand();
+    public org.jbpm.command.NewProcessInstanceCommand(java.lang.String);
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.lang.String getActorId();
+    public void setActorId(java.lang.String);
+    public long getProcessDefinitionId();
+    public void setProcessDefinitionId(long);
+    public long getProcessId();
+    public void setProcessId(long);
+    public java.lang.String getProcessName();
+    public void setProcessName(java.lang.String);
+    public boolean isCreateStartTask();
+    public void setCreateStartTask(boolean);
+    public java.util.Map getVariables();
+    public java.lang.String getProcessDefinitionName();
+    public void setProcessDefinitionName(java.lang.String);
+    public void setVariables(java.util.Map);
+    public java.lang.String getKey();
+    public void setKey(java.lang.String);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.NewProcessInstanceCommand actorId(java.lang.String);
+    public org.jbpm.command.NewProcessInstanceCommand processDefinitionId(long);
+    public org.jbpm.command.NewProcessInstanceCommand processDefinitionName(java.lang.String);
+    public org.jbpm.command.NewProcessInstanceCommand createStartTask(boolean);
+    public org.jbpm.command.NewProcessInstanceCommand variables(java.util.Map);
+    public org.jbpm.command.NewProcessInstanceCommand key(java.lang.String);
+}
+
+Compiled from "ResumeProcessInstanceCommand.java"
+public class org.jbpm.command.ResumeProcessInstanceCommand extends org.jbpm.command.AbstractProcessInstanceBaseCommand{
+    public org.jbpm.command.ResumeProcessInstanceCommand();
+    public org.jbpm.graph.exe.ProcessInstance execute(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "ResumeTokenCommand.java"
+public class org.jbpm.command.ResumeTokenCommand extends org.jbpm.command.AbstractTokenBaseCommand{
+    public org.jbpm.command.ResumeTokenCommand();
+    public org.jbpm.graph.exe.Token execute(org.jbpm.graph.exe.Token);
+    public java.lang.Object execute(org.jbpm.graph.exe.Token);
+}
+
+Compiled from "SignalCommand.java"
+public class org.jbpm.command.SignalCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.SignalCommand();
+    public org.jbpm.command.SignalCommand(long, java.lang.String);
+    public java.lang.Object execute(org.jbpm.JbpmContext);
+    protected org.jbpm.graph.exe.Token getToken(org.jbpm.JbpmContext);
+    public long getTokenId();
+    public void setTokenId(long);
+    public java.lang.String getTransitionName();
+    public void setTransitionName(java.lang.String);
+    public java.util.Map getVariables();
+    public void setVariables(java.util.Map);
+    public java.lang.String getExpectedStateName();
+    public void setExpectedStateName(java.lang.String);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.SignalCommand tokenId(long);
+    public org.jbpm.command.SignalCommand transitionName(java.lang.String);
+    public org.jbpm.command.SignalCommand variables(java.util.Map);
+    public org.jbpm.command.SignalCommand expectedStateName(java.lang.String);
+}
+
+Compiled from "StartProcessInstanceCommand.java"
+public class org.jbpm.command.StartProcessInstanceCommand extends org.jbpm.command.NewProcessInstanceCommand{
+    public org.jbpm.command.StartProcessInstanceCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.lang.String getStartTransitionName();
+    public void setStartTransitionName(java.lang.String);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.StartProcessInstanceCommand startTransitionName(java.lang.String);
+}
+
+Compiled from "StartWorkOnTaskCommand.java"
+public class org.jbpm.command.StartWorkOnTaskCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.StartWorkOnTaskCommand(long, boolean);
+    public org.jbpm.command.StartWorkOnTaskCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public boolean isOverwriteSwimlane();
+    public void setOverwriteSwimlane(boolean);
+    public long getTaskInstanceId();
+    public void setTaskInstanceId(long);
+    public void setActorId(java.lang.String);
+    public java.lang.String getActorId();
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.StartWorkOnTaskCommand overwriteSwimlane(boolean);
+    public org.jbpm.command.StartWorkOnTaskCommand taskInstanceId(long);
+    public org.jbpm.command.StartWorkOnTaskCommand actorId(java.lang.String);
+}
+
+Compiled from "SuspendProcessInstanceCommand.java"
+public class org.jbpm.command.SuspendProcessInstanceCommand extends org.jbpm.command.AbstractProcessInstanceBaseCommand{
+    public org.jbpm.command.SuspendProcessInstanceCommand();
+    public org.jbpm.graph.exe.ProcessInstance execute(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "SuspendTokenCommand.java"
+public class org.jbpm.command.SuspendTokenCommand extends org.jbpm.command.AbstractTokenBaseCommand{
+    public org.jbpm.command.SuspendTokenCommand();
+    public org.jbpm.graph.exe.Token execute(org.jbpm.graph.exe.Token);
+    public java.lang.Object execute(org.jbpm.graph.exe.Token);
+}
+
+Compiled from "TaskInstanceEndCommand.java"
+public class org.jbpm.command.TaskInstanceEndCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.TaskInstanceEndCommand();
+    public org.jbpm.command.TaskInstanceEndCommand(long, java.lang.String);
+    public org.jbpm.command.TaskInstanceEndCommand(long, java.lang.String, java.util.Map);
+    public java.lang.Object execute(org.jbpm.JbpmContext);
+    protected org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance(org.jbpm.JbpmContext);
+    public long getTaskInstanceId();
+    public void setTaskInstanceId(long);
+    public java.lang.String getTransitionName();
+    public void setTransitionName(java.lang.String);
+    public java.util.Map getVariables();
+    public void setVariables(java.util.Map);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.TaskInstanceEndCommand taskInstanceId(long);
+    public org.jbpm.command.TaskInstanceEndCommand transitionName(java.lang.String);
+    public org.jbpm.command.TaskInstanceEndCommand variables(java.util.Map);
+}
+
+Compiled from "UnlockTokenCommand.java"
+public class org.jbpm.command.UnlockTokenCommand extends org.jbpm.command.AbstractTokenBaseCommand{
+    public org.jbpm.command.UnlockTokenCommand();
+    public java.lang.Object execute(org.jbpm.graph.exe.Token);
+    public java.lang.String getAdditionalToStringInformation();
+    public java.lang.String getLockOwner();
+    public void setLockOwner(java.lang.String);
+    public org.jbpm.command.UnlockTokenCommand lockOwner(java.lang.String);
+}
+
+Compiled from "VariablesCommand.java"
+public class org.jbpm.command.VariablesCommand extends org.jbpm.command.AbstractBaseCommand{
+    public org.jbpm.command.VariablesCommand();
+    public java.lang.Object execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    protected org.jbpm.context.exe.VariableContainer getVariableContainer(org.jbpm.JbpmContext);
+    protected org.jbpm.context.exe.VariableContainer getVariableContainer(org.jbpm.graph.exe.Token);
+    public long getTaskInstanceId();
+    public void setTaskInstanceId(long);
+    public long getTokenId();
+    public void setTokenId(long);
+    public java.util.Map getVariables();
+    public void setVariables(java.util.Map);
+    public java.lang.String getAdditionalToStringInformation();
+    public org.jbpm.command.VariablesCommand taskInstanceId(long);
+    public org.jbpm.command.VariablesCommand tokenId(long);
+    public org.jbpm.command.VariablesCommand variables(java.util.Map);
+}
+
+Compiled from "AbstractObjectInfo.java"
+public abstract class org.jbpm.configuration.AbstractObjectInfo extends java.lang.Object implements org.jbpm.configuration.ObjectInfo{
+    public org.jbpm.configuration.AbstractObjectInfo();
+    public org.jbpm.configuration.AbstractObjectInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    protected java.lang.String getValueString(org.w3c.dom.Element);
+    public boolean hasName();
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public boolean isSingleton();
+    public void setSingleton(boolean);
+}
+
+Compiled from "BeanInfo.java"
+public class org.jbpm.configuration.BeanInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.BeanInfo();
+    public org.jbpm.configuration.BeanInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+    public java.lang.String getClassName();
+    public void setClassName(java.lang.String);
+}
+
+Compiled from "BooleanInfo.java"
+public class org.jbpm.configuration.BooleanInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.BooleanInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "CharacterInfo.java"
+public class org.jbpm.configuration.CharacterInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.CharacterInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "ConfigurationException.java"
+public class org.jbpm.configuration.ConfigurationException extends org.jbpm.JbpmException{
+    public org.jbpm.configuration.ConfigurationException();
+    public org.jbpm.configuration.ConfigurationException(java.lang.String, java.lang.Throwable);
+    public org.jbpm.configuration.ConfigurationException(java.lang.String);
+    public org.jbpm.configuration.ConfigurationException(java.lang.Throwable);
+}
+
+Compiled from "ConstructorInfo.java"
+public class org.jbpm.configuration.ConstructorInfo extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.configuration.ConstructorInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+    protected java.lang.Class[] getParameterTypes(org.jbpm.configuration.ObjectFactoryImpl);
+    protected java.lang.Object[] getArgs(org.jbpm.configuration.ObjectFactoryImpl);
+    public java.lang.reflect.Method findMethod(java.lang.Class, java.lang.Class[]);
+}
+
+Compiled from "DoubleInfo.java"
+public class org.jbpm.configuration.DoubleInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.DoubleInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "FieldInfo.java"
+public class org.jbpm.configuration.FieldInfo extends org.jbpm.configuration.PropertyInfo{
+    public org.jbpm.configuration.FieldInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public void injectProperty(java.lang.Object, org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "FloatInfo.java"
+public class org.jbpm.configuration.FloatInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.FloatInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "IntegerInfo.java"
+public class org.jbpm.configuration.IntegerInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.IntegerInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "JbpmContextInfo.java"
+public class org.jbpm.configuration.JbpmContextInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.JbpmContextInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public synchronized java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "JbpmTypeObjectInfo.java"
+public class org.jbpm.configuration.JbpmTypeObjectInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.JbpmTypeObjectInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "JbpmTypeObjectInfo.java"
+class org.jbpm.configuration.JbpmTypeObjectInfo$NoObjectInfo extends java.lang.Object implements org.jbpm.configuration.ObjectInfo{
+    public boolean hasName();
+    public java.lang.String getName();
+    public boolean isSingleton();
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "JbpmTypeObjectInfo.java"
+class org.jbpm.configuration.JbpmTypeObjectInfo$NoTypeMatcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "ListInfo.java"
+public class org.jbpm.configuration.ListInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.ListInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "LongInfo.java"
+public class org.jbpm.configuration.LongInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.LongInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "MapInfo.java"
+public class org.jbpm.configuration.MapInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.MapInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "NullInfo.java"
+public class org.jbpm.configuration.NullInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.NullInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "ObjectFactory.java"
+public interface org.jbpm.configuration.ObjectFactory extends java.io.Serializable{
+    public abstract java.lang.Object createObject(java.lang.String);
+    public abstract boolean hasObject(java.lang.String);
+}
+
+Compiled from "ObjectFactoryImpl.java"
+public class org.jbpm.configuration.ObjectFactoryImpl extends java.lang.Object implements org.jbpm.configuration.ObjectFactory{
+    public org.jbpm.configuration.ObjectFactoryImpl();
+    public org.jbpm.configuration.ObjectFactoryImpl(java.util.Map, java.util.List);
+    public void addObjectInfo(org.jbpm.configuration.ObjectInfo);
+    public synchronized java.lang.Object createObject(java.lang.String);
+    public synchronized boolean hasObject(java.lang.String);
+    public java.lang.Object createObject(int);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectInfo);
+}
+
+Compiled from "ObjectFactoryParser.java"
+public class org.jbpm.configuration.ObjectFactoryParser extends java.lang.Object implements java.io.Serializable{
+    public static java.util.Map getDefaultMappings();
+    public static org.jbpm.configuration.ObjectFactoryImpl parseXmlString(java.lang.String);
+    public static org.jbpm.configuration.ObjectFactoryImpl parseInputStream(java.io.InputStream);
+    public static org.jbpm.configuration.ObjectFactoryImpl parseResource(java.lang.String);
+    public static org.jbpm.configuration.ObjectFactoryImpl createObjectFactory(org.w3c.dom.Element);
+    public void parseElementsFromResource(java.lang.String, org.jbpm.configuration.ObjectFactoryImpl);
+    public void parseElementsStream(java.io.InputStream, org.jbpm.configuration.ObjectFactoryImpl);
+    public void parseElements(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryImpl);
+    public org.jbpm.configuration.ObjectFactoryParser();
+    public org.jbpm.configuration.ObjectFactoryParser(java.util.Map);
+    public org.jbpm.configuration.ObjectInfo parse(org.w3c.dom.Element);
+    public void addNamedObjectInfo(java.lang.String, org.jbpm.configuration.ObjectInfo);
+    public void addMapping(java.lang.String, java.lang.Class);
+}
+
+Compiled from "ObjectInfo.java"
+public interface org.jbpm.configuration.ObjectInfo extends java.io.Serializable{
+    public abstract boolean hasName();
+    public abstract java.lang.String getName();
+    public abstract boolean isSingleton();
+    public abstract java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "PropertyInfo.java"
+public class org.jbpm.configuration.PropertyInfo extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.configuration.PropertyInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public void injectProperty(java.lang.Object, org.jbpm.configuration.ObjectFactoryImpl);
+    public java.lang.reflect.Method findSetter(java.lang.Class);
+}
+
+Compiled from "RefInfo.java"
+public class org.jbpm.configuration.RefInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.RefInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "StringInfo.java"
+public class org.jbpm.configuration.StringInfo extends org.jbpm.configuration.AbstractObjectInfo{
+    public org.jbpm.configuration.StringInfo(org.w3c.dom.Element, org.jbpm.configuration.ObjectFactoryParser);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+}
+
+Compiled from "ValueInfo.java"
+public class org.jbpm.configuration.ValueInfo extends java.lang.Object implements org.jbpm.configuration.ObjectInfo{
+    public org.jbpm.configuration.ValueInfo(java.lang.String, java.lang.Object);
+    public java.lang.Object createObject(org.jbpm.configuration.ObjectFactoryImpl);
+    public java.lang.String getName();
+    public boolean hasName();
+    public boolean isSingleton();
+}
+
+Compiled from "Access.java"
+public class org.jbpm.context.def.Access extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.context.def.Access();
+    public org.jbpm.context.def.Access(java.lang.String);
+    public boolean isReadable();
+    public boolean isWritable();
+    public boolean isRequired();
+    public boolean isLock();
+    public boolean hasAccess(java.lang.String);
+    public java.lang.String toString();
+    public boolean equals(java.lang.Object);
+}
+
+Compiled from "ContextDefinition.java"
+public class org.jbpm.context.def.ContextDefinition extends org.jbpm.module.def.ModuleDefinition{
+    public org.jbpm.context.def.ContextDefinition();
+    public org.jbpm.module.exe.ModuleInstance createInstance();
+}
+
+Compiled from "VariableAccess.java"
+public class org.jbpm.context.def.VariableAccess extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String variableName;
+    protected org.jbpm.context.def.Access access;
+    protected java.lang.String mappedName;
+    public org.jbpm.context.def.VariableAccess();
+    public org.jbpm.context.def.VariableAccess(java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String getMappedName();
+    public org.jbpm.context.def.Access getAccess();
+    public java.lang.String getVariableName();
+    public boolean isReadable();
+    public boolean isWritable();
+    public boolean isRequired();
+    public boolean isLock();
+}
+
+Compiled from "ContextConverter.java"
+public interface org.jbpm.context.exe.ContextConverter extends org.jbpm.context.exe.Converter{
+    public abstract java.lang.Object revert(java.lang.Object, org.jbpm.graph.exe.Token);
+}
+
+Compiled from "ContextInstance.java"
+public class org.jbpm.context.exe.ContextInstance extends org.jbpm.module.exe.ModuleInstance{
+    protected java.util.Map tokenVariableMaps;
+    protected transient java.util.Map transientVariables;
+    protected transient java.util.List updatedVariableContainers;
+    public org.jbpm.context.exe.ContextInstance();
+    public void createVariable(java.lang.String, java.lang.Object);
+    public void setVariableLocally(java.lang.String, java.lang.Object);
+    public void createVariable(java.lang.String, java.lang.Object, org.jbpm.graph.exe.Token);
+    public void setVariableLocally(java.lang.String, java.lang.Object, org.jbpm.graph.exe.Token);
+    public java.util.Map getVariables();
+    public java.util.Map getVariables(org.jbpm.graph.exe.Token);
+    public void addVariables(java.util.Map);
+    public void setVariables(java.util.Map);
+    public void addVariables(java.util.Map, org.jbpm.graph.exe.Token);
+    public void setVariables(java.util.Map, org.jbpm.graph.exe.Token);
+    public java.lang.Object getVariable(java.lang.String);
+    public java.lang.Object getVariable(java.lang.String, org.jbpm.graph.exe.Token);
+    public java.lang.Object getLocalVariable(java.lang.String, org.jbpm.graph.exe.Token);
+    public java.lang.Object getVariableLocally(java.lang.String, org.jbpm.graph.exe.Token);
+    public void setVariable(java.lang.String, java.lang.Object);
+    public void setVariable(java.lang.String, java.lang.Object, org.jbpm.graph.exe.Token);
+    public boolean hasVariable(java.lang.String);
+    public boolean hasVariable(java.lang.String, org.jbpm.graph.exe.Token);
+    public void deleteVariable(java.lang.String);
+    public void deleteVariable(java.lang.String, org.jbpm.graph.exe.Token);
+    public java.lang.Object getTransientVariable(java.lang.String);
+    public void setTransientVariable(java.lang.String, java.lang.Object);
+    public boolean hasTransientVariable(java.lang.String);
+    public java.util.Map getTransientVariables();
+    public void setTransientVariables(java.util.Map);
+    public void deleteTransientVariable(java.lang.String);
+    public org.jbpm.context.exe.TokenVariableMap getOrCreateTokenVariableMap(org.jbpm.graph.exe.Token);
+    public org.jbpm.context.exe.TokenVariableMap getTokenVariableMap(org.jbpm.graph.exe.Token);
+    public org.jbpm.context.exe.VariableInstance getVariableInstance(java.lang.String, org.jbpm.graph.exe.Token);
+    public java.util.Map getTokenVariableMaps();
+}
+
+Compiled from "BooleanToStringConverter.java"
+public class org.jbpm.context.exe.converter.BooleanToStringConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public static final java.lang.String TRUE_TEXT;
+    public static final java.lang.String FALSE_TEXT;
+    public org.jbpm.context.exe.converter.BooleanToStringConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.String convert(java.lang.Boolean);
+    public java.lang.Boolean revert(java.lang.String);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "BytesToByteArrayConverter.java"
+public class org.jbpm.context.exe.converter.BytesToByteArrayConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.BytesToByteArrayConverter();
+    public boolean supports(java.lang.Object);
+    public org.jbpm.bytes.ByteArray convert(byte[]);
+    public byte[] revert(org.jbpm.bytes.ByteArray);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "ByteToLongConverter.java"
+public class org.jbpm.context.exe.converter.ByteToLongConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.ByteToLongConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.Long convert(java.lang.Byte);
+    public java.lang.Byte revert(java.lang.Long);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "CharacterToStringConverter.java"
+public class org.jbpm.context.exe.converter.CharacterToStringConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.CharacterToStringConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.String convert(java.lang.Character);
+    public java.lang.Character revert(java.lang.String);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "Converter.java"
+public interface org.jbpm.context.exe.Converter extends java.io.Serializable{
+    public abstract boolean supports(java.lang.Object);
+    public abstract java.lang.Object convert(java.lang.Object);
+    public abstract java.lang.Object revert(java.lang.Object);
+}
+
+Compiled from "DateToLongConverter.java"
+public class org.jbpm.context.exe.converter.DateToLongConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.DateToLongConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.Long convert(java.util.Date);
+    public java.util.Date revert(java.lang.Long);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "DoubleToStringConverter.java"
+public class org.jbpm.context.exe.converter.DoubleToStringConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.DoubleToStringConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.String convert(java.lang.Double);
+    public java.lang.Double revert(java.lang.String);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "FloatToDoubleConverter.java"
+public class org.jbpm.context.exe.converter.FloatToDoubleConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.FloatToDoubleConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.Double convert(java.lang.Float);
+    public java.lang.Float revert(java.lang.Double);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "FloatToStringConverter.java"
+public class org.jbpm.context.exe.converter.FloatToStringConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.FloatToStringConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.String convert(java.lang.Float);
+    public java.lang.Float revert(java.lang.String);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "IntegerToLongConverter.java"
+public class org.jbpm.context.exe.converter.IntegerToLongConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.IntegerToLongConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.Long convert(java.lang.Integer);
+    public java.lang.Integer revert(java.lang.Long);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "SerializableToByteArrayConverter.java"
+public class org.jbpm.context.exe.converter.SerializableToByteArrayConverter extends java.lang.Object implements org.jbpm.context.exe.ContextConverter{
+    public org.jbpm.context.exe.converter.SerializableToByteArrayConverter();
+    public boolean supports(java.lang.Object);
+    public org.jbpm.bytes.ByteArray convert(java.io.Serializable);
+    public java.io.Serializable revert(org.jbpm.bytes.ByteArray);
+    public java.io.Serializable revert(org.jbpm.bytes.ByteArray, org.jbpm.graph.exe.Token);
+    public java.lang.Object revert(java.lang.Object, org.jbpm.graph.exe.Token);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "ShortToLongConverter.java"
+public class org.jbpm.context.exe.converter.ShortToLongConverter extends java.lang.Object implements org.jbpm.context.exe.Converter{
+    public org.jbpm.context.exe.converter.ShortToLongConverter();
+    public boolean supports(java.lang.Object);
+    public java.lang.Long convert(java.lang.Short);
+    public java.lang.Short revert(java.lang.Long);
+    public java.lang.Object revert(java.lang.Object);
+    public java.lang.Object convert(java.lang.Object);
+}
+
+Compiled from "JbpmType.java"
+public class org.jbpm.context.exe.JbpmType extends java.lang.Object{
+    public org.jbpm.context.exe.JbpmType(org.jbpm.context.exe.JbpmTypeMatcher, org.jbpm.context.exe.Converter, java.lang.Class);
+    public org.jbpm.context.exe.Converter getConverter();
+    public boolean matches(java.lang.Object);
+    public org.jbpm.context.exe.VariableInstance newVariableInstance();
+    public static java.util.List getJbpmTypes();
+}
+
+Compiled from "JbpmTypeMatcher.java"
+public interface org.jbpm.context.exe.JbpmTypeMatcher extends java.io.Serializable{
+    public abstract boolean matches(java.lang.Object);
+}
+
+Compiled from "ClassNameMatcher.java"
+public class org.jbpm.context.exe.matcher.ClassNameMatcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public org.jbpm.context.exe.matcher.ClassNameMatcher();
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "Ejb3Matcher.java"
+public class org.jbpm.context.exe.matcher.Ejb3Matcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public org.jbpm.context.exe.matcher.Ejb3Matcher();
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "HibernateLongIdMatcher.java"
+public class org.jbpm.context.exe.matcher.HibernateLongIdMatcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public org.jbpm.context.exe.matcher.HibernateLongIdMatcher();
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "HibernateStringIdMatcher.java"
+public class org.jbpm.context.exe.matcher.HibernateStringIdMatcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public org.jbpm.context.exe.matcher.HibernateStringIdMatcher();
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "JcrNodeMatcher.java"
+public class org.jbpm.context.exe.matcher.JcrNodeMatcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public org.jbpm.context.exe.matcher.JcrNodeMatcher();
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "SerializableMatcher.java"
+public class org.jbpm.context.exe.matcher.SerializableMatcher extends java.lang.Object implements org.jbpm.context.exe.JbpmTypeMatcher{
+    public org.jbpm.context.exe.matcher.SerializableMatcher();
+    public boolean matches(java.lang.Object);
+}
+
+Compiled from "TokenVariableMap.java"
+public class org.jbpm.context.exe.TokenVariableMap extends org.jbpm.context.exe.VariableContainer{
+    protected org.jbpm.graph.exe.Token token;
+    protected org.jbpm.context.exe.ContextInstance contextInstance;
+    public org.jbpm.context.exe.TokenVariableMap();
+    public org.jbpm.context.exe.TokenVariableMap(org.jbpm.graph.exe.Token, org.jbpm.context.exe.ContextInstance);
+    public void addVariableInstance(org.jbpm.context.exe.VariableInstance);
+    public java.lang.String toString();
+    protected org.jbpm.context.exe.VariableContainer getParentVariableContainer();
+    public org.jbpm.context.exe.ContextInstance getContextInstance();
+    public org.jbpm.graph.exe.Token getToken();
+    public java.util.Map getVariableInstances();
+}
+
+Compiled from "VariableContainer.java"
+public abstract class org.jbpm.context.exe.VariableContainer extends java.lang.Object implements java.io.Serializable{
+    protected java.util.Map variableInstances;
+    public org.jbpm.context.exe.VariableContainer();
+    protected abstract org.jbpm.context.exe.VariableContainer getParentVariableContainer();
+    public abstract org.jbpm.graph.exe.Token getToken();
+    public java.lang.Object getVariable(java.lang.String);
+    public void setVariable(java.lang.String, java.lang.Object);
+    public boolean hasVariable(java.lang.String);
+    public void deleteVariable(java.lang.String);
+    public void addVariables(java.util.Map);
+    public void setVariables(java.util.Map);
+    public java.util.Map getVariables();
+    public java.util.Map getVariablesLocally();
+    public boolean hasVariableLocally(java.lang.String);
+    public java.lang.Object getVariableLocally(java.lang.String);
+    public void deleteVariableLocally(java.lang.String);
+    public void setVariableLocally(java.lang.String, java.lang.Object);
+    public org.jbpm.context.exe.VariableInstance getVariableInstance(java.lang.String);
+    public java.util.Map getVariableInstances();
+    public void addVariableInstance(org.jbpm.context.exe.VariableInstance);
+    public void deleteVariableInstance(java.lang.String);
+    public org.jbpm.context.exe.ContextInstance getContextInstance();
+    public static java.util.Collection getUpdatedVariableContainers(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "ByteArrayInstance.java"
+public class org.jbpm.context.exe.variableinstance.ByteArrayInstance extends org.jbpm.context.exe.VariableInstance{
+    protected org.jbpm.bytes.ByteArray value;
+    public org.jbpm.context.exe.variableinstance.ByteArrayInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "VariableInstance.java"
+public abstract class org.jbpm.context.exe.VariableInstance extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String name;
+    protected org.jbpm.graph.exe.Token token;
+    protected org.jbpm.context.exe.TokenVariableMap tokenVariableMap;
+    protected org.jbpm.graph.exe.ProcessInstance processInstance;
+    protected org.jbpm.context.exe.Converter converter;
+    protected java.lang.Object valueCache;
+    protected boolean isValueCached;
+    public org.jbpm.context.exe.VariableInstance();
+    public static org.jbpm.context.exe.VariableInstance create(org.jbpm.graph.exe.Token, java.lang.String, java.lang.Object);
+    public static org.jbpm.context.exe.VariableInstance createVariableInstance(java.lang.Object);
+    public abstract boolean isStorable(java.lang.Object);
+    protected abstract java.lang.Object getObject();
+    protected abstract void setObject(java.lang.Object);
+    public boolean supports(java.lang.Object);
+    public void setValue(java.lang.Object);
+    public java.lang.Object getValue();
+    public void removeReferences();
+    public java.lang.String toString();
+    public java.lang.String getName();
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public org.jbpm.graph.exe.Token getToken();
+    public void setTokenVariableMap(org.jbpm.context.exe.TokenVariableMap);
+}
+
+Compiled from "DateInstance.java"
+public class org.jbpm.context.exe.variableinstance.DateInstance extends org.jbpm.context.exe.VariableInstance{
+    protected java.util.Date value;
+    public org.jbpm.context.exe.variableinstance.DateInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "DoubleInstance.java"
+public class org.jbpm.context.exe.variableinstance.DoubleInstance extends org.jbpm.context.exe.VariableInstance{
+    protected java.lang.Double value;
+    public org.jbpm.context.exe.variableinstance.DoubleInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "Ejb3Instance.java"
+public class org.jbpm.context.exe.variableinstance.Ejb3Instance extends org.jbpm.context.exe.VariableInstance{
+    protected java.lang.Long id;
+    protected java.lang.String className;
+    public org.jbpm.context.exe.variableinstance.Ejb3Instance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "HibernateLongInstance.java"
+public class org.jbpm.context.exe.variableinstance.HibernateLongInstance extends org.jbpm.context.exe.VariableInstance{
+    protected java.lang.Object value;
+    public org.jbpm.context.exe.variableinstance.HibernateLongInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "HibernateStringInstance.java"
+public class org.jbpm.context.exe.variableinstance.HibernateStringInstance extends org.jbpm.context.exe.VariableInstance{
+    protected java.lang.Object value;
+    public org.jbpm.context.exe.variableinstance.HibernateStringInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "JcrNodeInstance.java"
+public class org.jbpm.context.exe.variableinstance.JcrNodeInstance extends org.jbpm.context.exe.VariableInstance{
+    public org.jbpm.context.exe.variableinstance.JcrNodeInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "LongInstance.java"
+public class org.jbpm.context.exe.variableinstance.LongInstance extends org.jbpm.context.exe.VariableInstance{
+    protected java.lang.Long value;
+    public org.jbpm.context.exe.variableinstance.LongInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "NullInstance.java"
+public class org.jbpm.context.exe.variableinstance.NullInstance extends org.jbpm.context.exe.VariableInstance{
+    public org.jbpm.context.exe.variableinstance.NullInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "StringInstance.java"
+public class org.jbpm.context.exe.variableinstance.StringInstance extends org.jbpm.context.exe.VariableInstance{
+    protected java.lang.String value;
+    public org.jbpm.context.exe.variableinstance.StringInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "UnpersistableInstance.java"
+public class org.jbpm.context.exe.variableinstance.UnpersistableInstance extends org.jbpm.context.exe.VariableInstance{
+    public org.jbpm.context.exe.variableinstance.UnpersistableInstance();
+    public boolean isStorable(java.lang.Object);
+    protected java.lang.Object getObject();
+    protected void setObject(java.lang.Object);
+}
+
+Compiled from "VariableCreateLog.java"
+public class org.jbpm.context.log.VariableCreateLog extends org.jbpm.context.log.VariableLog{
+    public org.jbpm.context.log.VariableCreateLog();
+    public org.jbpm.context.log.VariableCreateLog(org.jbpm.context.exe.VariableInstance);
+    public java.lang.String toString();
+}
+
+Compiled from "VariableDeleteLog.java"
+public class org.jbpm.context.log.VariableDeleteLog extends org.jbpm.context.log.VariableLog{
+    public org.jbpm.context.log.VariableDeleteLog();
+    public org.jbpm.context.log.VariableDeleteLog(org.jbpm.context.exe.VariableInstance);
+    public java.lang.String toString();
+}
+
+Compiled from "ByteArrayUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.ByteArrayUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.ByteArrayUpdateLog();
+    public org.jbpm.context.log.variableinstance.ByteArrayUpdateLog(org.jbpm.context.exe.VariableInstance, org.jbpm.bytes.ByteArray, org.jbpm.bytes.ByteArray);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+    public java.lang.String toString();
+}
+
+Compiled from "DateUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.DateUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.DateUpdateLog();
+    public org.jbpm.context.log.variableinstance.DateUpdateLog(org.jbpm.context.exe.VariableInstance, java.util.Date, java.util.Date);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+}
+
+Compiled from "DoubleUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.DoubleUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.DoubleUpdateLog();
+    public org.jbpm.context.log.variableinstance.DoubleUpdateLog(org.jbpm.context.exe.VariableInstance, java.lang.Double, java.lang.Double);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+}
+
+Compiled from "HibernateLongUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.HibernateLongUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.HibernateLongUpdateLog();
+    public org.jbpm.context.log.variableinstance.HibernateLongUpdateLog(org.jbpm.context.exe.VariableInstance, java.lang.Object, java.lang.Object);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+}
+
+Compiled from "HibernateStringUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.HibernateStringUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.HibernateStringUpdateLog();
+    public org.jbpm.context.log.variableinstance.HibernateStringUpdateLog(org.jbpm.context.exe.VariableInstance, java.lang.Object, java.lang.Object);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+}
+
+Compiled from "LongUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.LongUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.LongUpdateLog();
+    public org.jbpm.context.log.variableinstance.LongUpdateLog(org.jbpm.context.exe.VariableInstance, java.lang.Long, java.lang.Long);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+}
+
+Compiled from "StringUpdateLog.java"
+public class org.jbpm.context.log.variableinstance.StringUpdateLog extends org.jbpm.context.log.VariableUpdateLog{
+    public org.jbpm.context.log.variableinstance.StringUpdateLog();
+    public org.jbpm.context.log.variableinstance.StringUpdateLog(org.jbpm.context.exe.VariableInstance, java.lang.String, java.lang.String);
+    public java.lang.Object getOldValue();
+    public java.lang.Object getNewValue();
+}
+
+Compiled from "VariableLog.java"
+public abstract class org.jbpm.context.log.VariableLog extends org.jbpm.logging.log.ProcessLog{
+    protected org.jbpm.context.exe.VariableInstance variableInstance;
+    public org.jbpm.context.log.VariableLog();
+    public org.jbpm.context.log.VariableLog(org.jbpm.context.exe.VariableInstance);
+    public org.jbpm.context.exe.VariableInstance getVariableInstance();
+}
+
+Compiled from "VariableUpdateLog.java"
+public abstract class org.jbpm.context.log.VariableUpdateLog extends org.jbpm.context.log.VariableLog{
+    public org.jbpm.context.log.VariableUpdateLog();
+    public org.jbpm.context.log.VariableUpdateLog(org.jbpm.context.exe.VariableInstance);
+    public abstract java.lang.Object getOldValue();
+    public abstract java.lang.Object getNewValue();
+    public java.lang.String toString();
+    public void undo();
+}
+
+Compiled from "AbstractDbTestCase.java"
+public abstract class org.jbpm.db.AbstractDbTestCase extends org.jbpm.AbstractJbpmTestCase{
+    protected org.jbpm.JbpmConfiguration jbpmConfiguration;
+    protected org.jbpm.JbpmContext jbpmContext;
+    protected org.hibernate.Session session;
+    protected org.jbpm.db.GraphSession graphSession;
+    protected org.jbpm.db.TaskMgmtSession taskMgmtSession;
+    protected org.jbpm.db.ContextSession contextSession;
+    protected org.jbpm.db.JobSession jobSession;
+    protected org.jbpm.db.LoggingSession loggingSession;
+    protected org.jbpm.job.executor.JobExecutor jobExecutor;
+    public org.jbpm.db.AbstractDbTestCase();
+    protected void setUp()       throws java.lang.Exception;
+    protected void tearDown()       throws java.lang.Exception;
+    protected java.lang.String getHibernateDialect();
+    protected void beginSessionTransaction();
+    protected void commitAndCloseSession();
+    protected void newTransaction();
+    protected org.jbpm.graph.exe.ProcessInstance saveAndReload(org.jbpm.graph.exe.ProcessInstance);
+    protected org.jbpm.taskmgmt.exe.TaskInstance saveAndReload(org.jbpm.taskmgmt.exe.TaskInstance);
+    protected org.jbpm.graph.def.ProcessDefinition saveAndReload(org.jbpm.graph.def.ProcessDefinition);
+    protected org.jbpm.logging.log.ProcessLog saveAndReload(org.jbpm.logging.log.ProcessLog);
+    protected void createSchema();
+    protected void cleanSchema();
+    protected void dropSchema();
+    protected java.lang.String getJbpmTestConfig();
+    protected org.jbpm.JbpmConfiguration getJbpmConfiguration();
+    protected void createJbpmContext();
+    protected void closeJbpmContext();
+    protected void startJobExecutor();
+    protected void waitForJobs(long);
+    protected int getNbrOfJobsAvailable();
+    protected int getTimerCount();
+    protected void processJobs(long);
+    protected void stopJobExecutor();
+    protected void initializeMembers();
+    protected void resetMembers();
+}
+
+Compiled from "JbpmSchemaUpdate.java"
+public class org.jbpm.db.compatibility.JbpmSchemaUpdate extends java.lang.Object{
+    public org.jbpm.db.compatibility.JbpmSchemaUpdate(org.hibernate.cfg.Configuration);
+    public org.jbpm.db.compatibility.JbpmSchemaUpdate(org.hibernate.cfg.Configuration, java.util.Properties);
+    public org.jbpm.db.compatibility.JbpmSchemaUpdate(org.hibernate.cfg.Configuration, org.hibernate.cfg.Settings);
+    public void setOutputFile(java.io.File);
+    public void setDelimiter(java.lang.String);
+    public static void main(java.lang.String[]);
+    public void execute(boolean, boolean, java.io.File);
+    public void execute(boolean, boolean);
+    public java.util.List getExceptions();
+}
+
+Compiled from "ContextSession.java"
+public class org.jbpm.db.ContextSession extends java.lang.Object{
+    public org.jbpm.db.ContextSession(org.jbpm.db.JbpmSession);
+    public org.jbpm.db.ContextSession(org.hibernate.Session);
+}
+
+Compiled from "GraphSession.java"
+public class org.jbpm.db.GraphSession$AverageNodeTimeEntry extends java.lang.Object{
+    public org.jbpm.db.GraphSession$AverageNodeTimeEntry();
+    public long getNodeId();
+    public void setNodeId(long);
+    public java.lang.String getNodeName();
+    public void setNodeName(java.lang.String);
+    public int getCount();
+    public void setCount(int);
+    public long getAverageDuration();
+    public void setAverageDuration(long);
+    public long getMinDuration();
+    public void setMinDuration(long);
+    public long getMaxDuration();
+    public void setMaxDuration(long);
+}
+
+Compiled from "GraphSession.java"
+public class org.jbpm.db.GraphSession extends java.lang.Object{
+    public org.jbpm.db.GraphSession(org.jbpm.db.JbpmSession);
+    public org.jbpm.db.GraphSession(org.hibernate.Session);
+    public void deployProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public void saveProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public org.jbpm.graph.def.ProcessDefinition loadProcessDefinition(long);
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition(long);
+    public org.jbpm.graph.def.ProcessDefinition findProcessDefinition(java.lang.String, int);
+    public org.jbpm.graph.def.ProcessDefinition findLatestProcessDefinition(java.lang.String);
+    public java.util.List findLatestProcessDefinitions();
+    public java.util.List findProcessDefinitions(java.util.Collection);
+    public java.util.List findAllProcessDefinitions();
+    public java.util.List findAllProcessDefinitionVersions(java.lang.String);
+    public void deleteProcessDefinition(long);
+    public void deleteProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public void saveProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.graph.exe.ProcessInstance loadProcessInstance(long);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance(long);
+    public org.jbpm.graph.exe.Token loadToken(long);
+    public org.jbpm.graph.exe.Token getToken(long);
+    public void lockProcessInstance(long);
+    public void lockProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public java.util.List findProcessInstances(long);
+    public void deleteProcessInstance(long);
+    public void deleteProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public void deleteProcessInstance(org.jbpm.graph.exe.ProcessInstance, boolean, boolean);
+    public java.util.List calculateAverageTimeByNode(long, long);
+    public java.util.List findActiveNodesByProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance(org.jbpm.graph.def.ProcessDefinition, java.lang.String);
+    public org.jbpm.graph.exe.ProcessInstance loadProcessInstance(org.jbpm.graph.def.ProcessDefinition, java.lang.String);
+}
+
+Compiled from "AccessType.java"
+public class org.jbpm.db.hibernate.AccessType extends org.hibernate.type.ImmutableType implements org.hibernate.type.DiscriminatorType{
+    public org.jbpm.db.hibernate.AccessType();
+    public java.lang.Object get(java.sql.ResultSet, java.lang.String)       throws java.sql.SQLException;
+    public java.lang.Class getReturnedClass();
+    public void set(java.sql.PreparedStatement, java.lang.Object, int)       throws java.sql.SQLException;
+    public int sqlType();
+    public java.lang.String getName();
+    public java.lang.String objectToSQLString(java.lang.Object, org.hibernate.dialect.Dialect)       throws java.lang.Exception;
+    public java.lang.Object stringToObject(java.lang.String)       throws java.lang.Exception;
+    public java.lang.String toString(java.lang.Object);
+    public java.lang.Object fromStringValue(java.lang.String);
+}
+
+Compiled from "ConverterEnumType.java"
+public class org.jbpm.db.hibernate.ConverterEnumType extends java.lang.Object implements org.hibernate.usertype.UserType{
+    public org.jbpm.db.hibernate.ConverterEnumType();
+    public boolean equals(java.lang.Object, java.lang.Object);
+    public int hashCode(java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.lang.Object deepCopy(java.lang.Object)       throws org.hibernate.HibernateException;
+    public boolean isMutable();
+    public java.io.Serializable disassemble(java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.lang.Object assemble(java.io.Serializable, java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.lang.Object replace(java.lang.Object, java.lang.Object, java.lang.Object);
+    public int[] sqlTypes();
+    public java.lang.Class returnedClass();
+    public java.lang.Object nullSafeGet(java.sql.ResultSet, java.lang.String[], java.lang.Object)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public void nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int)       throws org.hibernate.HibernateException, java.sql.SQLException;
+}
+
+Compiled from "Converters.java"
+public class org.jbpm.db.hibernate.Converters extends java.lang.Object{
+    public static org.jbpm.context.exe.Converter getConverterByClassName(java.lang.String);
+    public static org.jbpm.context.exe.Converter getConverterByDatabaseId(java.lang.String);
+    public static java.lang.String getConverterId(org.jbpm.context.exe.Converter);
+    public static void registerConverter(java.lang.String, org.jbpm.context.exe.Converter);
+}
+
+Compiled from "HibernateHelper.java"
+public class org.jbpm.db.hibernate.HibernateHelper extends java.lang.Object{
+    public static void clearConfigurationsCache();
+    public static org.hibernate.SessionFactory createSessionFactory();
+    public static org.hibernate.SessionFactory createSessionFactory(java.lang.String);
+    public static org.hibernate.SessionFactory createSessionFactory(java.lang.String, java.lang.String);
+    public static org.hibernate.SessionFactory createSessionFactory(java.lang.String, java.lang.String, boolean);
+    public static org.hibernate.SessionFactory createSessionFactory(org.hibernate.cfg.Configuration, boolean);
+    public static org.hibernate.cfg.Configuration createConfiguration(java.lang.String, java.lang.String);
+    public static org.hibernate.cfg.Configuration getConfiguration(org.hibernate.SessionFactory);
+    public static org.hibernate.tool.hbm2ddl.SchemaExport createSchemaExport(org.hibernate.SessionFactory);
+    public static boolean createSchemaExportScript(org.hibernate.SessionFactory);
+    public static void clearHibernateCache(org.hibernate.SessionFactory);
+}
+
+Compiled from "JbpmNamingStrategy.java"
+public class org.jbpm.db.hibernate.JbpmNamingStrategy extends java.lang.Object implements org.hibernate.cfg.NamingStrategy{
+    public org.jbpm.db.hibernate.JbpmNamingStrategy();
+    public java.lang.String classToTableName(java.lang.String);
+    public java.lang.String propertyToColumnName(java.lang.String);
+    public java.lang.String tableName(java.lang.String);
+    public java.lang.String columnName(java.lang.String);
+    public java.lang.String propertyToTableName(java.lang.String, java.lang.String);
+    public java.lang.String collectionTableName(java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String joinKeyColumnName(java.lang.String, java.lang.String);
+    public java.lang.String foreignKeyColumnName(java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String logicalColumnName(java.lang.String, java.lang.String);
+    public java.lang.String logicalCollectionTableName(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String logicalCollectionColumnName(java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String collectionTableName(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String foreignKeyColumnName(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+}
+
+Compiled from "StringMax.java"
+public class org.jbpm.db.hibernate.StringMax extends org.hibernate.type.StringType implements org.hibernate.usertype.ParameterizedType{
+    public org.jbpm.db.hibernate.StringMax();
+    public void set(java.sql.PreparedStatement, java.lang.Object, int)       throws java.sql.SQLException;
+    public void setParameterValues(java.util.Properties);
+}
+
+Compiled from "TextType.java"
+public class org.jbpm.db.hibernate.TextType extends java.lang.Object implements org.hibernate.usertype.EnhancedUserType,java.io.Serializable{
+    public org.jbpm.db.hibernate.TextType();
+    public java.lang.Object assemble(java.io.Serializable, java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.lang.Object deepCopy(java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.io.Serializable disassemble(java.lang.Object)       throws org.hibernate.HibernateException;
+    public boolean equals(java.lang.Object, java.lang.Object)       throws org.hibernate.HibernateException;
+    public int hashCode(java.lang.Object)       throws org.hibernate.HibernateException;
+    public boolean isMutable();
+    public java.lang.Object nullSafeGet(java.sql.ResultSet, java.lang.String[], java.lang.Object)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public java.lang.Object nullSafeGet(java.sql.ResultSet, java.lang.String)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public java.lang.Object get(java.sql.ResultSet, java.lang.String)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public void nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public void set(java.sql.PreparedStatement, java.lang.Object, int)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public void setNull(java.sql.PreparedStatement, int)       throws org.hibernate.HibernateException, java.sql.SQLException;
+    public java.lang.Object replace(java.lang.Object, java.lang.Object, java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.lang.Class returnedClass();
+    public int[] sqlTypes();
+    public int sqlType();
+    public java.lang.String objectToSQLString(java.lang.Object);
+    public java.lang.Object fromXMLString(java.lang.String);
+    public java.lang.String toXMLString(java.lang.Object);
+    public java.lang.String nullSafeToString(java.lang.Object)       throws org.hibernate.HibernateException;
+    public java.lang.String toString(java.lang.Object);
+    public java.lang.Object fromStringValue(java.lang.String);
+}
+
+Compiled from "JbpmSchema.java"
+public class org.jbpm.db.JbpmSchema extends java.lang.Object{
+    public org.jbpm.db.JbpmSchema(org.hibernate.cfg.Configuration);
+    public java.lang.String[] getCreateSql();
+    public java.lang.String[] getDropSql();
+    public java.lang.String[] getCleanSql();
+    public java.util.Set getJbpmTables();
+    public java.util.Set getExistingTables();
+    public java.util.Map getRowsPerTable();
+    public void dropSchema();
+    public void createSchema();
+    public void cleanSchema();
+    public void saveSqlScripts(java.lang.String, java.lang.String);
+    public boolean tableExists(java.lang.String);
+    public void createTable(java.lang.String);
+    public void updateTable(java.lang.String);
+    public java.util.List getExceptions();
+    public static void main(java.lang.String[]);
+    public java.util.Properties getProperties();
+}
+
+Compiled from "JbpmSession.java"
+public class org.jbpm.db.JbpmSession extends java.lang.Object{
+    public org.jbpm.db.JbpmSession(org.jbpm.db.JbpmSessionFactory, org.hibernate.Session);
+    public org.jbpm.db.JbpmSession(org.hibernate.Session);
+    public org.jbpm.db.JbpmSessionFactory getJbpmSessionFactory();
+    public java.sql.Connection getConnection();
+    public org.hibernate.Session getSession();
+    public org.hibernate.Transaction getTransaction();
+    public void beginTransaction();
+    public void commitTransaction();
+    public void rollbackTransaction();
+    public void commitTransactionAndClose();
+    public void rollbackTransactionAndClose();
+    public org.jbpm.db.GraphSession getGraphSession();
+    public org.jbpm.db.ContextSession getContextSession();
+    public org.jbpm.db.TaskMgmtSession getTaskMgmtSession();
+    public org.jbpm.db.LoggingSession getLoggingSession();
+    public org.jbpm.db.JobSession getJobSession();
+    public void close();
+    public void pushCurrentSession();
+    public static org.jbpm.db.JbpmSession getCurrentJbpmSession();
+    public void popCurrentSession();
+}
+
+Compiled from "JbpmSessionFactory.java"
+public class org.jbpm.db.JbpmSessionFactory extends java.lang.Object implements java.io.Serializable{
+    public static org.jbpm.db.JbpmSessionFactory getInstance();
+    public org.jbpm.db.JbpmSessionFactory(org.hibernate.cfg.Configuration);
+    public org.jbpm.db.JbpmSessionFactory(org.hibernate.cfg.Configuration, org.hibernate.SessionFactory);
+    public static org.jbpm.db.JbpmSessionFactory buildJbpmSessionFactory();
+    public static org.jbpm.db.JbpmSessionFactory buildJbpmSessionFactory(java.lang.String);
+    public static org.jbpm.db.JbpmSessionFactory buildJbpmSessionFactory(org.hibernate.cfg.Configuration);
+    public static org.hibernate.cfg.Configuration createConfiguration();
+    public static org.hibernate.cfg.Configuration createConfiguration(java.lang.String);
+    public static org.hibernate.SessionFactory buildSessionFactory(org.hibernate.cfg.Configuration);
+    public org.jbpm.db.JbpmSession openJbpmSession();
+    public org.jbpm.db.JbpmSession openJbpmSession(java.sql.Connection);
+    public org.jbpm.db.JbpmSession openJbpmSession(org.hibernate.Session);
+    public org.jbpm.db.JbpmSession openJbpmSessionAndBeginTransaction();
+    public org.hibernate.SessionFactory getSessionFactory();
+    public org.hibernate.cfg.Configuration getConfiguration();
+    public boolean isHibernatableWithLongId(java.lang.Class);
+    public boolean isHibernatableWithStringId(java.lang.Class);
+    public org.jbpm.db.JbpmSchema getJbpmSchema();
+}
+
+Compiled from "JobSession.java"
+public class org.jbpm.db.JobSession extends java.lang.Object{
+    public org.jbpm.db.JobSession(org.hibernate.Session);
+    public org.jbpm.job.Job getFirstAcquirableJob(java.lang.String);
+    public java.util.List findExclusiveJobs(java.lang.String, org.jbpm.graph.exe.ProcessInstance);
+    public java.util.List findJobsByToken(org.jbpm.graph.exe.Token);
+    public org.jbpm.job.Job getFirstDueJob(java.lang.String, java.util.Collection);
+    public void saveJob(org.jbpm.job.Job);
+    public void deleteJob(org.jbpm.job.Job);
+    public org.jbpm.job.Job loadJob(long);
+    public org.jbpm.job.Timer loadTimer(long);
+    public java.util.List loadJobs(long[]);
+    public org.jbpm.job.Job getJob(long);
+    public void suspendJobs(org.jbpm.graph.exe.Token);
+    public void resumeJobs(org.jbpm.graph.exe.Token);
+    public void deleteTimersByName(java.lang.String, org.jbpm.graph.exe.Token);
+    public void deleteJobsForProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public java.util.List findJobsWithOverdueLockTime(java.util.Date);
+    public java.util.List findFailedJobs();
+}
+
+Compiled from "LoggingSession.java"
+public class org.jbpm.db.LoggingSession extends java.lang.Object{
+    public org.jbpm.db.LoggingSession(org.jbpm.db.JbpmSession);
+    public org.jbpm.db.LoggingSession(org.hibernate.Session);
+    public java.util.Map findLogsByProcessInstance(long);
+    public java.util.Map findLogsByProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public java.util.List findLogsByToken(long);
+    public java.util.List findLogsByToken(org.jbpm.graph.exe.Token);
+    public void saveProcessLog(org.jbpm.logging.log.ProcessLog);
+    public org.jbpm.logging.log.ProcessLog loadProcessLog(long);
+    public org.jbpm.logging.log.ProcessLog getProcessLog(long);
+}
+
+Compiled from "TaskMgmtSession.java"
+public class org.jbpm.db.TaskMgmtSession extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.db.TaskMgmtSession(org.jbpm.db.JbpmSession);
+    public org.jbpm.db.TaskMgmtSession(org.hibernate.Session);
+    public java.util.List findTaskInstances(java.lang.String);
+    public java.util.List findTaskInstances(java.util.List);
+    public java.util.List findTaskInstances(java.lang.String[]);
+    public java.util.List findPooledTaskInstances(java.lang.String);
+    public java.util.List findPooledTaskInstances(java.util.List);
+    public java.util.List findTaskInstancesByToken(long);
+    public java.util.List findTaskInstancesByProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.taskmgmt.exe.TaskInstance loadTaskInstance(long);
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance(long);
+    public java.util.List findTaskInstancesByIds(java.util.List);
+}
+
+Compiled from "FileDefinition.java"
+public class org.jbpm.file.def.FileDefinition extends org.jbpm.module.def.ModuleDefinition{
+    public org.jbpm.file.def.FileDefinition();
+    public org.jbpm.module.exe.ModuleInstance createInstance();
+    public void addFile(java.lang.String, byte[]);
+    public void addFile(java.lang.String, java.io.InputStream);
+    public java.io.InputStream getInputStream(java.lang.String);
+    public boolean hasFile(java.lang.String);
+    public java.util.Map getInputStreamMap();
+    public java.util.Map getBytesMap();
+    public byte[] getBytes(java.lang.String);
+}
+
+Compiled from "ActionTypes.java"
+public class org.jbpm.graph.action.ActionTypes extends java.lang.Object{
+    public org.jbpm.graph.action.ActionTypes();
+    public static java.util.Set getActionTypes();
+    public static java.util.Set getActionNames();
+    public static java.lang.Class getActionType(java.lang.String);
+    public static java.lang.String getActionName(java.lang.Class);
+    public static boolean hasActionName(java.lang.String);
+}
+
+Compiled from "MailAction.java"
+public class org.jbpm.graph.action.MailAction extends org.jbpm.graph.def.Action{
+    public org.jbpm.graph.action.MailAction();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+}
+
+Compiled from "Script.java"
+public class org.jbpm.graph.action.Script extends org.jbpm.graph.def.Action{
+    protected java.lang.String expression;
+    protected java.util.Set variableAccesses;
+    public org.jbpm.graph.action.Script();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    public java.util.Map eval(org.jbpm.graph.exe.Token);
+    public java.util.Map eval(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.Map createInputMap(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.Map eval(java.util.Map, java.util.Set);
+    public void addVariableAccess(org.jbpm.context.def.VariableAccess);
+    public java.lang.String getExpression();
+    public void setExpression(java.lang.String);
+    public java.util.Set getVariableAccesses();
+    public void setVariableAccesses(java.util.Set);
+}
+
+Compiled from "SeamedAction.java"
+public class org.jbpm.graph.action.SeamedAction extends java.lang.Object implements org.jbpm.graph.def.ActionHandler{
+    public org.jbpm.graph.action.SeamedAction();
+    public void execute(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    protected void beginSeamConversation(org.jbpm.graph.exe.ExecutionContext);
+    protected void invokeSeamObjectExpression();
+    protected void endSeamConversation(org.jbpm.graph.exe.ExecutionContext);
+}
+
+Compiled from "Action.java"
+public class org.jbpm.graph.def.Action extends java.lang.Object implements org.jbpm.graph.def.ActionHandler,org.jbpm.jpdl.xml.Parsable,java.io.Serializable{
+    protected java.lang.String name;
+    protected boolean isPropagationAllowed;
+    protected boolean isAsync;
+    protected boolean isAsyncExclusive;
+    protected org.jbpm.graph.def.Action referencedAction;
+    protected org.jbpm.instantiation.Delegation actionDelegation;
+    protected java.lang.String actionExpression;
+    protected org.jbpm.graph.def.Event event;
+    protected org.jbpm.graph.def.ProcessDefinition processDefinition;
+    public org.jbpm.graph.def.Action();
+    public org.jbpm.graph.def.Action(org.jbpm.instantiation.Delegation);
+    public java.lang.String toString();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void write(org.dom4j.Element);
+    public void execute(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    public void setName(java.lang.String);
+    public boolean equals(java.lang.Object);
+    public boolean acceptsPropagatedEvents();
+    public boolean isPropagationAllowed();
+    public void setPropagationAllowed(boolean);
+    public long getId();
+    public java.lang.String getName();
+    public org.jbpm.graph.def.Event getEvent();
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void setProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public org.jbpm.instantiation.Delegation getActionDelegation();
+    public void setActionDelegation(org.jbpm.instantiation.Delegation);
+    public org.jbpm.graph.def.Action getReferencedAction();
+    public void setReferencedAction(org.jbpm.graph.def.Action);
+    public boolean isAsync();
+    public boolean isAsyncExclusive();
+    public java.lang.String getActionExpression();
+    public void setActionExpression(java.lang.String);
+    public void setEvent(org.jbpm.graph.def.Event);
+    public void setAsync(boolean);
+}
+
+Compiled from "ActionHandler.java"
+public interface org.jbpm.graph.def.ActionHandler extends java.io.Serializable{
+    public abstract void execute(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+}
+
+Compiled from "DelegationException.java"
+public class org.jbpm.graph.def.DelegationException extends org.jbpm.JbpmException{
+    protected transient org.jbpm.graph.exe.ExecutionContext executionContext;
+    public org.jbpm.graph.def.DelegationException(java.lang.Throwable, org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.graph.def.DelegationException(java.lang.String, java.lang.Throwable);
+    public org.jbpm.graph.exe.ExecutionContext getExecutionContext();
+}
+
+Compiled from "EventCallback.java"
+final class org.jbpm.graph.def.EventCallback$1 extends java.lang.Object implements javax.transaction.Synchronization{
+    public void beforeCompletion();
+    public void afterCompletion(int);
+}
+
+Compiled from "EventCallback.java"
+public class org.jbpm.graph.def.EventCallback extends java.lang.Object implements java.io.Serializable{
+    public static final int DEFAULT_TIMEOUT;
+    public org.jbpm.graph.def.EventCallback();
+    public void processStart();
+    public void processEnd();
+    public void nodeEnter();
+    public void nodeLeave();
+    public void taskCreate();
+    public void taskEnd();
+    public void timerCreate();
+    public void timer();
+    public void transition();
+    public static void waitForEvent(java.lang.String);
+    public static void waitForEvent(java.lang.String, long);
+    public static void clear();
+}
+
+Compiled from "Event.java"
+public class org.jbpm.graph.def.Event extends java.lang.Object implements java.io.Serializable{
+    public static final java.lang.String EVENTTYPE_TRANSITION;
+    public static final java.lang.String EVENTTYPE_BEFORE_SIGNAL;
+    public static final java.lang.String EVENTTYPE_AFTER_SIGNAL;
+    public static final java.lang.String EVENTTYPE_PROCESS_START;
+    public static final java.lang.String EVENTTYPE_PROCESS_END;
+    public static final java.lang.String EVENTTYPE_NODE_ENTER;
+    public static final java.lang.String EVENTTYPE_NODE_LEAVE;
+    public static final java.lang.String EVENTTYPE_SUPERSTATE_ENTER;
+    public static final java.lang.String EVENTTYPE_SUPERSTATE_LEAVE;
+    public static final java.lang.String EVENTTYPE_SUBPROCESS_CREATED;
+    public static final java.lang.String EVENTTYPE_SUBPROCESS_END;
+    public static final java.lang.String EVENTTYPE_TASK_CREATE;
+    public static final java.lang.String EVENTTYPE_TASK_ASSIGN;
+    public static final java.lang.String EVENTTYPE_TASK_START;
+    public static final java.lang.String EVENTTYPE_TASK_END;
+    public static final java.lang.String EVENTTYPE_TIMER_CREATE;
+    public static final java.lang.String EVENTTYPE_TIMER;
+    protected java.lang.String eventType;
+    protected org.jbpm.graph.def.GraphElement graphElement;
+    protected java.util.List actions;
+    public org.jbpm.graph.def.Event();
+    public org.jbpm.graph.def.Event(java.lang.String);
+    public org.jbpm.graph.def.Event(org.jbpm.graph.def.GraphElement, java.lang.String);
+    public java.util.List getActions();
+    public boolean hasActions();
+    public org.jbpm.graph.def.Action addAction(org.jbpm.graph.def.Action);
+    public void removeAction(org.jbpm.graph.def.Action);
+    public java.lang.String toString();
+    public boolean equals(java.lang.Object);
+    public java.lang.String getEventType();
+    public org.jbpm.graph.def.GraphElement getGraphElement();
+    public long getId();
+}
+
+Compiled from "ExceptionHandler.java"
+public class org.jbpm.graph.def.ExceptionHandler extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String exceptionClassName;
+    protected org.jbpm.graph.def.GraphElement graphElement;
+    protected java.util.List actions;
+    public org.jbpm.graph.def.ExceptionHandler();
+    public boolean matches(java.lang.Throwable);
+    public void handleException(org.jbpm.graph.def.GraphElement, org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    public java.util.List getActions();
+    public void addAction(org.jbpm.graph.def.Action);
+    public void removeAction(org.jbpm.graph.def.Action);
+    public void reorderAction(int, int);
+    public java.lang.String getExceptionClassName();
+    public void setExceptionClassName(java.lang.String);
+    public org.jbpm.graph.def.GraphElement getGraphElement();
+}
+
+Compiled from "GraphElement.java"
+public abstract class org.jbpm.graph.def.GraphElement extends java.lang.Object implements org.jbpm.graph.def.Identifiable,java.io.Serializable{
+    protected java.lang.String name;
+    protected java.lang.String description;
+    protected org.jbpm.graph.def.ProcessDefinition processDefinition;
+    protected java.util.Map events;
+    protected java.util.List exceptionHandlers;
+    public org.jbpm.graph.def.GraphElement();
+    public org.jbpm.graph.def.GraphElement(java.lang.String);
+    public abstract java.lang.String[] getSupportedEventTypes();
+    public java.util.Map getEvents();
+    public boolean hasEvents();
+    public org.jbpm.graph.def.Event getEvent(java.lang.String);
+    public boolean hasEvent(java.lang.String);
+    public org.jbpm.graph.def.Event addEvent(org.jbpm.graph.def.Event);
+    public org.jbpm.graph.def.Event removeEvent(org.jbpm.graph.def.Event);
+    public java.util.List getExceptionHandlers();
+    public org.jbpm.graph.def.ExceptionHandler addExceptionHandler(org.jbpm.graph.def.ExceptionHandler);
+    public void removeExceptionHandler(org.jbpm.graph.def.ExceptionHandler);
+    public void reorderExceptionHandler(int, int);
+    public void fireEvent(java.lang.String, org.jbpm.graph.exe.ExecutionContext);
+    public void fireAndPropagateEvent(java.lang.String, org.jbpm.graph.exe.ExecutionContext);
+    protected org.jbpm.job.ExecuteActionJob createAsyncActionExecutionJob(org.jbpm.graph.exe.Token, org.jbpm.graph.def.Action);
+    public void executeAction(org.jbpm.graph.def.Action, org.jbpm.graph.exe.ExecutionContext);
+    public void raiseException(java.lang.Throwable, org.jbpm.graph.exe.ExecutionContext)       throws org.jbpm.graph.def.DelegationException;
+    protected org.jbpm.graph.def.ExceptionHandler findExceptionHandler(java.lang.Throwable);
+    public org.jbpm.graph.def.GraphElement getParent();
+    public java.util.List getParents();
+    public java.util.List getParentChain();
+    public java.lang.String toString();
+    public boolean equals(java.lang.Object);
+    public long getId();
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public java.lang.String getDescription();
+    public void setDescription(java.lang.String);
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void setProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "Identifiable.java"
+public interface org.jbpm.graph.def.Identifiable{
+    public abstract long getId();
+}
+
+Compiled from "Node.java"
+public class org.jbpm.graph.def.Node extends org.jbpm.graph.def.GraphElement implements org.jbpm.jpdl.xml.Parsable{
+    protected java.util.List leavingTransitions;
+    protected java.util.Set arrivingTransitions;
+    protected org.jbpm.graph.def.Action action;
+    protected org.jbpm.graph.def.SuperState superState;
+    protected boolean isAsync;
+    protected boolean isAsyncExclusive;
+    public static final java.lang.String[] supportedEventTypes;
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public java.lang.String getNameExt();
+    public java.lang.String[] getSupportedEventTypes();
+    public org.jbpm.graph.def.Node();
+    public org.jbpm.graph.def.Node(java.lang.String);
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void write(org.dom4j.Element);
+    public java.util.List getLeavingTransitions();
+    public java.util.List getLeavingTransitionsList();
+    public java.util.Map getLeavingTransitionsMap();
+    public org.jbpm.graph.def.Transition addLeavingTransition(org.jbpm.graph.def.Transition);
+    public void removeLeavingTransition(org.jbpm.graph.def.Transition);
+    public boolean hasLeavingTransition(java.lang.String);
+    public org.jbpm.graph.def.Transition getLeavingTransition(java.lang.String);
+    public boolean hasNoLeavingTransitions();
+    public java.lang.String generateNextLeavingTransitionName();
+    public org.jbpm.graph.def.Transition getDefaultLeavingTransition();
+    public void reorderLeavingTransition(int, int);
+    public java.util.Set getArrivingTransitions();
+    public org.jbpm.graph.def.Transition addArrivingTransition(org.jbpm.graph.def.Transition);
+    public void removeArrivingTransition(org.jbpm.graph.def.Transition);
+    public org.jbpm.graph.def.GraphElement getParent();
+    public void enter(org.jbpm.graph.exe.ExecutionContext);
+    protected org.jbpm.job.ExecuteNodeJob createAsyncContinuationJob(org.jbpm.graph.exe.Token);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public void leave(org.jbpm.graph.exe.ExecutionContext);
+    public void leave(org.jbpm.graph.exe.ExecutionContext, java.lang.String);
+    public void leave(org.jbpm.graph.exe.ExecutionContext, org.jbpm.graph.def.Transition);
+    protected void addNodeLog(org.jbpm.graph.exe.Token);
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void setName(java.lang.String);
+    public java.lang.String getFullyQualifiedName();
+    public boolean isSuperStateNode();
+    public java.util.List getNodes();
+    public org.jbpm.graph.def.SuperState getSuperState();
+    public org.jbpm.graph.def.Action getAction();
+    public void setAction(org.jbpm.graph.def.Action);
+    public boolean isAsync();
+    public void setAsync(boolean);
+    public boolean isAsyncExclusive();
+    public void setAsyncExclusive(boolean);
+}
+
+Compiled from "NodeCollection.java"
+public interface org.jbpm.graph.def.NodeCollection extends java.io.Serializable{
+    public abstract java.util.List getNodes();
+    public abstract java.util.Map getNodesMap();
+    public abstract org.jbpm.graph.def.Node getNode(java.lang.String);
+    public abstract boolean hasNode(java.lang.String);
+    public abstract org.jbpm.graph.def.Node addNode(org.jbpm.graph.def.Node);
+    public abstract org.jbpm.graph.def.Node removeNode(org.jbpm.graph.def.Node);
+    public abstract void reorderNode(int, int);
+    public abstract java.lang.String generateNodeName();
+    public abstract org.jbpm.graph.def.Node findNode(java.lang.String);
+}
+
+Compiled from "Node.java"
+public final class org.jbpm.graph.def.Node$NodeType extends java.lang.Enum{
+    public static final org.jbpm.graph.def.Node$NodeType Node;
+    public static final org.jbpm.graph.def.Node$NodeType StartState;
+    public static final org.jbpm.graph.def.Node$NodeType EndState;
+    public static final org.jbpm.graph.def.Node$NodeType State;
+    public static final org.jbpm.graph.def.Node$NodeType Task;
+    public static final org.jbpm.graph.def.Node$NodeType Fork;
+    public static final org.jbpm.graph.def.Node$NodeType Join;
+    public static final org.jbpm.graph.def.Node$NodeType Decision;
+    public static org.jbpm.graph.def.Node$NodeType[] values();
+    public static org.jbpm.graph.def.Node$NodeType valueOf(java.lang.String);
+}
+
+Compiled from "ProcessDefinition.java"
+public class org.jbpm.graph.def.ProcessDefinition extends org.jbpm.graph.def.GraphElement implements org.jbpm.graph.def.NodeCollection{
+    protected int version;
+    protected boolean isTerminationImplicit;
+    protected org.jbpm.graph.def.Node startState;
+    protected java.util.List nodes;
+    protected java.util.Map actions;
+    protected java.util.Map definitions;
+    public static final java.lang.String[] supportedEventTypes;
+    public java.lang.String[] getSupportedEventTypes();
+    public org.jbpm.graph.def.ProcessDefinition();
+    public static org.jbpm.graph.def.ProcessDefinition createNewProcessDefinition();
+    public org.jbpm.graph.def.ProcessDefinition(java.lang.String);
+    public org.jbpm.graph.def.ProcessDefinition(java.lang.String[], java.lang.String[]);
+    public org.jbpm.graph.exe.ProcessInstance createProcessInstance();
+    public org.jbpm.graph.exe.ProcessInstance createProcessInstance(java.util.Map);
+    public org.jbpm.graph.exe.ProcessInstance createProcessInstance(java.util.Map, java.lang.String);
+    public void setProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public static org.jbpm.graph.def.ProcessDefinition parseXmlString(java.lang.String);
+    public static org.jbpm.graph.def.ProcessDefinition parseXmlResource(java.lang.String);
+    public static org.jbpm.graph.def.ProcessDefinition parseXmlInputStream(java.io.InputStream);
+    public static org.jbpm.graph.def.ProcessDefinition parseXmlReader(java.io.Reader);
+    public static org.jbpm.graph.def.ProcessDefinition parseParZipInputStream(java.util.zip.ZipInputStream)       throws java.io.IOException;
+    public static org.jbpm.graph.def.ProcessDefinition parseParResource(java.lang.String)       throws java.io.IOException;
+    public java.util.List getNodes();
+    public java.util.Map getNodesMap();
+    public org.jbpm.graph.def.Node getNode(java.lang.String);
+    public boolean hasNode(java.lang.String);
+    public org.jbpm.graph.def.Node addNode(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.Node removeNode(org.jbpm.graph.def.Node);
+    public void reorderNode(int, int);
+    public java.lang.String generateNodeName();
+    public org.jbpm.graph.def.Node findNode(java.lang.String);
+    public static java.lang.String generateNodeName(java.util.List);
+    public static org.jbpm.graph.def.Node findNode(org.jbpm.graph.def.NodeCollection, java.lang.String);
+    public void setStartState(org.jbpm.graph.node.StartState);
+    public org.jbpm.graph.def.GraphElement getParent();
+    public org.jbpm.graph.def.Action addAction(org.jbpm.graph.def.Action);
+    public void removeAction(org.jbpm.graph.def.Action);
+    public org.jbpm.graph.def.Action getAction(java.lang.String);
+    public java.util.Map getActions();
+    public boolean hasActions();
+    public java.lang.Object createInstance();
+    public org.jbpm.module.def.ModuleDefinition addDefinition(org.jbpm.module.def.ModuleDefinition);
+    public org.jbpm.module.def.ModuleDefinition removeDefinition(org.jbpm.module.def.ModuleDefinition);
+    public org.jbpm.module.def.ModuleDefinition getDefinition(java.lang.Class);
+    public org.jbpm.context.def.ContextDefinition getContextDefinition();
+    public org.jbpm.file.def.FileDefinition getFileDefinition();
+    public org.jbpm.taskmgmt.def.TaskMgmtDefinition getTaskMgmtDefinition();
+    public java.util.Map getDefinitions();
+    public void setDefinitions(java.util.Map);
+    public int getVersion();
+    public void setVersion(int);
+    public org.jbpm.graph.def.Node getStartState();
+    public void setStartState(org.jbpm.graph.def.Node);
+    public boolean isTerminationImplicit();
+    public void setTerminationImplicit(boolean);
+}
+
+Compiled from "SuperState.java"
+public class org.jbpm.graph.def.SuperState extends org.jbpm.graph.def.Node implements org.jbpm.graph.def.NodeCollection{
+    protected java.util.List nodes;
+    public static final java.lang.String[] supportedEventTypes;
+    public org.jbpm.graph.def.SuperState();
+    public org.jbpm.graph.def.SuperState(java.lang.String);
+    public java.lang.String[] getSupportedEventTypes();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.List getNodes();
+    public java.util.Map getNodesMap();
+    public org.jbpm.graph.def.Node getNode(java.lang.String);
+    public boolean hasNode(java.lang.String);
+    public org.jbpm.graph.def.Node addNode(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.Node removeNode(org.jbpm.graph.def.Node);
+    public void reorderNode(int, int);
+    public java.lang.String generateNodeName();
+    public org.jbpm.graph.def.Node findNode(java.lang.String);
+    public boolean containsNode(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.GraphElement getParent();
+    public boolean isSuperStateNode();
+}
+
+Compiled from "Transition.java"
+public class org.jbpm.graph.def.Transition extends org.jbpm.graph.def.GraphElement{
+    protected org.jbpm.graph.def.Node from;
+    protected org.jbpm.graph.def.Node to;
+    protected java.lang.String condition;
+    public static final java.lang.String[] supportedEventTypes;
+    public java.lang.String[] getSupportedEventTypes();
+    public org.jbpm.graph.def.Transition();
+    public org.jbpm.graph.def.Transition(java.lang.String);
+    public org.jbpm.graph.def.Node getFrom();
+    public void setFrom(org.jbpm.graph.def.Node);
+    public void setTo(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.Node getTo();
+    public java.lang.String getCondition();
+    public void setCondition(java.lang.String);
+    public void removeConditionEnforcement();
+    public void take(org.jbpm.graph.exe.ExecutionContext);
+    public void setName(java.lang.String);
+    public org.jbpm.graph.def.GraphElement getParent();
+}
+
+Compiled from "Comment.java"
+public class org.jbpm.graph.exe.Comment extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String actorId;
+    protected java.util.Date time;
+    protected java.lang.String message;
+    protected org.jbpm.graph.exe.Token token;
+    protected org.jbpm.taskmgmt.exe.TaskInstance taskInstance;
+    public org.jbpm.graph.exe.Comment();
+    public org.jbpm.graph.exe.Comment(java.lang.String);
+    public org.jbpm.graph.exe.Comment(java.lang.String, java.lang.String);
+    public java.lang.String toString();
+    public boolean equals(java.lang.Object);
+    public java.lang.String getActorId();
+    public long getId();
+    public java.lang.String getMessage();
+    public java.util.Date getTime();
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance();
+    public org.jbpm.graph.exe.Token getToken();
+    public void setTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public void setToken(org.jbpm.graph.exe.Token);
+    public void setActorId(java.lang.String);
+    public void setMessage(java.lang.String);
+    public void setTime(java.util.Date);
+}
+
+Compiled from "Execution.java"
+public class org.jbpm.graph.exe.Execution extends org.jbpm.graph.exe.ProcessInstance{
+    public org.jbpm.graph.exe.Execution(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "ExecutionContext.java"
+public class org.jbpm.graph.exe.ExecutionContext extends java.lang.Object{
+    protected org.jbpm.graph.exe.Token token;
+    protected org.jbpm.graph.def.Event event;
+    protected org.jbpm.graph.def.GraphElement eventSource;
+    protected org.jbpm.graph.def.Action action;
+    protected java.lang.Throwable exception;
+    protected org.jbpm.graph.def.Transition transition;
+    protected org.jbpm.graph.def.Node transitionSource;
+    protected org.jbpm.taskmgmt.def.Task task;
+    protected org.jbpm.job.Timer timer;
+    protected org.jbpm.taskmgmt.exe.TaskInstance taskInstance;
+    protected org.jbpm.graph.exe.ProcessInstance subProcessInstance;
+    public org.jbpm.graph.exe.ExecutionContext(org.jbpm.graph.exe.Token);
+    public org.jbpm.graph.exe.ExecutionContext(org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.graph.def.Node getNode();
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void setAction(org.jbpm.graph.def.Action);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public java.lang.String toString();
+    public void setVariable(java.lang.String, java.lang.Object);
+    public java.lang.Object getVariable(java.lang.String);
+    public void leaveNode();
+    public void leaveNode(java.lang.String);
+    public void leaveNode(org.jbpm.graph.def.Transition);
+    public org.jbpm.module.def.ModuleDefinition getDefinition(java.lang.Class);
+    public org.jbpm.module.exe.ModuleInstance getInstance(java.lang.Class);
+    public org.jbpm.context.exe.ContextInstance getContextInstance();
+    public org.jbpm.taskmgmt.exe.TaskMgmtInstance getTaskMgmtInstance();
+    public org.jbpm.JbpmContext getJbpmContext();
+    public void setTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public org.jbpm.graph.exe.Token getToken();
+    public org.jbpm.graph.def.Action getAction();
+    public org.jbpm.graph.def.Event getEvent();
+    public void setEvent(org.jbpm.graph.def.Event);
+    public java.lang.Throwable getException();
+    public void setException(java.lang.Throwable);
+    public org.jbpm.graph.def.Transition getTransition();
+    public void setTransition(org.jbpm.graph.def.Transition);
+    public org.jbpm.graph.def.Node getTransitionSource();
+    public void setTransitionSource(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.GraphElement getEventSource();
+    public void setEventSource(org.jbpm.graph.def.GraphElement);
+    public org.jbpm.taskmgmt.def.Task getTask();
+    public void setTask(org.jbpm.taskmgmt.def.Task);
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance();
+    public org.jbpm.graph.exe.ProcessInstance getSubProcessInstance();
+    public void setSubProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.job.Timer getTimer();
+    public void setTimer(org.jbpm.job.Timer);
+    public static void pushCurrentContext(org.jbpm.graph.exe.ExecutionContext);
+    public static void popCurrentContext(org.jbpm.graph.exe.ExecutionContext);
+    public static org.jbpm.graph.exe.ExecutionContext currentExecutionContext();
+}
+
+Compiled from "ProcessInstance.java"
+public class org.jbpm.graph.exe.ProcessInstance extends java.lang.Object implements org.jbpm.graph.def.Identifiable,java.io.Serializable{
+    protected java.lang.String key;
+    protected java.util.Date start;
+    protected java.util.Date end;
+    protected org.jbpm.graph.def.ProcessDefinition processDefinition;
+    protected org.jbpm.graph.exe.Token rootToken;
+    protected org.jbpm.graph.exe.Token superProcessToken;
+    protected boolean isSuspended;
+    protected java.util.Map instances;
+    protected java.util.Map transientInstances;
+    protected java.util.List runtimeActions;
+    protected java.util.List cascadeProcessInstances;
+    public org.jbpm.graph.exe.ProcessInstance();
+    public org.jbpm.graph.exe.ProcessInstance(org.jbpm.graph.def.ProcessDefinition);
+    public org.jbpm.graph.exe.ProcessInstance(org.jbpm.graph.def.ProcessDefinition, java.util.Map);
+    public org.jbpm.graph.exe.ProcessInstance(org.jbpm.graph.def.ProcessDefinition, java.util.Map, java.lang.String);
+    public void addInitialContextVariables(java.util.Map);
+    public void addInitialModuleDefinitions(org.jbpm.graph.def.ProcessDefinition);
+    public void fireStartEvent(org.jbpm.graph.def.Node);
+    public org.jbpm.module.exe.ModuleInstance addInstance(org.jbpm.module.exe.ModuleInstance);
+    public org.jbpm.module.exe.ModuleInstance removeInstance(org.jbpm.module.exe.ModuleInstance);
+    public org.jbpm.module.exe.ModuleInstance getInstance(java.lang.Class);
+    public org.jbpm.context.exe.ContextInstance getContextInstance();
+    public org.jbpm.taskmgmt.exe.TaskMgmtInstance getTaskMgmtInstance();
+    public org.jbpm.logging.exe.LoggingInstance getLoggingInstance();
+    public void signal();
+    public void signal(java.lang.String);
+    public void signal(org.jbpm.graph.def.Transition);
+    public void end();
+    public void suspend();
+    public void resume();
+    public org.jbpm.graph.exe.RuntimeAction addRuntimeAction(org.jbpm.graph.exe.RuntimeAction);
+    public org.jbpm.graph.exe.RuntimeAction removeRuntimeAction(org.jbpm.graph.exe.RuntimeAction);
+    public java.util.List getRuntimeActions();
+    public boolean hasEnded();
+    public boolean isTerminatedImplicitly();
+    public org.jbpm.graph.exe.Token findToken(java.lang.String);
+    public java.util.List findAllTokens();
+    public java.util.Collection removeCascadeProcessInstances();
+    public boolean equals(java.lang.Object);
+    public java.lang.String toString();
+    public long getId();
+    public org.jbpm.graph.exe.Token getRootToken();
+    public java.util.Date getStart();
+    public java.util.Date getEnd();
+    public java.util.Map getInstances();
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public org.jbpm.graph.exe.Token getSuperProcessToken();
+    public void setSuperProcessToken(org.jbpm.graph.exe.Token);
+    public boolean isSuspended();
+    public int getVersion();
+    public void setVersion(int);
+    public void setEnd(java.util.Date);
+    public void setProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public void setRootToken(org.jbpm.graph.exe.Token);
+    public void setStart(java.util.Date);
+    public java.lang.String getKey();
+    public void setKey(java.lang.String);
+}
+
+Compiled from "RuntimeAction.java"
+public class org.jbpm.graph.exe.RuntimeAction extends java.lang.Object implements java.io.Serializable{
+    protected org.jbpm.graph.exe.ProcessInstance processInstance;
+    protected org.jbpm.graph.def.GraphElement graphElement;
+    protected java.lang.String eventType;
+    protected org.jbpm.graph.def.Action action;
+    public org.jbpm.graph.exe.RuntimeAction();
+    public org.jbpm.graph.exe.RuntimeAction(org.jbpm.graph.def.Event, org.jbpm.graph.def.Action);
+    public org.jbpm.graph.exe.RuntimeAction(org.jbpm.graph.def.GraphElement, java.lang.String, org.jbpm.graph.def.Action);
+    public boolean equals(java.lang.Object);
+    public long getId();
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public org.jbpm.graph.def.Action getAction();
+    public java.lang.String getEventType();
+    public org.jbpm.graph.def.GraphElement getGraphElement();
+}
+
+Compiled from "Token.java"
+public class org.jbpm.graph.exe.Token extends java.lang.Object implements org.jbpm.graph.def.Identifiable,java.io.Serializable{
+    protected java.lang.String name;
+    protected java.util.Date start;
+    protected java.util.Date end;
+    protected org.jbpm.graph.def.Node node;
+    protected java.util.Date nodeEnter;
+    protected org.jbpm.graph.exe.ProcessInstance processInstance;
+    protected org.jbpm.graph.exe.Token parent;
+    protected java.util.Map children;
+    protected java.util.List comments;
+    protected org.jbpm.graph.exe.ProcessInstance subProcessInstance;
+    protected int nextLogIndex;
+    public org.jbpm.graph.exe.Token();
+    public org.jbpm.graph.exe.Token(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.graph.exe.Token(org.jbpm.graph.exe.Token, java.lang.String);
+    public void signal();
+    public void signal(java.lang.String);
+    public void signal(org.jbpm.graph.def.Transition);
+    public java.util.Set getAvailableTransitions();
+    public void end();
+    public void end(boolean);
+    public void addComment(java.lang.String);
+    public void addComment(org.jbpm.graph.exe.Comment);
+    public java.util.List getComments();
+    public boolean hasActiveChildren();
+    public void addLog(org.jbpm.logging.log.ProcessLog);
+    public void startCompositeLog(org.jbpm.logging.log.CompositeLog);
+    public void endCompositeLog();
+    public java.lang.String toString();
+    public boolean hasEnded();
+    public boolean isRoot();
+    public boolean hasParent();
+    public boolean hasChild(java.lang.String);
+    public org.jbpm.graph.exe.Token getChild(java.lang.String);
+    public java.lang.String getFullName();
+    public java.util.List getChildrenAtNode(org.jbpm.graph.def.Node);
+    public void collectChildrenRecursively(java.util.List);
+    public org.jbpm.graph.exe.Token findToken(java.lang.String);
+    public java.util.Map getActiveChildren();
+    public void checkImplicitTermination();
+    public boolean isTerminatedImplicitly();
+    public int nextLogIndex();
+    public void suspend();
+    public void resume();
+    public boolean equals(java.lang.Object);
+    public org.jbpm.graph.exe.ProcessInstance createSubProcessInstance(org.jbpm.graph.def.ProcessDefinition);
+    public void lock(java.lang.String);
+    public void unlock(java.lang.String);
+    public void foreUnlock();
+    public java.lang.String getLockOwner();
+    public boolean isLocked();
+    public long getId();
+    public java.util.Date getStart();
+    public java.util.Date getEnd();
+    public java.lang.String getName();
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public java.util.Map getChildren();
+    public org.jbpm.graph.def.Node getNode();
+    public void setNode(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.exe.Token getParent();
+    public void setParent(org.jbpm.graph.exe.Token);
+    public void setProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.graph.exe.ProcessInstance getSubProcessInstance();
+    public java.util.Date getNodeEnter();
+    public void setNodeEnter(java.util.Date);
+    public boolean isAbleToReactivateParent();
+    public void setAbleToReactivateParent(boolean);
+    public boolean isTerminationImplicit();
+    public void setTerminationImplicit(boolean);
+    public boolean isSuspended();
+    public void setSubProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "ActionLog.java"
+public class org.jbpm.graph.log.ActionLog extends org.jbpm.logging.log.CompositeLog{
+    protected org.jbpm.graph.def.Action action;
+    protected java.lang.String exception;
+    public org.jbpm.graph.log.ActionLog();
+    public org.jbpm.graph.log.ActionLog(org.jbpm.graph.def.Action);
+    public java.lang.String toString();
+    public void setException(java.lang.Throwable);
+    public org.jbpm.graph.def.Action getAction();
+    public void setAction(org.jbpm.graph.def.Action);
+    public java.lang.String getException();
+}
+
+Compiled from "NodeLog.java"
+public class org.jbpm.graph.log.NodeLog extends org.jbpm.logging.log.ProcessLog{
+    protected org.jbpm.graph.def.Node node;
+    protected java.util.Date enter;
+    protected java.util.Date leave;
+    protected long duration;
+    public org.jbpm.graph.log.NodeLog();
+    public org.jbpm.graph.log.NodeLog(org.jbpm.graph.def.Node, java.util.Date, java.util.Date);
+    public java.lang.String toString();
+    public long getDuration();
+    public java.util.Date getEnter();
+    public java.util.Date getLeave();
+    public org.jbpm.graph.def.Node getNode();
+}
+
+Compiled from "ProcessInstanceCreateLog.java"
+public class org.jbpm.graph.log.ProcessInstanceCreateLog extends org.jbpm.logging.log.ProcessLog{
+    public org.jbpm.graph.log.ProcessInstanceCreateLog();
+    public java.lang.String toString();
+}
+
+Compiled from "ProcessInstanceEndLog.java"
+public class org.jbpm.graph.log.ProcessInstanceEndLog extends org.jbpm.logging.log.ProcessLog{
+    public org.jbpm.graph.log.ProcessInstanceEndLog();
+    public java.lang.String toString();
+}
+
+Compiled from "ProcessStateLog.java"
+public class org.jbpm.graph.log.ProcessStateLog extends org.jbpm.graph.log.NodeLog{
+    public org.jbpm.graph.log.ProcessStateLog();
+    public org.jbpm.graph.log.ProcessStateLog(org.jbpm.graph.def.Node, java.util.Date, java.util.Date, org.jbpm.graph.exe.ProcessInstance);
+    public java.lang.String toString();
+    public org.jbpm.graph.exe.ProcessInstance getSubProcessInstance();
+    public void setSubProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "SignalLog.java"
+public class org.jbpm.graph.log.SignalLog extends org.jbpm.logging.log.CompositeLog{
+    protected org.jbpm.graph.def.Transition transition;
+    public org.jbpm.graph.log.SignalLog();
+    public org.jbpm.graph.log.SignalLog(org.jbpm.graph.def.Transition);
+    public java.lang.String toString();
+    public org.jbpm.graph.def.Transition getTransition();
+}
+
+Compiled from "TokenCreateLog.java"
+public class org.jbpm.graph.log.TokenCreateLog extends org.jbpm.logging.log.ProcessLog{
+    protected org.jbpm.graph.exe.Token child;
+    public org.jbpm.graph.log.TokenCreateLog();
+    public org.jbpm.graph.log.TokenCreateLog(org.jbpm.graph.exe.Token);
+    public java.lang.String toString();
+    public org.jbpm.graph.exe.Token getChild();
+}
+
+Compiled from "TokenEndLog.java"
+public class org.jbpm.graph.log.TokenEndLog extends org.jbpm.logging.log.ProcessLog{
+    protected org.jbpm.graph.exe.Token child;
+    public org.jbpm.graph.log.TokenEndLog();
+    public org.jbpm.graph.log.TokenEndLog(org.jbpm.graph.exe.Token);
+    public java.lang.String toString();
+    public org.jbpm.graph.exe.Token getChild();
+}
+
+Compiled from "TransitionLog.java"
+public class org.jbpm.graph.log.TransitionLog extends org.jbpm.logging.log.CompositeLog{
+    protected org.jbpm.graph.def.Transition transition;
+    protected org.jbpm.graph.def.Node sourceNode;
+    protected org.jbpm.graph.def.Node destinationNode;
+    public org.jbpm.graph.log.TransitionLog();
+    public org.jbpm.graph.log.TransitionLog(org.jbpm.graph.def.Transition, org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.Node getDestinationNode();
+    public void setDestinationNode(org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.Node getSourceNode();
+    public org.jbpm.graph.def.Transition getTransition();
+    public java.lang.String toString();
+}
+
+Compiled from "ParallelSplit.java"
+public class org.jbpm.graph.node.advanced.ParallelSplit extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.advanced.ParallelSplit();
+}
+
+Compiled from "DbSubProcessResolver.java"
+public class org.jbpm.graph.node.DbSubProcessResolver extends java.lang.Object implements org.jbpm.graph.node.SubProcessResolver{
+    public org.jbpm.graph.node.DbSubProcessResolver();
+    public org.jbpm.graph.def.ProcessDefinition findSubProcess(org.dom4j.Element);
+}
+
+Compiled from "Decision.java"
+public class org.jbpm.graph.node.Decision extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.Decision();
+    public org.jbpm.graph.node.Decision(java.lang.String);
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.List getDecisionConditions();
+    public void setDecisionDelegation(org.jbpm.instantiation.Delegation);
+}
+
+Compiled from "DecisionCondition.java"
+public class org.jbpm.graph.node.DecisionCondition extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.graph.node.DecisionCondition();
+    public org.jbpm.graph.node.DecisionCondition(java.lang.String, java.lang.String);
+    public java.lang.String getExpression();
+    public java.lang.String getTransitionName();
+}
+
+Compiled from "DecisionHandler.java"
+public interface org.jbpm.graph.node.DecisionHandler extends java.io.Serializable{
+    public abstract java.lang.String decide(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+}
+
+Compiled from "EndState.java"
+public class org.jbpm.graph.node.EndState extends org.jbpm.graph.def.Node{
+    public static final java.lang.String[] supportedEventTypes;
+    public org.jbpm.graph.node.EndState();
+    public java.lang.String[] getSupportedEventTypes();
+    public org.jbpm.graph.node.EndState(java.lang.String);
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.graph.def.Transition addLeavingTransition(org.jbpm.graph.def.Transition);
+}
+
+Compiled from "Fork.java"
+public class org.jbpm.graph.node.Fork extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.Fork();
+    public org.jbpm.graph.node.Fork(java.lang.String);
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    protected org.jbpm.graph.exe.Token createForkedToken(org.jbpm.graph.exe.Token, java.lang.String);
+    protected java.lang.String getTokenName(org.jbpm.graph.exe.Token, java.lang.String);
+    public org.jbpm.graph.action.Script getScript();
+    public void setScript(org.jbpm.graph.action.Script);
+}
+
+Compiled from "InterleaveEnd.java"
+public class org.jbpm.graph.node.InterleaveEnd extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.InterleaveEnd();
+    public org.jbpm.graph.node.InterleaveEnd(java.lang.String);
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void write(org.dom4j.Element);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.graph.node.InterleaveStart getInterleaveStart();
+    public org.jbpm.graph.def.Transition getBack();
+    public void setBack(org.jbpm.graph.def.Transition);
+    public org.jbpm.graph.def.Transition getDone();
+    public void setDone(org.jbpm.graph.def.Transition);
+}
+
+Compiled from "InterleaveStart.java"
+public class org.jbpm.graph.node.InterleaveStart extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.InterleaveStart();
+    public org.jbpm.graph.node.InterleaveStart(java.lang.String);
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void write(org.dom4j.Element);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    protected java.util.Collection getTransitionNames(org.jbpm.graph.exe.Token);
+    protected void storeTransitionNames(java.util.Collection, org.jbpm.graph.exe.Token);
+    public java.util.Collection retrieveTransitionNames(org.jbpm.graph.exe.Token);
+    public void removeTransitionNames(org.jbpm.graph.exe.Token);
+    public org.jbpm.graph.node.InterleaveStart$Interleaver getInterleaver();
+    public void setInterleaver(org.jbpm.graph.node.InterleaveStart$Interleaver);
+}
+
+Compiled from "InterleaveStart.java"
+public class org.jbpm.graph.node.InterleaveStart$DefaultInterleaver extends java.lang.Object implements org.jbpm.graph.node.InterleaveStart$Interleaver{
+    public org.jbpm.graph.node.InterleaveStart$DefaultInterleaver(org.jbpm.graph.node.InterleaveStart);
+    public java.lang.String selectNextTransition(java.util.Collection);
+}
+
+Compiled from "InterleaveStart.java"
+public interface org.jbpm.graph.node.InterleaveStart$Interleaver{
+    public abstract java.lang.String selectNextTransition(java.util.Collection);
+}
+
+Compiled from "Join.java"
+public class org.jbpm.graph.node.Join extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.Join();
+    public org.jbpm.graph.node.Join(java.lang.String);
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public boolean mustParentBeReactivated(org.jbpm.graph.exe.Token, java.util.Iterator);
+    public java.lang.String getParentLockMode();
+    public void setParentLockMode(java.lang.String);
+    public org.jbpm.graph.action.Script getScript();
+    public void setScript(org.jbpm.graph.action.Script);
+    public java.util.Collection getTokenNames();
+    public void setTokenNames(java.util.Collection);
+    public boolean isDiscriminator();
+    public void setDiscriminator(boolean);
+    public int getNOutOfM();
+    public void setNOutOfM(int);
+}
+
+Compiled from "MailNode.java"
+public class org.jbpm.graph.node.MailNode extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.MailNode();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+}
+
+Compiled from "Merge.java"
+public class org.jbpm.graph.node.Merge extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.Merge();
+    public org.jbpm.graph.node.Merge(java.lang.String);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public boolean isSynchronized();
+    public void setSynchronized(boolean);
+}
+
+Compiled from "MilestoneEvent.java"
+public class org.jbpm.graph.node.MilestoneEvent extends java.lang.Object implements org.jbpm.graph.def.ActionHandler{
+    public org.jbpm.graph.node.MilestoneEvent();
+    public org.jbpm.graph.node.MilestoneEvent(java.lang.String, java.lang.String);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public java.lang.String getMilestoneName();
+    public void setMilestoneName(java.lang.String);
+    public java.lang.String getRelativeTokenPath();
+    public void setRelativeTokenPath(java.lang.String);
+}
+
+Compiled from "MilestoneNode.java"
+public class org.jbpm.graph.node.MilestoneNode extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.MilestoneNode();
+    public org.jbpm.graph.node.MilestoneNode(java.lang.String);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public boolean isMilestoneReached(java.lang.String, org.jbpm.graph.exe.Token);
+    public void addMilestoneListener(java.lang.String, org.jbpm.graph.exe.Token);
+    public java.lang.String getTokenPath();
+    public void setTokenPath(java.lang.String);
+}
+
+Compiled from "NodeTypes.java"
+public class org.jbpm.graph.node.NodeTypes extends java.lang.Object{
+    public org.jbpm.graph.node.NodeTypes();
+    public static java.util.Set getNodeTypes();
+    public static java.util.Set getNodeNames();
+    public static java.lang.Class getNodeType(java.lang.String);
+    public static java.lang.String getNodeName(java.lang.Class);
+    public static java.util.Map createInverseMapping(java.util.Map);
+}
+
+Compiled from "ProcessFactory.java"
+public class org.jbpm.graph.node.ProcessFactory extends java.lang.Object{
+    public org.jbpm.graph.node.ProcessFactory();
+    public static org.jbpm.graph.def.ProcessDefinition createProcessDefinition(java.lang.String[], java.lang.String[]);
+    public static void addNodesAndTransitions(org.jbpm.graph.def.ProcessDefinition, java.lang.String[], java.lang.String[]);
+    public static java.lang.String getTypeName(org.jbpm.graph.def.Node);
+    public static org.jbpm.graph.def.Node createNode(java.lang.String);
+    public static java.lang.String[] cutTransitionText(java.lang.String);
+}
+
+Compiled from "ProcessState.java"
+public class org.jbpm.graph.node.ProcessState extends org.jbpm.graph.def.Node{
+    protected org.jbpm.graph.def.ProcessDefinition subProcessDefinition;
+    protected java.util.Set variableAccesses;
+    protected java.lang.String subProcessName;
+    public static final java.lang.String[] supportedEventTypes;
+    public org.jbpm.graph.node.ProcessState();
+    public static void setDefaultSubProcessResolver(org.jbpm.graph.node.SubProcessResolver);
+    public java.lang.String[] getSupportedEventTypes();
+    public java.util.Set getVariableAccesses();
+    public void setVariableAccesses(java.util.Set);
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public void leave(org.jbpm.graph.exe.ExecutionContext, org.jbpm.graph.def.Transition);
+    protected void addNodeLog(org.jbpm.graph.exe.Token);
+    public org.jbpm.graph.def.ProcessDefinition getSubProcessDefinition();
+    public void setSubProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "StartState.java"
+public class org.jbpm.graph.node.StartState extends org.jbpm.graph.def.Node{
+    public static final java.lang.String[] supportedEventTypes;
+    public org.jbpm.graph.node.StartState();
+    public org.jbpm.graph.node.StartState(java.lang.String);
+    public java.lang.String getName();
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public java.lang.String[] getSupportedEventTypes();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void write(org.dom4j.Element);
+    public void leave(org.jbpm.graph.exe.ExecutionContext, org.jbpm.graph.def.Transition);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.graph.def.Transition addArrivingTransition(org.jbpm.graph.def.Transition);
+}
+
+Compiled from "State.java"
+public class org.jbpm.graph.node.State extends org.jbpm.graph.def.Node{
+    public org.jbpm.graph.node.State();
+    public org.jbpm.graph.node.State(java.lang.String);
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+}
+
+Compiled from "SubProcessResolver.java"
+public interface org.jbpm.graph.node.SubProcessResolver extends java.io.Serializable{
+    public abstract org.jbpm.graph.def.ProcessDefinition findSubProcess(org.dom4j.Element);
+}
+
+Compiled from "TaskNode.java"
+public class org.jbpm.graph.node.TaskNode extends org.jbpm.graph.def.Node{
+    public static final int SIGNAL_UNSYNCHRONIZED;
+    public static final int SIGNAL_NEVER;
+    public static final int SIGNAL_FIRST;
+    public static final int SIGNAL_FIRST_WAIT;
+    public static final int SIGNAL_LAST;
+    public static final int SIGNAL_LAST_WAIT;
+    public static int parseSignal(java.lang.String);
+    public static java.lang.String signalToString(int);
+    public org.jbpm.graph.node.TaskNode();
+    public org.jbpm.graph.node.TaskNode(java.lang.String);
+    public org.jbpm.graph.def.Node$NodeType getNodeType();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void addTask(org.jbpm.taskmgmt.def.Task);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public void leave(org.jbpm.graph.exe.ExecutionContext, org.jbpm.graph.def.Transition);
+    public boolean completionTriggersSignal(org.jbpm.taskmgmt.exe.TaskInstance);
+    public void removeTaskInstanceSynchronization(org.jbpm.graph.exe.Token);
+    public java.util.Map getTasksMap();
+    public org.jbpm.taskmgmt.def.Task getTask(java.lang.String);
+    public java.util.Set getTasks();
+    public int getSignal();
+    public boolean getCreateTasks();
+    public boolean isEndTasks();
+    public void setCreateTasks(boolean);
+    public void setEndTasks(boolean);
+    public void setSignal(int);
+    public void setTasks(java.util.Set);
+}
+
+Compiled from "BeanInstantiator.java"
+public class org.jbpm.instantiation.BeanInstantiator extends org.jbpm.instantiation.FieldInstantiator{
+    public org.jbpm.instantiation.BeanInstantiator();
+    protected void setPropertyValue(java.lang.Object, java.lang.String, org.dom4j.Element);
+}
+
+Compiled from "ConfigurationPropertyInstantiator.java"
+public class org.jbpm.instantiation.ConfigurationPropertyInstantiator extends java.lang.Object implements org.jbpm.instantiation.Instantiator{
+    public org.jbpm.instantiation.ConfigurationPropertyInstantiator();
+    public java.lang.Object instantiate(java.lang.Class, java.lang.String);
+}
+
+Compiled from "ConstructorInstantiator.java"
+public class org.jbpm.instantiation.ConstructorInstantiator extends java.lang.Object implements org.jbpm.instantiation.Instantiator{
+    public org.jbpm.instantiation.ConstructorInstantiator();
+    public java.lang.Object instantiate(java.lang.Class, java.lang.String);
+}
+
+Compiled from "DefaultInstantiator.java"
+public class org.jbpm.instantiation.DefaultInstantiator extends java.lang.Object implements org.jbpm.instantiation.Instantiator{
+    public org.jbpm.instantiation.DefaultInstantiator();
+    public java.lang.Object instantiate(java.lang.Class, java.lang.String);
+}
+
+Compiled from "DefaultProcessClassLoaderFactory.java"
+public class org.jbpm.instantiation.DefaultProcessClassLoaderFactory extends java.lang.Object implements org.jbpm.instantiation.ProcessClassLoaderFactory,java.io.Serializable{
+    public org.jbpm.instantiation.DefaultProcessClassLoaderFactory();
+    public java.lang.ClassLoader getProcessClassLoader(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "Delegation.java"
+public class org.jbpm.instantiation.Delegation extends java.lang.Object implements org.jbpm.jpdl.xml.Parsable,java.io.Serializable{
+    protected static java.util.Map instantiatorCache;
+    protected java.lang.String className;
+    protected java.lang.String configuration;
+    protected java.lang.String configType;
+    protected org.jbpm.graph.def.ProcessDefinition processDefinition;
+    public org.jbpm.instantiation.Delegation();
+    public org.jbpm.instantiation.Delegation(java.lang.Object);
+    public org.jbpm.instantiation.Delegation(java.lang.String);
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void write(org.dom4j.Element);
+    public java.lang.Object getInstance();
+    public java.lang.Object instantiate();
+    public boolean equals(java.lang.Object);
+    public java.lang.String getClassName();
+    public void setClassName(java.lang.String);
+    public java.lang.String getConfiguration();
+    public void setConfiguration(java.lang.String);
+    public java.lang.String getConfigType();
+    public void setConfigType(java.lang.String);
+    public long getId();
+    public void setId(long);
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void setProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "FieldInstantiator.java"
+public class org.jbpm.instantiation.FieldInstantiator extends java.lang.Object implements org.jbpm.instantiation.Instantiator{
+    public org.jbpm.instantiation.FieldInstantiator();
+    public java.lang.Object instantiate(java.lang.Class, java.lang.String);
+    protected void setPropertyValue(java.lang.Object, java.lang.String, org.dom4j.Element);
+    public static java.lang.Object getValue(java.lang.Class, org.dom4j.Element);
+}
+
+Compiled from "Instantiator.java"
+public interface org.jbpm.instantiation.Instantiator{
+    public abstract java.lang.Object instantiate(java.lang.Class, java.lang.String);
+}
+
+Compiled from "InstantiatorUtil.java"
+class org.jbpm.instantiation.InstantiatorUtil extends java.lang.Object{
+    public static java.lang.Object instantiate(java.lang.Class);
+    public static java.lang.Object instantiate(java.lang.Class, java.lang.Class, java.lang.Object);
+    public static org.dom4j.Element parseConfiguration(java.lang.String);
+}
+
+Compiled from "ProcessClassLoader.java"
+public class org.jbpm.instantiation.ProcessClassLoader$BytesUrlConnection extends java.net.URLConnection{
+    public org.jbpm.instantiation.ProcessClassLoader$BytesUrlConnection(byte[], java.net.URL);
+    public void connect()       throws java.io.IOException;
+    public java.io.InputStream getInputStream()       throws java.io.IOException;
+}
+
+Compiled from "ProcessClassLoader.java"
+public class org.jbpm.instantiation.ProcessClassLoader$BytesUrlStreamHandler extends java.net.URLStreamHandler{
+    public org.jbpm.instantiation.ProcessClassLoader$BytesUrlStreamHandler(byte[]);
+    protected java.net.URLConnection openConnection(java.net.URL)       throws java.io.IOException;
+}
+
+Compiled from "ProcessClassLoader.java"
+public class org.jbpm.instantiation.ProcessClassLoader extends java.lang.ClassLoader{
+    public org.jbpm.instantiation.ProcessClassLoader(java.lang.ClassLoader, org.jbpm.graph.def.ProcessDefinition);
+    public java.net.URL findResource(java.lang.String);
+    public java.lang.Class findClass(java.lang.String)       throws java.lang.ClassNotFoundException;
+}
+
+Compiled from "ProcessClassLoaderFactory.java"
+public interface org.jbpm.instantiation.ProcessClassLoaderFactory{
+    public abstract java.lang.ClassLoader getProcessClassLoader(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "UserCodeInterceptor.java"
+public interface org.jbpm.instantiation.UserCodeInterceptor{
+    public abstract void executeAction(org.jbpm.graph.def.Action, org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    public abstract void executeAssignment(org.jbpm.taskmgmt.def.AssignmentHandler, org.jbpm.taskmgmt.exe.Assignable, org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    public abstract void executeTaskControllerInitialization(org.jbpm.taskmgmt.def.TaskControllerHandler, org.jbpm.taskmgmt.exe.TaskInstance, org.jbpm.context.exe.ContextInstance, org.jbpm.graph.exe.Token);
+    public abstract void executeTaskControllerSubmission(org.jbpm.taskmgmt.def.TaskControllerHandler, org.jbpm.taskmgmt.exe.TaskInstance, org.jbpm.context.exe.ContextInstance, org.jbpm.graph.exe.Token);
+}
+
+Compiled from "UserCodeInterceptorConfig.java"
+public abstract class org.jbpm.instantiation.UserCodeInterceptorConfig extends java.lang.Object{
+    public static org.jbpm.instantiation.UserCodeInterceptor userCodeInterceptor;
+    public org.jbpm.instantiation.UserCodeInterceptorConfig();
+    public static void setUserCodeInterceptor(org.jbpm.instantiation.UserCodeInterceptor);
+}
+
+Compiled from "XmlInstantiator.java"
+public class org.jbpm.instantiation.XmlInstantiator extends java.lang.Object implements org.jbpm.instantiation.Instantiator{
+    public org.jbpm.instantiation.XmlInstantiator();
+    public java.lang.Object instantiate(java.lang.Class, java.lang.String);
+}
+
+Compiled from "JbpmConfiguration.java"
+public class org.jbpm.JbpmConfiguration extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.JbpmConfiguration(org.jbpm.configuration.ObjectFactory);
+    public static org.jbpm.JbpmConfiguration getInstance();
+    public static org.jbpm.JbpmConfiguration getInstance(java.lang.String);
+    public static boolean hasInstance(java.lang.String);
+    protected static org.jbpm.configuration.ObjectFactory parseObjectFactory(java.io.InputStream);
+    public static org.jbpm.JbpmConfiguration parseXmlString(java.lang.String);
+    protected static org.jbpm.JbpmConfiguration createJbpmConfiguration(org.jbpm.configuration.ObjectFactory);
+    public static org.jbpm.JbpmConfiguration parseInputStream(java.io.InputStream);
+    public static org.jbpm.JbpmConfiguration parseResource(java.lang.String);
+    public org.jbpm.JbpmContext createJbpmContext();
+    public org.jbpm.JbpmContext createJbpmContext(java.lang.String);
+    public org.jbpm.svc.ServiceFactory getServiceFactory(java.lang.String);
+    public org.jbpm.svc.ServiceFactory getServiceFactory(java.lang.String, java.lang.String);
+    public static java.lang.ClassLoader getProcessClassLoader(org.jbpm.graph.def.ProcessDefinition);
+    public void cleanSchema();
+    public void cleanSchema(java.lang.String);
+    public void createSchema();
+    public void createSchema(java.lang.String);
+    public void dropSchema();
+    public void dropSchema(java.lang.String);
+    public boolean isClosed();
+    public void close();
+    public void close(java.lang.String);
+    public org.jbpm.JbpmContext getCurrentJbpmContext();
+    public void startJobExecutor();
+    public synchronized org.jbpm.job.executor.JobExecutor getJobExecutor();
+}
+
+Compiled from "JbpmConfiguration.java"
+public class org.jbpm.JbpmConfiguration$Configs extends java.lang.Object{
+    public static org.jbpm.configuration.ObjectFactory getObjectFactory();
+    public static void setDefaultObjectFactory(org.jbpm.configuration.ObjectFactory);
+    public static boolean hasObject(java.lang.String);
+    public static synchronized java.lang.Object getObject(java.lang.String);
+    public static java.lang.String getString(java.lang.String);
+    public static long getLong(java.lang.String);
+    public static int getInt(java.lang.String);
+    public static boolean getBoolean(java.lang.String);
+}
+
+Compiled from "JbpmConfiguration.java"
+class org.jbpm.JbpmConfiguration$StackThreadLocal extends java.lang.ThreadLocal{
+    protected java.util.List initialValue();
+    protected java.lang.Object initialValue();
+}
+
+Compiled from "JbpmContext.java"
+public class org.jbpm.JbpmContext extends java.lang.Object implements java.io.Serializable{
+    public static final java.lang.String DEFAULT_JBPM_CONTEXT_NAME;
+    public org.jbpm.JbpmContext(org.jbpm.svc.Services, org.jbpm.configuration.ObjectFactory);
+    public void close();
+    public static org.jbpm.JbpmContext getCurrentJbpmContext();
+    public void deployProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+    public java.util.List getTaskList();
+    public java.util.List getTaskList(java.lang.String);
+    public java.util.List getGroupTaskList(java.util.List);
+    public org.jbpm.taskmgmt.exe.TaskInstance loadTaskInstance(long);
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance(long);
+    public org.jbpm.taskmgmt.exe.TaskInstance loadTaskInstanceForUpdate(long);
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstanceForUpdate(long);
+    public org.jbpm.graph.exe.Token loadToken(long);
+    public org.jbpm.graph.exe.Token getToken(long);
+    public org.jbpm.graph.exe.Token loadTokenForUpdate(long);
+    public org.jbpm.graph.exe.Token getTokenForUpdate(long);
+    public org.jbpm.graph.exe.ProcessInstance loadProcessInstance(long);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance(long);
+    public org.jbpm.graph.exe.ProcessInstance loadProcessInstanceForUpdate(long);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstanceForUpdate(long);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance(org.jbpm.graph.def.ProcessDefinition, java.lang.String);
+    public org.jbpm.graph.exe.ProcessInstance loadProcessInstance(org.jbpm.graph.def.ProcessDefinition, java.lang.String);
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstanceForUpdate(org.jbpm.graph.def.ProcessDefinition, java.lang.String);
+    public org.jbpm.graph.exe.ProcessInstance loadProcessInstanceForUpdate(org.jbpm.graph.def.ProcessDefinition, java.lang.String);
+    public org.jbpm.graph.exe.ProcessInstance newProcessInstance(java.lang.String);
+    public org.jbpm.graph.exe.ProcessInstance newProcessInstanceForUpdate(java.lang.String);
+    public void save(org.jbpm.graph.exe.ProcessInstance);
+    public void save(org.jbpm.graph.exe.Token);
+    public void save(org.jbpm.taskmgmt.exe.TaskInstance);
+    public void setRollbackOnly();
+    public org.jbpm.svc.Services getServices();
+    public org.jbpm.svc.ServiceFactory getServiceFactory(java.lang.String);
+    public org.jbpm.configuration.ObjectFactory getObjectFactory();
+    public org.hibernate.SessionFactory getSessionFactory();
+    public void setSessionFactory(org.hibernate.SessionFactory);
+    public org.hibernate.Session getSession();
+    public void setSession(org.hibernate.Session);
+    public java.sql.Connection getConnection();
+    public void setConnection(java.sql.Connection);
+    public org.jbpm.db.ContextSession getContextSession();
+    public org.jbpm.db.LoggingSession getLoggingSession();
+    public org.jbpm.db.JobSession getJobSession();
+    public org.jbpm.db.GraphSession getGraphSession();
+    public org.jbpm.db.TaskMgmtSession getTaskMgmtSession();
+    public java.lang.String getActorId();
+    public void setActorId(java.lang.String);
+    public void addAutoSaveProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public void addAutoSaveToken(org.jbpm.graph.exe.Token);
+    public void addAutoSaveTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public org.jbpm.JbpmConfiguration getJbpmConfiguration();
+}
+
+Compiled from "JbpmException.java"
+public class org.jbpm.JbpmException extends java.lang.RuntimeException{
+    public org.jbpm.JbpmException();
+    public org.jbpm.JbpmException(java.lang.String, java.lang.Throwable);
+    public org.jbpm.JbpmException(java.lang.String);
+    public org.jbpm.JbpmException(java.lang.Throwable);
+}
+
+Compiled from "AbstractJcrServiceFactory.java"
+public abstract class org.jbpm.jcr.impl.AbstractJcrServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.jcr.impl.AbstractJcrServiceFactory();
+    public org.jbpm.svc.Service openService();
+    protected abstract javax.jcr.Repository getRepository();
+    public void close();
+}
+
+Compiled from "JcrServiceImpl.java"
+public class org.jbpm.jcr.impl.JcrServiceImpl extends java.lang.Object implements org.jbpm.jcr.JcrService{
+    protected javax.jcr.Session session;
+    public org.jbpm.jcr.impl.JcrServiceImpl(javax.jcr.Session);
+    public javax.jcr.Session getSession();
+    public void close();
+}
+
+Compiled from "JackrabbitJcrServiceFactory.java"
+public class org.jbpm.jcr.jackrabbit.JackrabbitJcrServiceFactory extends org.jbpm.jcr.impl.AbstractJcrServiceFactory{
+    public org.jbpm.jcr.jackrabbit.JackrabbitJcrServiceFactory();
+    protected synchronized javax.jcr.Repository getRepository();
+}
+
+Compiled from "JcrService.java"
+public interface org.jbpm.jcr.JcrService extends org.jbpm.svc.Service{
+    public abstract javax.jcr.Session getSession();
+}
+
+Compiled from "JndiJcrServiceFactory.java"
+public class org.jbpm.jcr.jndi.JndiJcrServiceFactory extends org.jbpm.jcr.impl.AbstractJcrServiceFactory{
+    public org.jbpm.jcr.jndi.JndiJcrServiceFactory();
+    protected javax.jcr.Repository getRepository();
+}
+
+Compiled from "CleanUpProcessJob.java"
+public class org.jbpm.job.CleanUpProcessJob extends org.jbpm.job.Job{
+    public org.jbpm.job.CleanUpProcessJob();
+    public org.jbpm.job.CleanUpProcessJob(org.jbpm.graph.exe.ProcessInstance);
+    public boolean execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+}
+
+Compiled from "ExecuteActionJob.java"
+public class org.jbpm.job.ExecuteActionJob extends org.jbpm.job.Job{
+    public org.jbpm.job.ExecuteActionJob();
+    public org.jbpm.job.ExecuteActionJob(org.jbpm.graph.exe.Token);
+    public boolean execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public org.jbpm.graph.def.Action getAction();
+    public void setAction(org.jbpm.graph.def.Action);
+}
+
+Compiled from "ExecuteNodeJob.java"
+public class org.jbpm.job.ExecuteNodeJob extends org.jbpm.job.Job{
+    public org.jbpm.job.ExecuteNodeJob();
+    public org.jbpm.job.ExecuteNodeJob(org.jbpm.graph.exe.Token);
+    public boolean execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public org.jbpm.graph.def.Node getNode();
+    public void setNode(org.jbpm.graph.def.Node);
+}
+
+Compiled from "JobExecutor.java"
+public class org.jbpm.job.executor.JobExecutor extends java.lang.Object implements java.io.Serializable{
+    protected org.jbpm.JbpmConfiguration jbpmConfiguration;
+    protected java.lang.String name;
+    protected int nbrOfThreads;
+    protected int idleInterval;
+    protected int maxIdleInterval;
+    protected int historyMaxSize;
+    protected int maxLockTime;
+    protected int lockMonitorInterval;
+    protected int lockBufferTime;
+    protected java.util.Map threads;
+    protected org.jbpm.job.executor.LockMonitorThread lockMonitorThread;
+    protected java.util.Map monitoredJobIds;
+    protected boolean isStarted;
+    public org.jbpm.job.executor.JobExecutor();
+    public synchronized void start();
+    public synchronized java.util.List stop();
+    public void stopAndJoin()       throws java.lang.InterruptedException;
+    protected synchronized void startThread();
+    protected java.lang.Thread createThread(java.lang.String);
+    protected java.lang.String getNextThreadName();
+    protected java.lang.String getLastThreadName();
+    protected synchronized java.lang.Thread stopThread();
+    public java.util.Set getMonitoredJobIds();
+    public void addMonitoredJobId(java.lang.String, long);
+    public void removeMonitoredJobId(java.lang.String);
+    public void setMonitoredJobIds(java.util.Map);
+    public int getHistoryMaxSize();
+    public void setHistoryMaxSize(int);
+    public int getIdleInterval();
+    public void setIdleInterval(int);
+    public boolean isStarted();
+    public void setStarted(boolean);
+    public org.jbpm.JbpmConfiguration getJbpmConfiguration();
+    public void setJbpmConfiguration(org.jbpm.JbpmConfiguration);
+    public int getMaxIdleInterval();
+    public void setMaxIdleInterval(int);
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public int getSize();
+    public void setSize(int);
+    public java.util.Map getThreads();
+    public void setThreads(java.util.Map);
+    public int getMaxLockTime();
+    public void setMaxLockTime(int);
+    public int getLockBufferTime();
+    public void setLockBufferTime(int);
+    public int getLockMonitorInterval();
+    public void setLockMonitorInterval(int);
+    public int getNbrOfThreads();
+    public void setNbrOfThreads(int);
+}
+
+Compiled from "JobExecutorServlet.java"
+public class org.jbpm.job.executor.JobExecutorServlet extends javax.servlet.http.HttpServlet{
+    public org.jbpm.job.executor.JobExecutorServlet();
+    public void init()       throws javax.servlet.ServletException;
+    protected void doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)       throws javax.servlet.ServletException, java.io.IOException;
+    public void destroy();
+}
+
+Compiled from "JobExecutorThread.java"
+public class org.jbpm.job.executor.JobExecutorThread extends java.lang.Thread{
+    public org.jbpm.job.executor.JobExecutorThread(java.lang.String, org.jbpm.job.executor.JobExecutor);
+    public org.jbpm.job.executor.JobExecutorThread(java.lang.String, org.jbpm.job.executor.JobExecutor, org.jbpm.JbpmConfiguration, int, int, long, int);
+    public void run();
+    protected java.util.Collection acquireJobs();
+    protected void executeJob(org.jbpm.job.Job);
+    protected java.util.Date getNextDueDate();
+    protected long getWaitPeriod();
+    public void setActive(boolean);
+    public void deactivate();
+}
+
+Compiled from "JobHistoryEntry.java"
+public class org.jbpm.job.executor.JobHistoryEntry extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.job.executor.JobHistoryEntry();
+}
+
+Compiled from "LockMonitorThread.java"
+public class org.jbpm.job.executor.LockMonitorThread extends java.lang.Thread{
+    public org.jbpm.job.executor.LockMonitorThread(org.jbpm.job.executor.JobExecutor);
+    public org.jbpm.job.executor.LockMonitorThread(org.jbpm.JbpmConfiguration, int, int, int);
+    public void run();
+    protected void unlockOverdueJobs();
+    public void setActive(boolean);
+    public void deactivate();
+}
+
+Compiled from "Job.java"
+public abstract class org.jbpm.job.Job extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.job.Job();
+    public org.jbpm.job.Job(org.jbpm.graph.exe.Token);
+    public abstract boolean execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.lang.String toString();
+    public java.lang.String toStringLongFormat();
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public void setProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public org.jbpm.graph.exe.Token getToken();
+    public void setToken(org.jbpm.graph.exe.Token);
+    public long getId();
+    public java.util.Date getAqcuireDate();
+    public void setLockTime(java.util.Date);
+    public java.util.Date getDueDate();
+    public void setDueDate(java.util.Date);
+    public java.lang.String getException();
+    public void setException(java.lang.String);
+    public boolean isExclusive();
+    public void setExclusive(boolean);
+    public java.lang.String getJobExecutorName();
+    public void setLockOwner(java.lang.String);
+    public int getRetries();
+    public void setRetries(int);
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance();
+    public void setTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public java.lang.String getConfiguration();
+    public void setConfiguration(java.lang.String);
+    public java.lang.String getLockOwner();
+    public java.util.Date getLockTime();
+    public boolean isSuspended();
+    public void setSuspended(boolean);
+    public int getVersion();
+}
+
+Compiled from "Timer.java"
+public class org.jbpm.job.Timer extends org.jbpm.job.Job{
+    public org.jbpm.job.Timer();
+    public org.jbpm.job.Timer(org.jbpm.graph.exe.Token);
+    public boolean execute(org.jbpm.JbpmContext)       throws java.lang.Exception;
+    public java.lang.String toString();
+    public static java.lang.String formatDueDate(java.util.Date);
+    public java.lang.String getRepeat();
+    public void setRepeat(java.lang.String);
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public java.lang.String getTransitionName();
+    public void setTransitionName(java.lang.String);
+    public org.jbpm.graph.def.GraphElement getGraphElement();
+    public void setGraphElement(org.jbpm.graph.def.GraphElement);
+    public org.jbpm.graph.def.Action getAction();
+    public void setAction(org.jbpm.graph.def.Action);
+}
+
+Compiled from "Converter.java"
+class org.jbpm.jpdl.convert.Converter$1 extends java.lang.Object implements java.io.FilenameFilter{
+    public boolean accept(java.io.File, java.lang.String);
+}
+
+Compiled from "Converter.java"
+public class org.jbpm.jpdl.convert.Converter extends java.lang.Object{
+    public org.jbpm.jpdl.convert.Converter();
+    public org.dom4j.Document convert(org.dom4j.Document)       throws java.lang.Exception;
+    public java.lang.String convertPar(org.jbpm.jpdl.par.ProcessArchive);
+    public void serializetoXML(java.io.OutputStream, org.dom4j.Document)       throws java.lang.Exception;
+    public static void main(java.lang.String[])       throws java.lang.Exception;
+}
+
+Compiled from "ELException.java"
+public class org.jbpm.jpdl.el.ELException extends org.jbpm.JbpmException{
+    public org.jbpm.jpdl.el.ELException();
+    public org.jbpm.jpdl.el.ELException(java.lang.String);
+    public org.jbpm.jpdl.el.ELException(java.lang.Throwable);
+    public org.jbpm.jpdl.el.ELException(java.lang.String, java.lang.Throwable);
+    public java.lang.Throwable getRootCause();
+}
+
+Compiled from "ELParseException.java"
+public class org.jbpm.jpdl.el.ELParseException extends org.jbpm.jpdl.el.ELException{
+    public org.jbpm.jpdl.el.ELParseException();
+    public org.jbpm.jpdl.el.ELParseException(java.lang.String);
+}
+
+Compiled from "Expression.java"
+public abstract class org.jbpm.jpdl.el.Expression extends java.lang.Object{
+    public org.jbpm.jpdl.el.Expression();
+    public abstract java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ExpressionEvaluator.java"
+public abstract class org.jbpm.jpdl.el.ExpressionEvaluator extends java.lang.Object{
+    public org.jbpm.jpdl.el.ExpressionEvaluator();
+    public abstract org.jbpm.jpdl.el.Expression parseExpression(java.lang.String, java.lang.Class, org.jbpm.jpdl.el.FunctionMapper)       throws org.jbpm.jpdl.el.ELException;
+    public abstract java.lang.Object evaluate(java.lang.String, java.lang.Class, org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "FunctionMapper.java"
+public interface org.jbpm.jpdl.el.FunctionMapper{
+    public abstract java.lang.reflect.Method resolveFunction(java.lang.String, java.lang.String);
+}
+
+Compiled from "AndOperator.java"
+public class org.jbpm.jpdl.el.impl.AndOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public static final org.jbpm.jpdl.el.impl.AndOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.AndOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean shouldEvaluate(java.lang.Object);
+    public boolean shouldCoerceToBoolean();
+}
+
+Compiled from "ArithmeticOperator.java"
+public abstract class org.jbpm.jpdl.el.impl.ArithmeticOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public org.jbpm.jpdl.el.impl.ArithmeticOperator();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public abstract double apply(double, double);
+    public abstract long apply(long, long);
+    public abstract java.math.BigDecimal apply(java.math.BigDecimal, java.math.BigDecimal);
+    public abstract java.math.BigInteger apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "ArraySuffix.java"
+public class org.jbpm.jpdl.el.impl.ArraySuffix extends org.jbpm.jpdl.el.impl.ValueSuffix{
+    public org.jbpm.jpdl.el.impl.Expression getIndex();
+    public void setIndex(org.jbpm.jpdl.el.impl.Expression);
+    public org.jbpm.jpdl.el.impl.ArraySuffix(org.jbpm.jpdl.el.impl.Expression);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(java.lang.Object, org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "BeanInfoIndexedProperty.java"
+public class org.jbpm.jpdl.el.impl.BeanInfoIndexedProperty extends java.lang.Object{
+    public java.lang.reflect.Method getReadMethod();
+    public java.lang.reflect.Method getWriteMethod();
+    public java.beans.IndexedPropertyDescriptor getIndexedPropertyDescriptor();
+    public org.jbpm.jpdl.el.impl.BeanInfoIndexedProperty(java.lang.reflect.Method, java.lang.reflect.Method, java.beans.IndexedPropertyDescriptor);
+}
+
+Compiled from "BeanInfoManager.java"
+public class org.jbpm.jpdl.el.impl.BeanInfoManager extends java.lang.Object{
+    public java.lang.Class getBeanClass();
+    public static org.jbpm.jpdl.el.impl.BeanInfoManager getBeanInfoManager(java.lang.Class);
+    public static org.jbpm.jpdl.el.impl.BeanInfoProperty getBeanInfoProperty(java.lang.Class, java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static org.jbpm.jpdl.el.impl.BeanInfoIndexedProperty getBeanInfoIndexedProperty(java.lang.Class, java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static org.jbpm.jpdl.el.impl.BeanMethod getBeanMethod(java.lang.Class, java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public org.jbpm.jpdl.el.impl.BeanInfoProperty getProperty(java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public org.jbpm.jpdl.el.impl.BeanInfoIndexedProperty getIndexedProperty(java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public org.jbpm.jpdl.el.impl.BeanMethod getBeanMethod(java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public java.beans.EventSetDescriptor getEventSet(java.lang.String, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "BeanInfoProperty.java"
+public class org.jbpm.jpdl.el.impl.BeanInfoProperty extends java.lang.Object{
+    public java.lang.reflect.Method getReadMethod();
+    public java.lang.reflect.Method getWriteMethod();
+    public java.beans.PropertyDescriptor getPropertyDescriptor();
+    public org.jbpm.jpdl.el.impl.BeanInfoProperty(java.lang.reflect.Method, java.lang.reflect.Method, java.beans.PropertyDescriptor);
+}
+
+Compiled from "BeanMethod.java"
+public class org.jbpm.jpdl.el.impl.BeanMethod extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.BeanMethod(java.lang.reflect.Method);
+    public java.lang.Object invoke(java.lang.Object)       throws java.lang.reflect.InvocationTargetException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException;
+}
+
+Compiled from "BinaryOperator.java"
+public abstract class org.jbpm.jpdl.el.impl.BinaryOperator extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.BinaryOperator();
+    public abstract java.lang.String getOperatorSymbol();
+    public abstract java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean shouldEvaluate(java.lang.Object);
+    public boolean shouldCoerceToBoolean();
+}
+
+Compiled from "BinaryOperatorExpression.java"
+public class org.jbpm.jpdl.el.impl.BinaryOperatorExpression extends org.jbpm.jpdl.el.impl.Expression{
+    public org.jbpm.jpdl.el.impl.Expression getExpression();
+    public void setExpression(org.jbpm.jpdl.el.impl.Expression);
+    public java.util.List getOperators();
+    public void setOperators(java.util.List);
+    public java.util.List getExpressions();
+    public void setExpressions(java.util.List);
+    public org.jbpm.jpdl.el.impl.BinaryOperatorExpression(org.jbpm.jpdl.el.impl.Expression, java.util.List, java.util.List);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "BooleanLiteral.java"
+public class org.jbpm.jpdl.el.impl.BooleanLiteral extends org.jbpm.jpdl.el.impl.Literal{
+    public static final org.jbpm.jpdl.el.impl.BooleanLiteral TRUE;
+    public static final org.jbpm.jpdl.el.impl.BooleanLiteral FALSE;
+    public org.jbpm.jpdl.el.impl.BooleanLiteral(java.lang.String);
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "Coercions.java"
+public class org.jbpm.jpdl.el.impl.Coercions extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.Coercions();
+    public static java.lang.Object coerce(java.lang.Object, java.lang.Class, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.String coerceToString(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Number coerceToPrimitiveNumber(java.lang.Object, java.lang.Class, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Integer coerceToInteger(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Character coerceToCharacter(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Boolean coerceToBoolean(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Object coerceToObject(java.lang.Object, java.lang.Class, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Object applyArithmeticOperator(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.ArithmeticOperator, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Object applyRelationalOperator(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.RelationalOperator, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static java.lang.Object applyEqualityOperator(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.EqualityOperator, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public static boolean isFloatingPointType(java.lang.Object);
+    public static boolean isFloatingPointType(java.lang.Class);
+    public static boolean isFloatingPointString(java.lang.Object);
+    public static boolean isIntegerType(java.lang.Object);
+    public static boolean isIntegerType(java.lang.Class);
+    public static boolean isBigInteger(java.lang.Object);
+    public static boolean isBigDecimal(java.lang.Object);
+}
+
+Compiled from "ComplexValue.java"
+public class org.jbpm.jpdl.el.impl.ComplexValue extends org.jbpm.jpdl.el.impl.Expression{
+    public org.jbpm.jpdl.el.impl.Expression getPrefix();
+    public void setPrefix(org.jbpm.jpdl.el.impl.Expression);
+    public java.util.List getSuffixes();
+    public void setSuffixes(java.util.List);
+    public org.jbpm.jpdl.el.impl.ComplexValue(org.jbpm.jpdl.el.impl.Expression, java.util.List);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ConditionalExpression.java"
+public class org.jbpm.jpdl.el.impl.ConditionalExpression extends org.jbpm.jpdl.el.impl.Expression{
+    public org.jbpm.jpdl.el.impl.Expression getCondition();
+    public void setCondition(org.jbpm.jpdl.el.impl.Expression);
+    public org.jbpm.jpdl.el.impl.Expression getTrueBranch();
+    public void setTrueBranch(org.jbpm.jpdl.el.impl.Expression);
+    public org.jbpm.jpdl.el.impl.Expression getFalseBranch();
+    public void setFalseBranch(org.jbpm.jpdl.el.impl.Expression);
+    public org.jbpm.jpdl.el.impl.ConditionalExpression(org.jbpm.jpdl.el.impl.Expression, org.jbpm.jpdl.el.impl.Expression, org.jbpm.jpdl.el.impl.Expression);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "Constants.java"
+public class org.jbpm.jpdl.el.impl.Constants extends java.lang.Object{
+    public static final java.lang.String EXCEPTION_GETTING_BEANINFO;
+    public static final java.lang.String NULL_EXPRESSION_STRING;
+    public static final java.lang.String PARSE_EXCEPTION;
+    public static final java.lang.String CANT_GET_PROPERTY_OF_NULL;
+    public static final java.lang.String NO_SUCH_PROPERTY;
+    public static final java.lang.String NO_GETTER_METHOD;
+    public static final java.lang.String ERROR_GETTING_PROPERTY;
+    public static final java.lang.String ERROR_INVOKING_METHOD;
+    public static final java.lang.String CANT_GET_INDEXED_VALUE_OF_NULL;
+    public static final java.lang.String CANT_GET_NULL_INDEX;
+    public static final java.lang.String NULL_INDEX;
+    public static final java.lang.String BAD_INDEX_VALUE;
+    public static final java.lang.String EXCEPTION_ACCESSING_LIST;
+    public static final java.lang.String EXCEPTION_ACCESSING_ARRAY;
+    public static final java.lang.String CANT_FIND_INDEX;
+    public static final java.lang.String TOSTRING_EXCEPTION;
+    public static final java.lang.String BOOLEAN_TO_NUMBER;
+    public static final java.lang.String STRING_TO_NUMBER_EXCEPTION;
+    public static final java.lang.String COERCE_TO_NUMBER;
+    public static final java.lang.String BOOLEAN_TO_CHARACTER;
+    public static final java.lang.String EMPTY_STRING_TO_CHARACTER;
+    public static final java.lang.String COERCE_TO_CHARACTER;
+    public static final java.lang.String NULL_TO_BOOLEAN;
+    public static final java.lang.String STRING_TO_BOOLEAN;
+    public static final java.lang.String COERCE_TO_BOOLEAN;
+    public static final java.lang.String COERCE_TO_OBJECT;
+    public static final java.lang.String NO_PROPERTY_EDITOR;
+    public static final java.lang.String PROPERTY_EDITOR_ERROR;
+    public static final java.lang.String ARITH_OP_NULL;
+    public static final java.lang.String ARITH_OP_BAD_TYPE;
+    public static final java.lang.String ARITH_ERROR;
+    public static final java.lang.String ERROR_IN_EQUALS;
+    public static final java.lang.String UNARY_OP_BAD_TYPE;
+    public static final java.lang.String NAMED_VALUE_NOT_FOUND;
+    public static final java.lang.String CANT_GET_INDEXED_PROPERTY;
+    public static final java.lang.String COMPARABLE_ERROR;
+    public static final java.lang.String BAD_IMPLICIT_OBJECT;
+    public static final java.lang.String ATTRIBUTE_EVALUATION_EXCEPTION;
+    public static final java.lang.String ATTRIBUTE_PARSE_EXCEPTION;
+    public static final java.lang.String UNKNOWN_FUNCTION;
+    public static final java.lang.String INAPPROPRIATE_FUNCTION_ARG_COUNT;
+    public static final java.lang.String FUNCTION_INVOCATION_ERROR;
+    public org.jbpm.jpdl.el.impl.Constants();
+    public static java.lang.String getStringResource(java.lang.String)       throws java.util.MissingResourceException;
+}
+
+Compiled from "DivideOperator.java"
+public class org.jbpm.jpdl.el.impl.DivideOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public static final org.jbpm.jpdl.el.impl.DivideOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.DivideOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "EmptyOperator.java"
+public class org.jbpm.jpdl.el.impl.EmptyOperator extends org.jbpm.jpdl.el.impl.UnaryOperator{
+    public static final org.jbpm.jpdl.el.impl.EmptyOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.EmptyOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "EnumeratedMap.java"
+public abstract class org.jbpm.jpdl.el.impl.EnumeratedMap extends java.lang.Object implements java.util.Map{
+    public org.jbpm.jpdl.el.impl.EnumeratedMap();
+    public void clear();
+    public boolean containsKey(java.lang.Object);
+    public boolean containsValue(java.lang.Object);
+    public java.util.Set entrySet();
+    public java.lang.Object get(java.lang.Object);
+    public boolean isEmpty();
+    public java.util.Set keySet();
+    public java.lang.Object put(java.lang.Object, java.lang.Object);
+    public void putAll(java.util.Map);
+    public java.lang.Object remove(java.lang.Object);
+    public int size();
+    public java.util.Collection values();
+    public abstract java.util.Enumeration enumerateKeys();
+    public abstract boolean isMutable();
+    public abstract java.lang.Object getValue(java.lang.Object);
+    public java.util.Map getAsMap();
+}
+
+Compiled from "EqualityOperator.java"
+public abstract class org.jbpm.jpdl.el.impl.EqualityOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public org.jbpm.jpdl.el.impl.EqualityOperator();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public abstract boolean apply(boolean, org.jbpm.jpdl.el.impl.Logger);
+}
+
+Compiled from "EqualsOperator.java"
+public class org.jbpm.jpdl.el.impl.EqualsOperator extends org.jbpm.jpdl.el.impl.EqualityOperator{
+    public static final org.jbpm.jpdl.el.impl.EqualsOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.EqualsOperator();
+    public java.lang.String getOperatorSymbol();
+    public boolean apply(boolean, org.jbpm.jpdl.el.impl.Logger);
+}
+
+Compiled from "Expression.java"
+public abstract class org.jbpm.jpdl.el.impl.Expression extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.Expression();
+    public abstract java.lang.String getExpressionString();
+    public abstract java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ExpressionEvaluatorImpl.java"
+public class org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl extends org.jbpm.jpdl.el.ExpressionEvaluator{
+    public org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl();
+    public org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl(boolean);
+    public java.lang.Object evaluate(java.lang.String, java.lang.Class, org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper)       throws org.jbpm.jpdl.el.ELException;
+    public org.jbpm.jpdl.el.Expression parseExpression(java.lang.String, java.lang.Class, org.jbpm.jpdl.el.FunctionMapper)       throws org.jbpm.jpdl.el.ELException;
+    public java.lang.Object parseExpressionString(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+    public java.lang.String parseAndRender(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ExpressionEvaluatorImpl.java"
+class org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl$JSTLExpression extends org.jbpm.jpdl.el.Expression{
+    public org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl$JSTLExpression(org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl, org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl, java.lang.String, java.lang.Class, org.jbpm.jpdl.el.FunctionMapper);
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ExpressionString.java"
+public class org.jbpm.jpdl.el.impl.ExpressionString extends java.lang.Object{
+    public java.lang.Object[] getElements();
+    public void setElements(java.lang.Object[]);
+    public org.jbpm.jpdl.el.impl.ExpressionString(java.lang.Object[]);
+    public java.lang.String evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "FloatingPointLiteral.java"
+public class org.jbpm.jpdl.el.impl.FloatingPointLiteral extends org.jbpm.jpdl.el.impl.Literal{
+    public org.jbpm.jpdl.el.impl.FloatingPointLiteral(java.lang.String);
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "FunctionInvocation.java"
+public class org.jbpm.jpdl.el.impl.FunctionInvocation extends org.jbpm.jpdl.el.impl.Expression{
+    public java.lang.String getFunctionName();
+    public void setFunctionName(java.lang.String);
+    public java.util.List getArgumentList();
+    public void setArgumentList(java.util.List);
+    public org.jbpm.jpdl.el.impl.FunctionInvocation(java.lang.String, java.util.List);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "GreaterThanOperator.java"
+public class org.jbpm.jpdl.el.impl.GreaterThanOperator extends org.jbpm.jpdl.el.impl.RelationalOperator{
+    public static final org.jbpm.jpdl.el.impl.GreaterThanOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.GreaterThanOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean apply(double, double);
+    public boolean apply(long, long);
+    public boolean apply(java.lang.String, java.lang.String);
+    public boolean apply(java.math.BigDecimal, java.math.BigDecimal);
+    public boolean apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "GreaterThanOrEqualsOperator.java"
+public class org.jbpm.jpdl.el.impl.GreaterThanOrEqualsOperator extends org.jbpm.jpdl.el.impl.RelationalOperator{
+    public static final org.jbpm.jpdl.el.impl.GreaterThanOrEqualsOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.GreaterThanOrEqualsOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean apply(double, double);
+    public boolean apply(long, long);
+    public boolean apply(java.lang.String, java.lang.String);
+    public boolean apply(java.math.BigDecimal, java.math.BigDecimal);
+    public boolean apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "IntegerDivideOperator.java"
+public class org.jbpm.jpdl.el.impl.IntegerDivideOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public static final org.jbpm.jpdl.el.impl.IntegerDivideOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.IntegerDivideOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "IntegerLiteral.java"
+public class org.jbpm.jpdl.el.impl.IntegerLiteral extends org.jbpm.jpdl.el.impl.Literal{
+    public org.jbpm.jpdl.el.impl.IntegerLiteral(java.lang.String);
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "JbpmExpressionEvaluator.java"
+public class org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator();
+    public static void setExpressionEvaluator(org.jbpm.jpdl.el.ExpressionEvaluator);
+    public static void setVariableResolver(org.jbpm.jpdl.el.VariableResolver);
+    public static void setFunctionMapper(org.jbpm.jpdl.el.FunctionMapper);
+    public static java.lang.Object evaluate(java.lang.String, org.jbpm.graph.exe.ExecutionContext);
+    public static java.lang.Object evaluate(java.lang.String, org.jbpm.graph.exe.ExecutionContext, org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper);
+    public static org.jbpm.jpdl.el.VariableResolver getUsedVariableResolver();
+    public static org.jbpm.jpdl.el.FunctionMapper getUsedFunctionMapper();
+}
+
+Compiled from "JbpmVariableResolver.java"
+public class org.jbpm.jpdl.el.impl.JbpmVariableResolver extends java.lang.Object implements org.jbpm.jpdl.el.VariableResolver{
+    public org.jbpm.jpdl.el.impl.JbpmVariableResolver();
+    public java.lang.Object resolveVariable(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "LessThanOperator.java"
+public class org.jbpm.jpdl.el.impl.LessThanOperator extends org.jbpm.jpdl.el.impl.RelationalOperator{
+    public static final org.jbpm.jpdl.el.impl.LessThanOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.LessThanOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean apply(double, double);
+    public boolean apply(long, long);
+    public boolean apply(java.lang.String, java.lang.String);
+    public boolean apply(java.math.BigDecimal, java.math.BigDecimal);
+    public boolean apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "LessThanOrEqualsOperator.java"
+public class org.jbpm.jpdl.el.impl.LessThanOrEqualsOperator extends org.jbpm.jpdl.el.impl.RelationalOperator{
+    public static final org.jbpm.jpdl.el.impl.LessThanOrEqualsOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.LessThanOrEqualsOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean apply(double, double);
+    public boolean apply(long, long);
+    public boolean apply(java.lang.String, java.lang.String);
+    public boolean apply(java.math.BigDecimal, java.math.BigDecimal);
+    public boolean apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "Literal.java"
+public abstract class org.jbpm.jpdl.el.impl.Literal extends org.jbpm.jpdl.el.impl.Expression{
+    public java.lang.Object getValue();
+    public void setValue(java.lang.Object);
+    public org.jbpm.jpdl.el.impl.Literal(java.lang.Object);
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "Logger.java"
+public class org.jbpm.jpdl.el.impl.Logger extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.Logger(java.io.PrintStream);
+    public boolean isLoggingWarning();
+    public void logWarning(java.lang.String, java.lang.Throwable)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.Throwable)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Throwable, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logWarning(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public boolean isLoggingError();
+    public void logError(java.lang.String, java.lang.Throwable)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.Throwable)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Throwable, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+    public void logError(java.lang.String, java.lang.Throwable, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "MinusOperator.java"
+public class org.jbpm.jpdl.el.impl.MinusOperator extends org.jbpm.jpdl.el.impl.ArithmeticOperator{
+    public static final org.jbpm.jpdl.el.impl.MinusOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.MinusOperator();
+    public java.lang.String getOperatorSymbol();
+    public double apply(double, double);
+    public long apply(long, long);
+    public java.math.BigDecimal apply(java.math.BigDecimal, java.math.BigDecimal);
+    public java.math.BigInteger apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "ModulusOperator.java"
+public class org.jbpm.jpdl.el.impl.ModulusOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public static final org.jbpm.jpdl.el.impl.ModulusOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.ModulusOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "MultiplyOperator.java"
+public class org.jbpm.jpdl.el.impl.MultiplyOperator extends org.jbpm.jpdl.el.impl.ArithmeticOperator{
+    public static final org.jbpm.jpdl.el.impl.MultiplyOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.MultiplyOperator();
+    public java.lang.String getOperatorSymbol();
+    public double apply(double, double);
+    public long apply(long, long);
+    public java.math.BigDecimal apply(java.math.BigDecimal, java.math.BigDecimal);
+    public java.math.BigInteger apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "NamedValue.java"
+public class org.jbpm.jpdl.el.impl.NamedValue extends org.jbpm.jpdl.el.impl.Expression{
+    public java.lang.String getName();
+    public org.jbpm.jpdl.el.impl.NamedValue(java.lang.String);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "NotEqualsOperator.java"
+public class org.jbpm.jpdl.el.impl.NotEqualsOperator extends org.jbpm.jpdl.el.impl.EqualityOperator{
+    public static final org.jbpm.jpdl.el.impl.NotEqualsOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.NotEqualsOperator();
+    public java.lang.String getOperatorSymbol();
+    public boolean apply(boolean, org.jbpm.jpdl.el.impl.Logger);
+}
+
+Compiled from "NotOperator.java"
+public class org.jbpm.jpdl.el.impl.NotOperator extends org.jbpm.jpdl.el.impl.UnaryOperator{
+    public static final org.jbpm.jpdl.el.impl.NotOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.NotOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "NullLiteral.java"
+public class org.jbpm.jpdl.el.impl.NullLiteral extends org.jbpm.jpdl.el.impl.Literal{
+    public static final org.jbpm.jpdl.el.impl.NullLiteral SINGLETON;
+    public org.jbpm.jpdl.el.impl.NullLiteral();
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "OrOperator.java"
+public class org.jbpm.jpdl.el.impl.OrOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public static final org.jbpm.jpdl.el.impl.OrOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.OrOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public boolean shouldEvaluate(java.lang.Object);
+    public boolean shouldCoerceToBoolean();
+}
+
+Compiled from "PlusOperator.java"
+public class org.jbpm.jpdl.el.impl.PlusOperator extends org.jbpm.jpdl.el.impl.ArithmeticOperator{
+    public static final org.jbpm.jpdl.el.impl.PlusOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.PlusOperator();
+    public java.lang.String getOperatorSymbol();
+    public double apply(double, double);
+    public long apply(long, long);
+    public java.math.BigDecimal apply(java.math.BigDecimal, java.math.BigDecimal);
+    public java.math.BigInteger apply(java.math.BigInteger, java.math.BigInteger);
+}
+
+Compiled from "PrimitiveObjects.java"
+class org.jbpm.jpdl.el.impl.PrimitiveObjects extends java.lang.Object{
+    public static java.lang.Boolean getBoolean(boolean);
+    public static java.lang.Byte getByte(byte);
+    public static java.lang.Character getCharacter(char);
+    public static java.lang.Short getShort(short);
+    public static java.lang.Integer getInteger(int);
+    public static java.lang.Long getLong(long);
+    public static java.lang.Float getFloat(float);
+    public static java.lang.Double getDouble(double);
+    public static java.lang.Class getPrimitiveObjectClass(java.lang.Class);
+}
+
+Compiled from "PropertySuffix.java"
+public class org.jbpm.jpdl.el.impl.PropertySuffix extends org.jbpm.jpdl.el.impl.ArraySuffix{
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public org.jbpm.jpdl.el.impl.PropertySuffix(java.lang.String);
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "RelationalOperator.java"
+public abstract class org.jbpm.jpdl.el.impl.RelationalOperator extends org.jbpm.jpdl.el.impl.BinaryOperator{
+    public org.jbpm.jpdl.el.impl.RelationalOperator();
+    public java.lang.Object apply(java.lang.Object, java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+    public abstract boolean apply(double, double);
+    public abstract boolean apply(long, long);
+    public abstract boolean apply(java.lang.String, java.lang.String);
+    public abstract boolean apply(java.math.BigDecimal, java.math.BigDecimal);
+    public abstract boolean apply(java.math.BigInteger, java.math.BigInteger);
+    protected boolean isLess(int);
+    protected boolean isEqual(int);
+    protected boolean isGreater(int);
+}
+
+Compiled from "StringLiteral.java"
+public class org.jbpm.jpdl.el.impl.StringLiteral extends org.jbpm.jpdl.el.impl.Literal{
+    public static org.jbpm.jpdl.el.impl.StringLiteral fromToken(java.lang.String);
+    public static org.jbpm.jpdl.el.impl.StringLiteral fromLiteralValue(java.lang.String);
+    public static java.lang.String getValueFromToken(java.lang.String);
+    public static java.lang.String toStringToken(java.lang.String);
+    public static java.lang.String toIdentifierToken(java.lang.String);
+    public java.lang.String getExpressionString();
+}
+
+Compiled from "UnaryMinusOperator.java"
+public class org.jbpm.jpdl.el.impl.UnaryMinusOperator extends org.jbpm.jpdl.el.impl.UnaryOperator{
+    public static final org.jbpm.jpdl.el.impl.UnaryMinusOperator SINGLETON;
+    public org.jbpm.jpdl.el.impl.UnaryMinusOperator();
+    public java.lang.String getOperatorSymbol();
+    public java.lang.Object apply(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "UnaryOperator.java"
+public abstract class org.jbpm.jpdl.el.impl.UnaryOperator extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.UnaryOperator();
+    public abstract java.lang.String getOperatorSymbol();
+    public abstract java.lang.Object apply(java.lang.Object, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "UnaryOperatorExpression.java"
+public class org.jbpm.jpdl.el.impl.UnaryOperatorExpression extends org.jbpm.jpdl.el.impl.Expression{
+    public org.jbpm.jpdl.el.impl.UnaryOperator getOperator();
+    public void setOperator(org.jbpm.jpdl.el.impl.UnaryOperator);
+    public java.util.List getOperators();
+    public void setOperators(java.util.List);
+    public org.jbpm.jpdl.el.impl.Expression getExpression();
+    public void setExpression(org.jbpm.jpdl.el.impl.Expression);
+    public org.jbpm.jpdl.el.impl.UnaryOperatorExpression(org.jbpm.jpdl.el.impl.UnaryOperator, java.util.List, org.jbpm.jpdl.el.impl.Expression);
+    public java.lang.String getExpressionString();
+    public java.lang.Object evaluate(org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ValueSuffix.java"
+public abstract class org.jbpm.jpdl.el.impl.ValueSuffix extends java.lang.Object{
+    public org.jbpm.jpdl.el.impl.ValueSuffix();
+    public abstract java.lang.String getExpressionString();
+    public abstract java.lang.Object evaluate(java.lang.Object, org.jbpm.jpdl.el.VariableResolver, org.jbpm.jpdl.el.FunctionMapper, org.jbpm.jpdl.el.impl.Logger)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ELParser.java"
+public class org.jbpm.jpdl.el.parser.ELParser extends java.lang.Object implements org.jbpm.jpdl.el.parser.ELParserConstants{
+    public org.jbpm.jpdl.el.parser.ELParserTokenManager token_source;
+    public org.jbpm.jpdl.el.parser.ELToken token;
+    public org.jbpm.jpdl.el.parser.ELToken jj_nt;
+    public boolean lookingAhead;
+    public static void main(java.lang.String[])       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final java.lang.Object ExpressionString()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final java.lang.String AttrValueString()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression AttrValueExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression Expression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression OrExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression AndExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression EqualityExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression RelationalExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression AddExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression MultiplyExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression ConditionalExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression UnaryExpression()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression Value()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Expression ValuePrefix()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.NamedValue NamedValue()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.FunctionInvocation FunctionInvocation()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.ValueSuffix ValueSuffix()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.PropertySuffix PropertySuffix()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.ArraySuffix ArraySuffix()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.Literal Literal()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.BooleanLiteral BooleanLiteral()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.StringLiteral StringLiteral()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.IntegerLiteral IntegerLiteral()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.FloatingPointLiteral FloatingPointLiteral()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final org.jbpm.jpdl.el.impl.NullLiteral NullLiteral()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final java.lang.String Identifier()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public final java.lang.String QualifiedName()       throws org.jbpm.jpdl.el.parser.ParseException;
+    public org.jbpm.jpdl.el.parser.ELParser(java.io.InputStream);
+    public void ReInit(java.io.InputStream);
+    public org.jbpm.jpdl.el.parser.ELParser(java.io.Reader);
+    public void ReInit(java.io.Reader);
+    public org.jbpm.jpdl.el.parser.ELParser(org.jbpm.jpdl.el.parser.ELParserTokenManager);
+    public void ReInit(org.jbpm.jpdl.el.parser.ELParserTokenManager);
+    public final org.jbpm.jpdl.el.parser.ELToken getNextToken();
+    public final org.jbpm.jpdl.el.parser.ELToken getToken(int);
+    public final org.jbpm.jpdl.el.parser.ParseException generateParseException();
+    public final void enable_tracing();
+    public final void disable_tracing();
+}
+
+Compiled from "ELParserConstants.java"
+public interface org.jbpm.jpdl.el.parser.ELParserConstants{
+    public static final int EOF;
+    public static final int NON_EXPRESSION_TEXT;
+    public static final int START_EXPRESSION;
+    public static final int INTEGER_LITERAL;
+    public static final int FLOATING_POINT_LITERAL;
+    public static final int EXPONENT;
+    public static final int STRING_LITERAL;
+    public static final int BADLY_ESCAPED_STRING_LITERAL;
+    public static final int TRUE;
+    public static final int FALSE;
+    public static final int NULL;
+    public static final int END_EXPRESSION;
+    public static final int DOT;
+    public static final int GT1;
+    public static final int GT2;
+    public static final int LT1;
+    public static final int LT2;
+    public static final int EQ1;
+    public static final int EQ2;
+    public static final int LE1;
+    public static final int LE2;
+    public static final int GE1;
+    public static final int GE2;
+    public static final int NE1;
+    public static final int NE2;
+    public static final int LPAREN;
+    public static final int RPAREN;
+    public static final int COMMA;
+    public static final int COLON;
+    public static final int LBRACKET;
+    public static final int RBRACKET;
+    public static final int PLUS;
+    public static final int MINUS;
+    public static final int MULTIPLY;
+    public static final int DIVIDE1;
+    public static final int DIVIDE2;
+    public static final int MODULUS1;
+    public static final int MODULUS2;
+    public static final int NOT1;
+    public static final int NOT2;
+    public static final int AND1;
+    public static final int AND2;
+    public static final int OR1;
+    public static final int OR2;
+    public static final int EMPTY;
+    public static final int COND;
+    public static final int IDENTIFIER;
+    public static final int IMPL_OBJ_START;
+    public static final int LETTER;
+    public static final int DIGIT;
+    public static final int ILLEGAL_CHARACTER;
+    public static final int DEFAULT;
+    public static final int IN_EXPRESSION;
+    public static final java.lang.String[] tokenImage;
+}
+
+Compiled from "ELParser.java"
+final class org.jbpm.jpdl.el.parser.ELParser$JJCalls extends java.lang.Object{
+}
+
+Compiled from "ELParserTokenManager.java"
+public class org.jbpm.jpdl.el.parser.ELParserTokenManager extends java.lang.Object implements org.jbpm.jpdl.el.parser.ELParserConstants{
+    public java.io.PrintStream debugStream;
+    public static final java.lang.String[] jjstrLiteralImages;
+    public static final java.lang.String[] lexStateNames;
+    public static final int[] jjnewLexState;
+    protected char curChar;
+    public void setDebugStream(java.io.PrintStream);
+    public org.jbpm.jpdl.el.parser.ELParserTokenManager(org.jbpm.jpdl.el.parser.SimpleCharStream);
+    public org.jbpm.jpdl.el.parser.ELParserTokenManager(org.jbpm.jpdl.el.parser.SimpleCharStream, int);
+    public void ReInit(org.jbpm.jpdl.el.parser.SimpleCharStream);
+    public void ReInit(org.jbpm.jpdl.el.parser.SimpleCharStream, int);
+    public void SwitchTo(int);
+    public final org.jbpm.jpdl.el.parser.ELToken getNextToken();
+}
+
+Compiled from "ELToken.java"
+public class org.jbpm.jpdl.el.parser.ELToken extends java.lang.Object{
+    public int kind;
+    public int beginLine;
+    public int beginColumn;
+    public int endLine;
+    public int endColumn;
+    public java.lang.String image;
+    public org.jbpm.jpdl.el.parser.ELToken next;
+    public org.jbpm.jpdl.el.parser.ELToken specialToken;
+    public org.jbpm.jpdl.el.parser.ELToken();
+    public final java.lang.String toString();
+    public static final org.jbpm.jpdl.el.parser.ELToken newToken(int);
+}
+
+Compiled from "ELTokenMgrError.java"
+public class org.jbpm.jpdl.el.parser.ELTokenMgrError extends java.lang.Error{
+    protected static final java.lang.String addEscapes(java.lang.String);
+    public java.lang.String getMessage();
+    public org.jbpm.jpdl.el.parser.ELTokenMgrError();
+    public org.jbpm.jpdl.el.parser.ELTokenMgrError(java.lang.String, int);
+    public org.jbpm.jpdl.el.parser.ELTokenMgrError(boolean, int, int, int, java.lang.String, char, int);
+}
+
+Compiled from "ParseException.java"
+public class org.jbpm.jpdl.el.parser.ParseException extends java.lang.Exception{
+    protected boolean specialConstructor;
+    public org.jbpm.jpdl.el.parser.ELToken currentToken;
+    public int[][] expectedTokenSequences;
+    public java.lang.String[] tokenImage;
+    protected java.lang.String eol;
+    public org.jbpm.jpdl.el.parser.ParseException(org.jbpm.jpdl.el.parser.ELToken, int[][], java.lang.String[]);
+    public org.jbpm.jpdl.el.parser.ParseException();
+    public org.jbpm.jpdl.el.parser.ParseException(java.lang.String);
+    public java.lang.String getMessage();
+    protected java.lang.String add_escapes(java.lang.String);
+}
+
+Compiled from "SimpleCharStream.java"
+public final class org.jbpm.jpdl.el.parser.SimpleCharStream extends java.lang.Object{
+    public static final boolean staticFlag;
+    public int bufpos;
+    public final char BeginToken()       throws java.io.IOException;
+    public final char readChar()       throws java.io.IOException;
+    public final int getColumn();
+    public final int getLine();
+    public final int getEndColumn();
+    public final int getEndLine();
+    public final int getBeginColumn();
+    public final int getBeginLine();
+    public final void backup(int);
+    public org.jbpm.jpdl.el.parser.SimpleCharStream(java.io.Reader, int, int, int);
+    public org.jbpm.jpdl.el.parser.SimpleCharStream(java.io.Reader, int, int);
+    public org.jbpm.jpdl.el.parser.SimpleCharStream(java.io.Reader);
+    public void ReInit(java.io.Reader, int, int, int);
+    public void ReInit(java.io.Reader, int, int);
+    public void ReInit(java.io.Reader);
+    public org.jbpm.jpdl.el.parser.SimpleCharStream(java.io.InputStream, int, int, int);
+    public org.jbpm.jpdl.el.parser.SimpleCharStream(java.io.InputStream, int, int);
+    public org.jbpm.jpdl.el.parser.SimpleCharStream(java.io.InputStream);
+    public void ReInit(java.io.InputStream, int, int, int);
+    public void ReInit(java.io.InputStream);
+    public void ReInit(java.io.InputStream, int, int);
+    public final java.lang.String GetImage();
+    public final char[] GetSuffix(int);
+    public void Done();
+    public void adjustBeginLineColumn(int, int);
+}
+
+Compiled from "VariableResolver.java"
+public interface org.jbpm.jpdl.el.VariableResolver{
+    public abstract java.lang.Object resolveVariable(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "MilestoneInstance.java"
+public class org.jbpm.jpdl.exe.MilestoneInstance extends java.lang.Object implements java.io.Serializable{
+    protected long id;
+    protected java.lang.String name;
+    protected boolean reached;
+    protected org.jbpm.graph.exe.Token token;
+    protected java.util.Collection listeners;
+    public org.jbpm.jpdl.exe.MilestoneInstance();
+    public org.jbpm.jpdl.exe.MilestoneInstance(java.lang.String);
+    public static org.jbpm.jpdl.exe.MilestoneInstance getMilestoneInstance(java.lang.String, org.jbpm.graph.exe.Token);
+    public void addListener(org.jbpm.graph.exe.Token);
+    public void notifyListeners();
+    public long getId();
+    public void setId(long);
+    public java.util.Collection getListeners();
+    public void setListeners(java.util.Collection);
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public boolean isReached();
+    public void setReached(boolean);
+    public org.jbpm.graph.exe.Token getToken();
+    public void setToken(org.jbpm.graph.exe.Token);
+}
+
+Compiled from "JpdlException.java"
+public class org.jbpm.jpdl.JpdlException extends java.lang.RuntimeException{
+    protected java.util.List problems;
+    public org.jbpm.jpdl.JpdlException(java.util.List);
+    public org.jbpm.jpdl.JpdlException(java.lang.String);
+    public org.jbpm.jpdl.JpdlException(java.lang.String, java.lang.Throwable);
+    public java.util.List getProblems();
+}
+
+Compiled from "ConfigurableParser.java"
+public interface org.jbpm.jpdl.par.ConfigurableParser extends org.jbpm.jpdl.par.ProcessArchiveParser{
+    public abstract void configure(org.w3c.dom.Element);
+}
+
+Compiled from "FileArchiveParser.java"
+public class org.jbpm.jpdl.par.FileArchiveParser extends java.lang.Object implements org.jbpm.jpdl.par.ProcessArchiveParser{
+    public org.jbpm.jpdl.par.FileArchiveParser();
+    public org.jbpm.graph.def.ProcessDefinition readFromArchive(org.jbpm.jpdl.par.ProcessArchive, org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "FileFilter.java"
+public class org.jbpm.jpdl.par.FileFilter extends java.lang.Object implements org.jbpm.jpdl.par.ConfigurableParser{
+    public org.jbpm.jpdl.par.FileFilter();
+    public void configure(org.w3c.dom.Element);
+    public org.jbpm.graph.def.ProcessDefinition readFromArchive(org.jbpm.jpdl.par.ProcessArchive, org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "JpdlArchiveParser.java"
+public class org.jbpm.jpdl.par.JpdlArchiveParser extends java.lang.Object implements org.jbpm.jpdl.par.ProcessArchiveParser{
+    public org.jbpm.jpdl.par.JpdlArchiveParser();
+    public org.jbpm.graph.def.ProcessDefinition readFromArchive(org.jbpm.jpdl.par.ProcessArchive, org.jbpm.graph.def.ProcessDefinition)       throws org.jbpm.jpdl.JpdlException;
+}
+
+Compiled from "ProcessArchive.java"
+public class org.jbpm.jpdl.par.ProcessArchive extends java.lang.Object implements org.jbpm.jpdl.xml.ProblemListener{
+    public org.jbpm.jpdl.par.ProcessArchive(java.util.zip.ZipInputStream)       throws java.io.IOException;
+    public org.jbpm.graph.def.ProcessDefinition parseProcessDefinition();
+    public java.lang.String toString();
+    public java.util.Map getEntries();
+    public byte[] getEntry(java.lang.String);
+    public java.io.InputStream getEntryInputStream(java.lang.String);
+    public byte[] removeEntry(java.lang.String);
+    public java.io.InputStream removeEntryInputStream(java.lang.String);
+    public void addProblem(org.jbpm.jpdl.xml.Problem);
+    public java.util.List getProblems();
+    public void resetProblems();
+}
+
+Compiled from "ProcessArchiveParser.java"
+public interface org.jbpm.jpdl.par.ProcessArchiveParser extends java.io.Serializable{
+    public abstract org.jbpm.graph.def.ProcessDefinition readFromArchive(org.jbpm.jpdl.par.ProcessArchive, org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "JpdlParser.java"
+public class org.jbpm.jpdl.xml.JpdlParser extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.jpdl.xml.JpdlParser();
+    public static org.dom4j.Document parse(org.xml.sax.InputSource, org.jbpm.jpdl.xml.ProblemListener)       throws java.lang.Exception;
+    public static org.dom4j.io.SAXReader createSaxReader(org.jbpm.jpdl.xml.ProblemListener)       throws java.lang.Exception;
+    public static org.xml.sax.XMLReader createXmlReader()       throws java.lang.Exception;
+    public static void addSchemaResource(java.lang.String);
+}
+
+Compiled from "JpdlParser.java"
+class org.jbpm.jpdl.xml.JpdlParser$JpdlErrorHandler extends java.lang.Object implements org.xml.sax.ErrorHandler,java.io.Serializable{
+    public void warning(org.xml.sax.SAXParseException);
+    public void error(org.xml.sax.SAXParseException);
+    public void fatalError(org.xml.sax.SAXParseException);
+}
+
+Compiled from "JpdlXmlReader.java"
+public class org.jbpm.jpdl.xml.JpdlXmlReader extends java.lang.Object implements org.jbpm.jpdl.xml.ProblemListener{
+    protected org.xml.sax.InputSource inputSource;
+    protected java.util.List problems;
+    protected org.jbpm.jpdl.xml.ProblemListener problemListener;
+    protected org.jbpm.graph.def.ProcessDefinition processDefinition;
+    protected java.lang.String initialNodeName;
+    protected java.util.Collection unresolvedTransitionDestinations;
+    protected java.util.Collection unresolvedActionReferences;
+    protected org.dom4j.Document document;
+    public org.jbpm.jpdl.xml.JpdlXmlReader(org.xml.sax.InputSource);
+    public org.jbpm.jpdl.xml.JpdlXmlReader(org.xml.sax.InputSource, org.jbpm.jpdl.xml.ProblemListener);
+    public org.jbpm.jpdl.xml.JpdlXmlReader(java.io.Reader);
+    public void close()       throws java.io.IOException;
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void addProblem(org.jbpm.jpdl.xml.Problem);
+    public void addError(java.lang.String);
+    public void addError(java.lang.String, java.lang.Throwable);
+    public void addWarning(java.lang.String);
+    public org.jbpm.graph.def.ProcessDefinition readProcessDefinition();
+    protected void parseProcessDefinitionAttributes(org.dom4j.Element);
+    protected void readSwimlanes(org.dom4j.Element);
+    public void readNodes(org.dom4j.Element, org.jbpm.graph.def.NodeCollection);
+    public void readTasks(org.dom4j.Element, org.jbpm.graph.node.TaskNode);
+    public org.jbpm.taskmgmt.def.Task readTask(org.dom4j.Element, org.jbpm.taskmgmt.def.TaskMgmtDefinition, org.jbpm.graph.node.TaskNode);
+    protected org.jbpm.instantiation.Delegation readAssignmentDelegation(org.dom4j.Element);
+    protected org.jbpm.taskmgmt.def.TaskController readTaskController(org.dom4j.Element);
+    public java.util.List readVariableAccesses(org.dom4j.Element);
+    public void readStartStateTask(org.dom4j.Element, org.jbpm.graph.node.StartState);
+    public void readNode(org.dom4j.Element, org.jbpm.graph.def.Node, org.jbpm.graph.def.NodeCollection);
+    protected void readNodeTimers(org.dom4j.Element, org.jbpm.graph.def.Node);
+    protected void readNodeTimer(org.dom4j.Element, org.jbpm.graph.def.Node);
+    protected void readTaskTimers(org.dom4j.Element, org.jbpm.taskmgmt.def.Task);
+    protected void readTaskTimer(org.dom4j.Element, org.jbpm.taskmgmt.def.Task);
+    protected void readEvents(org.dom4j.Element, org.jbpm.graph.def.GraphElement);
+    public void readActions(org.dom4j.Element, org.jbpm.graph.def.GraphElement, java.lang.String);
+    protected void addAction(org.jbpm.graph.def.GraphElement, java.lang.String, org.jbpm.graph.def.Action);
+    public org.jbpm.graph.def.Action readSingleAction(org.dom4j.Element);
+    public org.jbpm.graph.def.Action createAction(org.dom4j.Element);
+    public void readAction(org.dom4j.Element, org.jbpm.graph.def.Action);
+    protected void readExceptionHandlers(org.dom4j.Element, org.jbpm.graph.def.GraphElement);
+    protected void readExceptionHandler(org.dom4j.Element, org.jbpm.graph.def.GraphElement);
+    public void addUnresolvedTransitionDestination(org.dom4j.Element, org.jbpm.graph.def.Node);
+    public void resolveTransitionDestinations();
+    public void resolveTransitionDestinations(java.util.List, org.jbpm.graph.def.Node);
+    public org.jbpm.graph.def.Transition resolveTransitionDestination(org.dom4j.Element, org.jbpm.graph.def.Node);
+    public void addUnresolvedActionReference(org.dom4j.Element, org.jbpm.graph.def.Action);
+    public void resolveActionReferences();
+    public void verifySwimlaneAssignments();
+    public org.jbpm.instantiation.Delegation createMailDelegation(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+    public java.lang.String getProperty(java.lang.String, org.dom4j.Element);
+}
+
+Compiled from "JpdlXmlWriter.java"
+public class org.jbpm.jpdl.xml.JpdlXmlWriter extends java.lang.Object{
+    public org.jbpm.jpdl.xml.JpdlXmlWriter(java.io.Writer);
+    public void addProblem(java.lang.String);
+    public static java.lang.String toString(org.jbpm.graph.def.ProcessDefinition);
+    public void setUseNamespace(boolean);
+    public void write(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "Parsable.java"
+public interface org.jbpm.jpdl.xml.Parsable{
+    public abstract void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public abstract void write(org.dom4j.Element);
+}
+
+Compiled from "Problem.java"
+public class org.jbpm.jpdl.xml.Problem extends java.lang.Object implements java.io.Serializable{
+    public static final int LEVEL_FATAL;
+    public static final int LEVEL_ERROR;
+    public static final int LEVEL_WARNING;
+    public static final int LEVEL_INFO;
+    protected int level;
+    protected java.lang.String description;
+    protected java.lang.String resource;
+    protected java.lang.String folder;
+    protected java.lang.Integer line;
+    protected java.lang.Throwable exception;
+    public org.jbpm.jpdl.xml.Problem(int, java.lang.String);
+    public org.jbpm.jpdl.xml.Problem(int, java.lang.String, java.lang.Throwable);
+    public java.lang.String toString();
+    public static boolean containsProblemsOfLevel(java.util.Collection, int);
+    public java.lang.String getDescription();
+    public void setDescription(java.lang.String);
+    public java.lang.Throwable getException();
+    public void setException(java.lang.Throwable);
+    public java.lang.String getFolder();
+    public void setFolder(java.lang.String);
+    public java.lang.Integer getLine();
+    public void setLine(java.lang.Integer);
+    public java.lang.String getResource();
+    public void setResource(java.lang.String);
+    public int getLevel();
+}
+
+Compiled from "ProblemListener.java"
+public interface org.jbpm.jpdl.xml.ProblemListener extends java.io.Serializable{
+    public abstract void addProblem(org.jbpm.jpdl.xml.Problem);
+}
+
+Compiled from "DbLoggingService.java"
+public class org.jbpm.logging.db.DbLoggingService extends java.lang.Object implements org.jbpm.logging.LoggingService{
+    public org.jbpm.logging.db.DbLoggingService();
+    public void log(org.jbpm.logging.log.ProcessLog);
+    public void close();
+}
+
+Compiled from "DbLoggingServiceFactory.java"
+public class org.jbpm.logging.db.DbLoggingServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.logging.db.DbLoggingServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+}
+
+Compiled from "LoggingInstance.java"
+public class org.jbpm.logging.exe.LoggingInstance extends org.jbpm.module.exe.ModuleInstance{
+    public org.jbpm.logging.exe.LoggingInstance();
+    public void startCompositeLog(org.jbpm.logging.log.CompositeLog);
+    public void endCompositeLog();
+    public void addLog(org.jbpm.logging.log.ProcessLog);
+    public java.util.List getLogs();
+    public java.util.List getLogs(java.lang.Class);
+    public static java.util.List getLogs(java.util.Collection, java.lang.Class);
+    public void logLogs();
+}
+
+Compiled from "CompositeLog.java"
+public class org.jbpm.logging.log.CompositeLog extends org.jbpm.logging.log.ProcessLog{
+    public org.jbpm.logging.log.CompositeLog();
+    public java.util.List getChildren();
+    public void setChildren(java.util.List);
+    public java.lang.String toString();
+    public void addChild(org.jbpm.logging.log.ProcessLog);
+}
+
+Compiled from "LoggingService.java"
+public interface org.jbpm.logging.LoggingService extends org.jbpm.svc.Service{
+    public abstract void log(org.jbpm.logging.log.ProcessLog);
+}
+
+Compiled from "MessageLog.java"
+public class org.jbpm.logging.log.MessageLog extends org.jbpm.logging.log.ProcessLog{
+    public org.jbpm.logging.log.MessageLog();
+    public org.jbpm.logging.log.MessageLog(java.lang.String);
+    public java.lang.String toString();
+    public java.lang.String getMessage();
+}
+
+Compiled from "ProcessLog.java"
+public abstract class org.jbpm.logging.log.ProcessLog extends java.lang.Object implements java.io.Serializable{
+    protected int index;
+    protected java.util.Date date;
+    protected org.jbpm.graph.exe.Token token;
+    protected org.jbpm.logging.log.CompositeLog parent;
+    public org.jbpm.logging.log.ProcessLog();
+    public java.lang.String toString();
+    public java.lang.String getActorId();
+    public void setToken(org.jbpm.graph.exe.Token);
+    public void setParent(org.jbpm.logging.log.CompositeLog);
+    public long getId();
+    public java.util.Date getDate();
+    public void setDate(java.util.Date);
+    public org.jbpm.logging.log.CompositeLog getParent();
+    public org.jbpm.graph.exe.Token getToken();
+    public void setIndex(int);
+    public int getIndex();
+    public java.util.List getChildren();
+}
+
+Compiled from "AddressResolver.java"
+public interface org.jbpm.mail.AddressResolver extends java.io.Serializable{
+    public abstract java.lang.Object resolveAddress(java.lang.String);
+}
+
+Compiled from "Mail.java"
+public class org.jbpm.mail.Mail extends java.lang.Object implements org.jbpm.graph.def.ActionHandler{
+    public org.jbpm.mail.Mail();
+    public org.jbpm.mail.Mail(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+    public org.jbpm.mail.Mail(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
+    public void execute(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.List getRecipients();
+    public java.util.List getBccRecipients();
+    public java.lang.String getSubject();
+    public java.lang.String getText();
+    public java.lang.String getFromAddress();
+    public void send();
+    public static void send(java.util.Properties, java.lang.String, java.util.List, java.lang.String, java.lang.String);
+    public static void send(java.util.Properties, java.lang.String, java.util.List, java.util.List, java.lang.String, java.lang.String);
+    protected java.util.List tokenize(java.lang.String);
+    protected java.util.Collection resolveAddresses(java.util.List);
+}
+
+Compiled from "Mail.java"
+class org.jbpm.mail.Mail$MailVariableResolver extends java.lang.Object implements org.jbpm.jpdl.el.VariableResolver,java.io.Serializable{
+    public org.jbpm.mail.Mail$MailVariableResolver(org.jbpm.mail.Mail, java.util.Map, org.jbpm.jpdl.el.VariableResolver);
+    public java.lang.Object resolveVariable(java.lang.String)       throws org.jbpm.jpdl.el.ELException;
+}
+
+Compiled from "ModuleDefinition.java"
+public abstract class org.jbpm.module.def.ModuleDefinition extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String name;
+    protected org.jbpm.graph.def.ProcessDefinition processDefinition;
+    public org.jbpm.module.def.ModuleDefinition();
+    public abstract org.jbpm.module.exe.ModuleInstance createInstance();
+    public boolean equals(java.lang.Object);
+    public long getId();
+    public java.lang.String getName();
+    public org.jbpm.graph.def.ProcessDefinition getProcessDefinition();
+    public void setProcessDefinition(org.jbpm.graph.def.ProcessDefinition);
+}
+
+Compiled from "ModuleInstance.java"
+public class org.jbpm.module.exe.ModuleInstance extends java.lang.Object implements java.io.Serializable{
+    protected org.jbpm.graph.exe.ProcessInstance processInstance;
+    public org.jbpm.module.exe.ModuleInstance();
+    public boolean equals(java.lang.Object);
+    protected org.jbpm.svc.Service getService(java.lang.String);
+    public long getId();
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public void setProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "DbMessageService.java"
+public class org.jbpm.msg.db.DbMessageService extends java.lang.Object implements org.jbpm.msg.MessageService{
+    public org.jbpm.msg.db.DbMessageService();
+    public void send(org.jbpm.job.Job);
+    public void close();
+}
+
+Compiled from "DbMessageServiceFactory.java"
+public class org.jbpm.msg.db.DbMessageServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.msg.db.DbMessageServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+}
+
+Compiled from "MessageService.java"
+public interface org.jbpm.msg.MessageService extends org.jbpm.svc.Service,java.io.Serializable{
+    public abstract void send(org.jbpm.job.Job);
+    public abstract void close();
+}
+
+Compiled from "DbPersistenceService.java"
+public class org.jbpm.persistence.db.DbPersistenceService extends java.lang.Object implements org.jbpm.svc.Service,org.jbpm.persistence.PersistenceService{
+    protected final org.jbpm.persistence.db.DbPersistenceServiceFactory persistenceServiceFactory;
+    protected java.sql.Connection connection;
+    protected boolean mustConnectionBeClosed;
+    protected org.hibernate.Transaction transaction;
+    protected boolean isTransactionEnabled;
+    protected boolean isCurrentSessionEnabled;
+    protected org.hibernate.Session session;
+    protected boolean mustSessionBeFlushed;
+    protected boolean mustSessionBeClosed;
+    protected org.jbpm.db.GraphSession graphSession;
+    protected org.jbpm.db.TaskMgmtSession taskMgmtSession;
+    protected org.jbpm.db.JobSession jobSession;
+    protected org.jbpm.db.ContextSession contextSession;
+    protected org.jbpm.db.LoggingSession loggingSession;
+    protected org.jbpm.svc.Services services;
+    public org.jbpm.persistence.db.DbPersistenceService(org.jbpm.persistence.db.DbPersistenceServiceFactory);
+    public org.hibernate.SessionFactory getSessionFactory();
+    public org.hibernate.Session getSession();
+    public void beginTransaction();
+    public void endTransaction();
+    public java.sql.Connection getConnection();
+    public java.sql.Connection getConnection(boolean);
+    public boolean isTransactionActive();
+    protected boolean isTransactionManagedExternally();
+    protected boolean isTransactionRollbackOnly();
+    public void close();
+    protected java.lang.Exception commit();
+    protected java.lang.Exception rollback();
+    public void assignId(java.lang.Object);
+    public org.jbpm.db.GraphSession getGraphSession();
+    public org.jbpm.db.LoggingSession getLoggingSession();
+    public org.jbpm.db.JobSession getJobSession();
+    public org.jbpm.db.ContextSession getContextSession();
+    public org.jbpm.db.TaskMgmtSession getTaskMgmtSession();
+    public javax.sql.DataSource getDataSource();
+    public boolean isRollbackOnly();
+    public void setRollbackOnly();
+    public void setRollbackOnly(boolean);
+    public void setSession(org.hibernate.Session);
+    public void setSessionWithoutDisablingTx(org.hibernate.Session);
+    public void setSession(org.hibernate.Session, boolean);
+    public void setConnection(java.sql.Connection);
+    public void setContextSession(org.jbpm.db.ContextSession);
+    public void setDataSource(javax.sql.DataSource);
+    public void setGraphSession(org.jbpm.db.GraphSession);
+    public void setLoggingSession(org.jbpm.db.LoggingSession);
+    public void setJobSession(org.jbpm.db.JobSession);
+    public void setTaskMgmtSession(org.jbpm.db.TaskMgmtSession);
+    public void setSessionFactory(org.hibernate.SessionFactory);
+    public org.hibernate.Transaction getTransaction();
+    public void setTransaction(org.hibernate.Transaction);
+    public boolean isTransactionEnabled();
+    public void setTransactionEnabled(boolean);
+    public static boolean isPersistenceException(java.lang.Exception);
+    public static boolean isStaleStateException(java.lang.Exception);
+}
+
+Compiled from "DbPersistenceServiceFactory.java"
+public class org.jbpm.persistence.db.DbPersistenceServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.persistence.db.DbPersistenceServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public synchronized org.hibernate.cfg.Configuration getConfiguration();
+    public synchronized org.hibernate.tool.hbm2ddl.SchemaExport getSchemaExport();
+    public synchronized org.hibernate.SessionFactory getSessionFactory();
+    public javax.sql.DataSource getDataSource();
+    public void cleanSchema();
+    public void createSchema();
+    public void dropSchema();
+    public void close();
+    public java.lang.String getDataSourceJndiName();
+    public void setDataSourceJndiName(java.lang.String);
+    public java.lang.String getSessionFactoryJndiName();
+    public void setSessionFactoryJndiName(java.lang.String);
+    public void setConfiguration(org.hibernate.cfg.Configuration);
+    public void setDataSource(javax.sql.DataSource);
+    public void setSchemaExport(org.hibernate.tool.hbm2ddl.SchemaExport);
+    public void setSessionFactory(org.hibernate.SessionFactory);
+    public boolean isTransactionEnabled();
+    public void setTransactionEnabled(boolean);
+    public boolean isCurrentSessionEnabled();
+    public void setCurrentSessionEnabled(boolean);
+}
+
+Compiled from "StaleObjectLogConfigurer.java"
+public class org.jbpm.persistence.db.StaleObjectLogConfigurer extends java.lang.Object{
+    public static org.apache.commons.logging.Log getStaleObjectExceptionsLog();
+    public static void hideStaleObjectExceptions();
+}
+
+Compiled from "StaleObjectLogConfigurer.java"
+class org.jbpm.persistence.db.StaleObjectLogConfigurer$LogWrapper extends java.lang.Object implements org.apache.commons.logging.Log,java.io.Serializable{
+    public void debug(java.lang.Object, java.lang.Throwable);
+    public void debug(java.lang.Object);
+    public void error(java.lang.Object, java.lang.Throwable);
+    public void error(java.lang.Object);
+    public void info(java.lang.Object, java.lang.Throwable);
+    public void info(java.lang.Object);
+    public void trace(java.lang.Object, java.lang.Throwable);
+    public void trace(java.lang.Object);
+    public void warn(java.lang.Object, java.lang.Throwable);
+    public void warn(java.lang.Object);
+    public void fatal(java.lang.Object, java.lang.Throwable);
+    public void fatal(java.lang.Object);
+    public boolean isDebugEnabled();
+    public boolean isErrorEnabled();
+    public boolean isFatalEnabled();
+    public boolean isInfoEnabled();
+    public boolean isTraceEnabled();
+    public boolean isWarnEnabled();
+}
+
+Compiled from "JbpmPersistenceException.java"
+public class org.jbpm.persistence.JbpmPersistenceException extends org.jbpm.JbpmException{
+    public org.jbpm.persistence.JbpmPersistenceException(java.lang.String, java.lang.Throwable);
+}
+
+Compiled from "JtaDbPersistenceService.java"
+public class org.jbpm.persistence.jta.JtaDbPersistenceService extends org.jbpm.persistence.db.DbPersistenceService{
+    public org.jbpm.persistence.jta.JtaDbPersistenceService(org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory);
+    public boolean isTransactionActive();
+    protected boolean isTransactionManagedExternally();
+    protected boolean isTransactionRollbackOnly();
+    public void beginTransaction();
+    protected java.lang.Exception commit();
+    protected java.lang.Exception rollback();
+    public boolean isJtaTxCreated();
+}
+
+Compiled from "JtaDbPersistenceServiceFactory.java"
+public class org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory extends org.jbpm.persistence.db.DbPersistenceServiceFactory{
+    public org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public javax.transaction.UserTransaction getUserTransaction();
+}
+
+Compiled from "PersistenceService.java"
+public interface org.jbpm.persistence.PersistenceService extends org.jbpm.svc.Service{
+    public abstract void assignId(java.lang.Object);
+    public abstract org.jbpm.db.GraphSession getGraphSession();
+    public abstract org.jbpm.db.LoggingSession getLoggingSession();
+    public abstract org.jbpm.db.JobSession getJobSession();
+    public abstract org.jbpm.db.ContextSession getContextSession();
+    public abstract org.jbpm.db.TaskMgmtSession getTaskMgmtSession();
+    public abstract boolean isRollbackOnly();
+    public abstract void setRollbackOnly(boolean);
+    public abstract void setRollbackOnly();
+    public abstract void setGraphSession(org.jbpm.db.GraphSession);
+    public abstract void setLoggingSession(org.jbpm.db.LoggingSession);
+    public abstract void setJobSession(org.jbpm.db.JobSession);
+    public abstract void setTaskMgmtSession(org.jbpm.db.TaskMgmtSession);
+}
+
+Compiled from "DbSchedulerService.java"
+public class org.jbpm.scheduler.db.DbSchedulerService extends java.lang.Object implements org.jbpm.scheduler.SchedulerService{
+    public org.jbpm.scheduler.db.DbSchedulerService();
+    public void createTimer(org.jbpm.job.Timer);
+    public void deleteTimer(org.jbpm.job.Timer);
+    public void deleteTimersByName(java.lang.String, org.jbpm.graph.exe.Token);
+    public void deleteTimersByProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+    public void close();
+}
+
+Compiled from "DbSchedulerServiceFactory.java"
+public class org.jbpm.scheduler.db.DbSchedulerServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.scheduler.db.DbSchedulerServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+}
+
+Compiled from "CancelTimerAction.java"
+public class org.jbpm.scheduler.def.CancelTimerAction extends org.jbpm.graph.def.Action{
+    public org.jbpm.scheduler.def.CancelTimerAction();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    public java.lang.String getTimerName();
+    public void setTimerName(java.lang.String);
+}
+
+Compiled from "CreateTimerAction.java"
+public class org.jbpm.scheduler.def.CreateTimerAction extends org.jbpm.graph.def.Action{
+    public org.jbpm.scheduler.def.CreateTimerAction();
+    public void read(org.dom4j.Element, org.jbpm.jpdl.xml.JpdlXmlReader);
+    public void execute(org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+    protected org.jbpm.job.Timer createTimer(org.jbpm.graph.exe.ExecutionContext);
+    public java.lang.String getDueDate();
+    public void setDueDate(java.lang.String);
+    public java.lang.String getRepeat();
+    public void setRepeat(java.lang.String);
+    public java.lang.String getTransitionName();
+    public void setTransitionName(java.lang.String);
+    public java.lang.String getTimerName();
+    public void setTimerName(java.lang.String);
+    public org.jbpm.graph.def.Action getTimerAction();
+    public void setTimerAction(org.jbpm.graph.def.Action);
+}
+
+Compiled from "SchedulerService.java"
+public interface org.jbpm.scheduler.SchedulerService extends org.jbpm.svc.Service{
+    public abstract void createTimer(org.jbpm.job.Timer);
+    public abstract void deleteTimer(org.jbpm.job.Timer);
+    public abstract void deleteTimersByName(java.lang.String, org.jbpm.graph.exe.Token);
+    public abstract void deleteTimersByProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "DefaultAuthenticationService.java"
+public class org.jbpm.security.authentication.DefaultAuthenticationService extends java.lang.Object implements org.jbpm.security.AuthenticationService{
+    public org.jbpm.security.authentication.DefaultAuthenticationService();
+    public void setActorId(java.lang.String);
+    public java.lang.String getActorId();
+    public void close();
+}
+
+Compiled from "DefaultAuthenticationServiceFactory.java"
+public class org.jbpm.security.authentication.DefaultAuthenticationServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.security.authentication.DefaultAuthenticationServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+}
+
+Compiled from "AuthenticationService.java"
+public interface org.jbpm.security.AuthenticationService extends org.jbpm.svc.Service{
+    public abstract java.lang.String getActorId();
+    public abstract void setActorId(java.lang.String);
+}
+
+Compiled from "SubjectAuthenticationService.java"
+public class org.jbpm.security.authentication.SubjectAuthenticationService extends java.lang.Object implements org.jbpm.security.AuthenticationService{
+    public org.jbpm.security.authentication.SubjectAuthenticationService(java.lang.String, java.lang.Boolean);
+    public org.jbpm.security.authentication.SubjectAuthenticationService();
+    protected void initPrincipalClass(java.lang.String);
+    public java.lang.String getActorId();
+    public void setActorId(java.lang.String);
+    public void close();
+}
+
+Compiled from "SubjectAuthenticationServiceFactory.java"
+public class org.jbpm.security.authentication.SubjectAuthenticationServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.security.authentication.SubjectAuthenticationServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+    public boolean isAllowActorIdOverwrite();
+    public void setAllowActorIdOverwrite(boolean);
+    public java.lang.String getPrincipalClassName();
+    public void setPrincipalClassName(java.lang.String);
+}
+
+Compiled from "IdentityAuthorizationService.java"
+public class org.jbpm.security.authorization.IdentityAuthorizationService extends java.lang.Object implements org.jbpm.security.AuthorizationService{
+    public org.jbpm.security.authorization.IdentityAuthorizationService();
+    public void checkPermission(java.security.Permission)       throws java.security.AccessControlException;
+    public void close();
+}
+
+Compiled from "IdentityAuthorizationServiceFactory.java"
+public class org.jbpm.security.authorization.IdentityAuthorizationServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.security.authorization.IdentityAuthorizationServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+}
+
+Compiled from "AuthorizationService.java"
+public interface org.jbpm.security.AuthorizationService extends org.jbpm.svc.Service{
+    public abstract void checkPermission(java.security.Permission)       throws java.security.AccessControlException;
+}
+
+Compiled from "CreateProcessInstancePermission.java"
+public class org.jbpm.security.permission.CreateProcessInstancePermission extends java.security.BasicPermission{
+    public org.jbpm.security.permission.CreateProcessInstancePermission(java.lang.String, java.lang.String);
+}
+
+Compiled from "DeployProcessPermission.java"
+public class org.jbpm.security.permission.DeployProcessPermission extends java.security.BasicPermission{
+    public org.jbpm.security.permission.DeployProcessPermission(java.lang.String, java.lang.String);
+}
+
+Compiled from "EndTaskPermission.java"
+public class org.jbpm.security.permission.EndTaskPermission extends java.security.BasicPermission{
+    public org.jbpm.security.permission.EndTaskPermission(java.lang.String, java.lang.String);
+}
+
+Compiled from "SubmitTaskParametersPermission.java"
+public class org.jbpm.security.permission.SubmitTaskParametersPermission extends java.security.BasicPermission{
+    public org.jbpm.security.permission.SubmitTaskParametersPermission(java.lang.String, java.lang.String);
+}
+
+Compiled from "TaskAssignPermission.java"
+public class org.jbpm.security.permission.TaskAssignPermission extends java.security.BasicPermission{
+    public org.jbpm.security.permission.TaskAssignPermission(java.lang.String, java.lang.String);
+}
+
+Compiled from "ViewTaskParametersPermission.java"
+public class org.jbpm.security.permission.ViewTaskParametersPermission extends java.security.BasicPermission{
+    public org.jbpm.security.permission.ViewTaskParametersPermission(java.lang.String, java.lang.String);
+}
+
+Compiled from "SecurityHelper.java"
+public abstract class org.jbpm.security.SecurityHelper extends java.lang.Object{
+    public org.jbpm.security.SecurityHelper();
+    public static java.lang.String getAuthenticatedActorId();
+    public static void checkPermission(java.security.Permission);
+}
+
+Compiled from "EventService.java"
+public interface org.jbpm.signal.EventService extends org.jbpm.svc.Service{
+    public static final java.lang.String SERVICE_NAME;
+    public abstract void fireEvent(java.lang.String, org.jbpm.graph.def.GraphElement, org.jbpm.graph.exe.ExecutionContext);
+}
+
+Compiled from "JbpmServiceException.java"
+public class org.jbpm.svc.JbpmServiceException extends org.jbpm.JbpmException{
+    public org.jbpm.svc.JbpmServiceException();
+    public org.jbpm.svc.JbpmServiceException(java.lang.String, java.lang.Throwable);
+    public org.jbpm.svc.JbpmServiceException(java.lang.String);
+    public org.jbpm.svc.JbpmServiceException(java.lang.Throwable);
+}
+
+Compiled from "CascadeSaveOperation.java"
+public class org.jbpm.svc.save.CascadeSaveOperation extends java.lang.Object implements org.jbpm.svc.save.SaveOperation{
+    public org.jbpm.svc.save.CascadeSaveOperation();
+    public void save(org.jbpm.graph.exe.ProcessInstance, org.jbpm.JbpmContext);
+}
+
+Compiled from "CheckUnpersistableVariablesOperation.java"
+public class org.jbpm.svc.save.CheckUnpersistableVariablesOperation extends java.lang.Object implements org.jbpm.svc.save.SaveOperation{
+    public org.jbpm.svc.save.CheckUnpersistableVariablesOperation();
+    public void save(org.jbpm.graph.exe.ProcessInstance, org.jbpm.JbpmContext);
+}
+
+Compiled from "HibernateSaveOperation.java"
+public class org.jbpm.svc.save.HibernateSaveOperation extends java.lang.Object implements org.jbpm.svc.save.SaveOperation{
+    public org.jbpm.svc.save.HibernateSaveOperation();
+    public void save(org.jbpm.graph.exe.ProcessInstance, org.jbpm.JbpmContext);
+}
+
+Compiled from "SaveLogsOperation.java"
+public class org.jbpm.svc.save.SaveLogsOperation extends java.lang.Object implements org.jbpm.svc.save.SaveOperation{
+    public org.jbpm.svc.save.SaveLogsOperation();
+    public void save(org.jbpm.graph.exe.ProcessInstance, org.jbpm.JbpmContext);
+}
+
+Compiled from "SaveOperation.java"
+public interface org.jbpm.svc.save.SaveOperation extends java.io.Serializable{
+    public abstract void save(org.jbpm.graph.exe.ProcessInstance, org.jbpm.JbpmContext);
+}
+
+Compiled from "Service.java"
+public interface org.jbpm.svc.Service extends java.io.Serializable{
+    public abstract void close();
+}
+
+Compiled from "ServiceFactory.java"
+public interface org.jbpm.svc.ServiceFactory extends java.io.Serializable{
+    public abstract org.jbpm.svc.Service openService();
+    public abstract void close();
+}
+
+Compiled from "Services.java"
+public class org.jbpm.svc.Services extends java.lang.Object implements java.io.Serializable{
+    public static final java.lang.String SERVICENAME_AUTHENTICATION;
+    public static final java.lang.String SERVICENAME_AUTHORIZATION;
+    public static final java.lang.String SERVICENAME_TX;
+    public static final java.lang.String SERVICENAME_LOGGING;
+    public static final java.lang.String SERVICENAME_MESSAGE;
+    public static final java.lang.String SERVICENAME_PERSISTENCE;
+    public static final java.lang.String SERVICENAME_SCHEDULER;
+    public static final java.lang.String SERVICENAME_JCR;
+    public static final java.lang.String SERVICENAME_ADDRESSRESOLVER;
+    public static org.jbpm.svc.Service getCurrentService(java.lang.String);
+    public static org.jbpm.svc.Service getCurrentService(java.lang.String, boolean);
+    public org.jbpm.svc.Services(java.util.Map);
+    public org.jbpm.svc.Services(java.util.Map, java.util.List, java.util.List);
+    public void setSaveOperations(java.util.List);
+    public void addSaveOperation(org.jbpm.svc.save.SaveOperation);
+    public java.util.Map getServiceFactories();
+    public org.jbpm.svc.ServiceFactory getServiceFactory(java.lang.String);
+    public boolean hasService(java.lang.String);
+    public org.jbpm.svc.Service getService(java.lang.String);
+    public void save(org.jbpm.graph.exe.ProcessInstance, org.jbpm.JbpmContext);
+    public org.jbpm.security.AuthenticationService getAuthenticationService();
+    public org.jbpm.security.AuthorizationService getAuthorizationService();
+    public org.jbpm.logging.LoggingService getLoggingService();
+    public org.jbpm.msg.MessageService getMessageService();
+    public org.jbpm.persistence.PersistenceService getPersistenceService();
+    public org.jbpm.scheduler.SchedulerService getSchedulerService();
+    public org.jbpm.tx.TxService getTxService();
+    public void setAuthenticationService(org.jbpm.security.AuthenticationService);
+    public void setAuthorizationService(org.jbpm.security.AuthorizationService);
+    public void setLoggingService(org.jbpm.logging.LoggingService);
+    public void setMessageService(org.jbpm.msg.MessageService);
+    public void setPersistenceService(org.jbpm.persistence.PersistenceService);
+    public void setSchedulerService(org.jbpm.scheduler.SchedulerService);
+    public void setTxService(org.jbpm.tx.TxService);
+    public void close();
+    public static void assignId(java.lang.Object);
+}
+
+Compiled from "AssignmentHandler.java"
+public interface org.jbpm.taskmgmt.def.AssignmentHandler extends java.io.Serializable{
+    public abstract void assign(org.jbpm.taskmgmt.exe.Assignable, org.jbpm.graph.exe.ExecutionContext)       throws java.lang.Exception;
+}
+
+Compiled from "Swimlane.java"
+public class org.jbpm.taskmgmt.def.Swimlane extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String name;
+    protected java.lang.String actorIdExpression;
+    protected java.lang.String pooledActorsExpression;
+    protected org.jbpm.instantiation.Delegation assignmentDelegation;
+    protected org.jbpm.taskmgmt.def.TaskMgmtDefinition taskMgmtDefinition;
+    protected java.util.Set tasks;
+    public org.jbpm.taskmgmt.def.Swimlane();
+    public org.jbpm.taskmgmt.def.Swimlane(java.lang.String);
+    public void setTaskMgmtDefinition(org.jbpm.taskmgmt.def.TaskMgmtDefinition);
+    public void addTask(org.jbpm.taskmgmt.def.Task);
+    public java.util.Set getTasks();
+    public boolean equals(java.lang.Object);
+    public void setActorIdExpression(java.lang.String);
+    public void setPooledActorsExpression(java.lang.String);
+    public void setAssignmentDelegation(org.jbpm.instantiation.Delegation);
+    public org.jbpm.taskmgmt.def.TaskMgmtDefinition getTaskMgmtDefinition();
+    public java.lang.String getActorIdExpression();
+    public java.lang.String getPooledActorsExpression();
+    public org.jbpm.instantiation.Delegation getAssignmentDelegation();
+    public java.lang.String getName();
+    public long getId();
+}
+
+Compiled from "Task.java"
+public class org.jbpm.taskmgmt.def.Task extends org.jbpm.graph.def.GraphElement{
+    public static final int PRIORITY_HIGHEST;
+    public static final int PRIORITY_HIGH;
+    public static final int PRIORITY_NORMAL;
+    public static final int PRIORITY_LOW;
+    public static final int PRIORITY_LOWEST;
+    protected boolean isBlocking;
+    protected boolean isSignalling;
+    protected java.lang.String condition;
+    protected java.lang.String dueDate;
+    protected int priority;
+    protected org.jbpm.graph.node.TaskNode taskNode;
+    protected org.jbpm.graph.node.StartState startState;
+    protected org.jbpm.taskmgmt.def.TaskMgmtDefinition taskMgmtDefinition;
+    protected org.jbpm.taskmgmt.def.Swimlane swimlane;
+    protected java.lang.String actorIdExpression;
+    protected java.lang.String pooledActorsExpression;
+    protected org.jbpm.instantiation.Delegation assignmentDelegation;
+    protected org.jbpm.taskmgmt.def.TaskController taskController;
+    public static int parsePriority(java.lang.String);
+    public org.jbpm.taskmgmt.def.Task();
+    public org.jbpm.taskmgmt.def.Task(java.lang.String);
+    public java.lang.String[] getSupportedEventTypes();
+    public void setTaskNode(org.jbpm.graph.node.TaskNode);
+    public void setTaskMgmtDefinition(org.jbpm.taskmgmt.def.TaskMgmtDefinition);
+    public void setAssignmentDelegation(org.jbpm.instantiation.Delegation);
+    public void setActorIdExpression(java.lang.String);
+    public void setPooledActorsExpression(java.lang.String);
+    public void setSwimlane(org.jbpm.taskmgmt.def.Swimlane);
+    public org.jbpm.graph.def.GraphElement getParent();
+    public org.jbpm.taskmgmt.def.TaskMgmtDefinition getTaskMgmtDefinition();
+    public org.jbpm.taskmgmt.def.Swimlane getSwimlane();
+    public boolean isBlocking();
+    public void setBlocking(boolean);
+    public org.jbpm.graph.node.TaskNode getTaskNode();
+    public java.lang.String getActorIdExpression();
+    public java.lang.String getPooledActorsExpression();
+    public org.jbpm.instantiation.Delegation getAssignmentDelegation();
+    public java.lang.String getDueDate();
+    public void setDueDate(java.lang.String);
+    public org.jbpm.taskmgmt.def.TaskController getTaskController();
+    public void setTaskController(org.jbpm.taskmgmt.def.TaskController);
+    public int getPriority();
+    public void setPriority(int);
+    public org.jbpm.graph.node.StartState getStartState();
+    public void setStartState(org.jbpm.graph.node.StartState);
+    public boolean isSignalling();
+    public void setSignalling(boolean);
+    public java.lang.String getCondition();
+    public void setCondition(java.lang.String);
+}
+
+Compiled from "TaskController.java"
+public class org.jbpm.taskmgmt.def.TaskController extends java.lang.Object implements java.io.Serializable{
+    public org.jbpm.taskmgmt.def.TaskController();
+    public void initializeVariables(org.jbpm.taskmgmt.exe.TaskInstance);
+    public void submitParameters(org.jbpm.taskmgmt.exe.TaskInstance);
+    public boolean equals(java.lang.Object);
+    public java.util.List getVariableAccesses();
+    public org.jbpm.instantiation.Delegation getTaskControllerDelegation();
+    public void setTaskControllerDelegation(org.jbpm.instantiation.Delegation);
+    public long getId();
+    public void setVariableAccesses(java.util.List);
+}
+
+Compiled from "TaskControllerHandler.java"
+public interface org.jbpm.taskmgmt.def.TaskControllerHandler extends java.io.Serializable{
+    public abstract void initializeTaskVariables(org.jbpm.taskmgmt.exe.TaskInstance, org.jbpm.context.exe.ContextInstance, org.jbpm.graph.exe.Token);
+    public abstract void submitTaskVariables(org.jbpm.taskmgmt.exe.TaskInstance, org.jbpm.context.exe.ContextInstance, org.jbpm.graph.exe.Token);
+}
+
+Compiled from "TaskMgmtDefinition.java"
+public class org.jbpm.taskmgmt.def.TaskMgmtDefinition extends org.jbpm.module.def.ModuleDefinition{
+    protected java.util.Map swimlanes;
+    protected java.util.Map tasks;
+    protected org.jbpm.taskmgmt.def.Task startTask;
+    public org.jbpm.taskmgmt.def.TaskMgmtDefinition();
+    public org.jbpm.module.exe.ModuleInstance createInstance();
+    public void addSwimlane(org.jbpm.taskmgmt.def.Swimlane);
+    public java.util.Map getSwimlanes();
+    public org.jbpm.taskmgmt.def.Swimlane getSwimlane(java.lang.String);
+    public void addTask(org.jbpm.taskmgmt.def.Task);
+    public java.util.Map getTasks();
+    public org.jbpm.taskmgmt.def.Task getTask(java.lang.String);
+    public org.jbpm.taskmgmt.def.Task getStartTask();
+    public void setStartTask(org.jbpm.taskmgmt.def.Task);
+}
+
+Compiled from "Assignable.java"
+public interface org.jbpm.taskmgmt.exe.Assignable extends java.io.Serializable{
+    public abstract void setActorId(java.lang.String);
+    public abstract void setPooledActors(java.lang.String[]);
+}
+
+Compiled from "PooledActor.java"
+public class org.jbpm.taskmgmt.exe.PooledActor extends java.lang.Object implements java.io.Serializable{
+    protected java.lang.String actorId;
+    protected java.util.Set taskInstances;
+    protected org.jbpm.taskmgmt.exe.SwimlaneInstance swimlaneInstance;
+    public static java.util.Set createPool(java.lang.String[], org.jbpm.taskmgmt.exe.SwimlaneInstance, org.jbpm.taskmgmt.exe.TaskInstance);
+    public static java.util.Set extractActorIds(java.util.Set);
+    public org.jbpm.taskmgmt.exe.PooledActor();
+    public org.jbpm.taskmgmt.exe.PooledActor(java.lang.String);
+    public void addTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public java.util.Set getTaskInstances();
+    public void removeTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public boolean equals(java.lang.Object);
+    public java.lang.String toString();
+    public java.lang.String getActorId();
+    public void setActorId(java.lang.String);
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance getSwimlaneInstance();
+    public void setSwimlaneInstance(org.jbpm.taskmgmt.exe.SwimlaneInstance);
+    public long getId();
+}
+
+Compiled from "SwimlaneInstance.java"
+public class org.jbpm.taskmgmt.exe.SwimlaneInstance extends java.lang.Object implements java.io.Serializable,org.jbpm.taskmgmt.exe.Assignable{
+    protected java.lang.String name;
+    protected java.lang.String actorId;
+    protected java.util.Set pooledActors;
+    protected org.jbpm.taskmgmt.def.Swimlane swimlane;
+    protected org.jbpm.taskmgmt.exe.TaskMgmtInstance taskMgmtInstance;
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance();
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance(org.jbpm.taskmgmt.def.Swimlane);
+    public void setPooledActors(java.lang.String[]);
+    public boolean equals(java.lang.Object);
+    public long getId();
+    public java.lang.String getName();
+    public org.jbpm.taskmgmt.def.Swimlane getSwimlane();
+    public java.lang.String getActorId();
+    public void setActorId(java.lang.String);
+    public org.jbpm.taskmgmt.exe.TaskMgmtInstance getTaskMgmtInstance();
+    public void setTaskMgmtInstance(org.jbpm.taskmgmt.exe.TaskMgmtInstance);
+    public java.util.Set getPooledActors();
+    public void setPooledActors(java.util.Set);
+}
+
+Compiled from "TaskInstance.java"
+public class org.jbpm.taskmgmt.exe.TaskInstance extends org.jbpm.context.exe.VariableContainer implements org.jbpm.graph.def.Identifiable,org.jbpm.taskmgmt.exe.Assignable{
+    protected java.lang.String name;
+    protected java.lang.String description;
+    protected java.lang.String actorId;
+    protected java.util.Date create;
+    protected java.util.Date start;
+    protected java.util.Date end;
+    protected java.util.Date dueDate;
+    protected int priority;
+    protected boolean isCancelled;
+    protected boolean isSuspended;
+    protected boolean isOpen;
+    protected boolean isSignalling;
+    protected boolean isBlocking;
+    protected org.jbpm.taskmgmt.def.Task task;
+    protected org.jbpm.graph.exe.Token token;
+    protected org.jbpm.taskmgmt.exe.SwimlaneInstance swimlaneInstance;
+    protected org.jbpm.taskmgmt.exe.TaskMgmtInstance taskMgmtInstance;
+    protected org.jbpm.graph.exe.ProcessInstance processInstance;
+    protected java.util.Set pooledActors;
+    protected java.util.List comments;
+    protected java.lang.String previousActorId;
+    public org.jbpm.taskmgmt.exe.TaskInstance();
+    public org.jbpm.taskmgmt.exe.TaskInstance(java.lang.String);
+    public org.jbpm.taskmgmt.exe.TaskInstance(java.lang.String, java.lang.String);
+    public void setTask(org.jbpm.taskmgmt.def.Task);
+    public void create();
+    public void create(org.jbpm.graph.exe.ExecutionContext);
+    public void assign(org.jbpm.graph.exe.ExecutionContext);
+    public boolean isStartTaskInstance();
+    public void copySwimlaneInstanceAssignment(org.jbpm.taskmgmt.exe.SwimlaneInstance);
+    public java.util.Set getPooledActors();
+    public void setActorId(java.lang.String);
+    public void setActorId(java.lang.String, boolean);
+    public void setPooledActors(java.lang.String[]);
+    public void start();
+    public void start(java.lang.String);
+    public void start(java.lang.String, boolean);
+    public void setStart(java.util.Date);
+    public void cancel();
+    public void cancel(org.jbpm.graph.def.Transition);
+    public void cancel(java.lang.String);
+    public void end();
+    public void end(java.lang.String);
+    public void end(org.jbpm.graph.def.Transition);
+    public boolean hasEnded();
+    public void suspend();
+    public void resume();
+    public void addComment(java.lang.String);
+    public void addComment(org.jbpm.graph.exe.Comment);
+    public java.util.List getComments();
+    public boolean isLast();
+    public java.util.List getAvailableTransitions();
+    public boolean equals(java.lang.Object);
+    public java.lang.String toString();
+    public void setPooledActors(java.util.Set);
+    protected org.jbpm.context.exe.VariableContainer getParentVariableContainer();
+    public java.lang.String getActorId();
+    public java.util.Date getDueDate();
+    public void setDueDate(java.util.Date);
+    public java.util.Date getEnd();
+    public void setEnd(java.util.Date);
+    public void setCreate(java.util.Date);
+    public long getId();
+    public void setId(long);
+    public java.util.Date getStart();
+    public org.jbpm.taskmgmt.exe.TaskMgmtInstance getTaskMgmtInstance();
+    public void setTaskMgmtInstance(org.jbpm.taskmgmt.exe.TaskMgmtInstance);
+    public org.jbpm.graph.exe.Token getToken();
+    public void setToken(org.jbpm.graph.exe.Token);
+    public void setSignalling(boolean);
+    public boolean isSignalling();
+    public boolean isCancelled();
+    public java.lang.String getName();
+    public void setName(java.lang.String);
+    public boolean isBlocking();
+    public void setBlocking(boolean);
+    public java.util.Date getCreate();
+    public org.jbpm.taskmgmt.def.Task getTask();
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance getSwimlaneInstance();
+    public void setSwimlaneInstance(org.jbpm.taskmgmt.exe.SwimlaneInstance);
+    public java.lang.String getPreviousActorId();
+    public int getPriority();
+    public void setPriority(int);
+    public boolean isOpen();
+    public java.lang.String getDescription();
+    public void setDescription(java.lang.String);
+    public boolean isSuspended();
+    public org.jbpm.graph.exe.ProcessInstance getProcessInstance();
+    public void setProcessInstance(org.jbpm.graph.exe.ProcessInstance);
+}
+
+Compiled from "TaskMgmtInstance.java"
+public class org.jbpm.taskmgmt.exe.TaskMgmtInstance extends org.jbpm.module.exe.ModuleInstance{
+    public org.jbpm.taskmgmt.exe.TaskMgmtInstance();
+    public org.jbpm.taskmgmt.exe.TaskMgmtInstance(org.jbpm.taskmgmt.def.TaskMgmtDefinition);
+    public org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance();
+    public org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance(org.jbpm.taskmgmt.def.Task);
+    public org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance(org.jbpm.graph.exe.Token);
+    public org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance(org.jbpm.taskmgmt.def.Task, org.jbpm.graph.exe.Token);
+    public org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance(org.jbpm.taskmgmt.def.Task, org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance getInitializedSwimlaneInstance(org.jbpm.graph.exe.ExecutionContext, org.jbpm.taskmgmt.def.Swimlane);
+    public void performAssignment(org.jbpm.instantiation.Delegation, java.lang.String, java.lang.String, org.jbpm.taskmgmt.exe.Assignable, org.jbpm.graph.exe.ExecutionContext);
+    public org.jbpm.taskmgmt.exe.TaskInstance createStartTaskInstance();
+    public boolean hasBlockingTaskInstances(org.jbpm.graph.exe.Token);
+    public boolean hasUnfinishedTasks(org.jbpm.graph.exe.Token);
+    public java.util.Collection getUnfinishedTasks(org.jbpm.graph.exe.Token);
+    public boolean hasSignallingTasks(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.Collection getSignallingTasks(org.jbpm.graph.exe.ExecutionContext);
+    public java.util.Collection getTaskInstances();
+    public void addTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public void removeTaskInstance(org.jbpm.taskmgmt.exe.TaskInstance);
+    public java.util.Map getSwimlaneInstances();
+    public void addSwimlaneInstance(org.jbpm.taskmgmt.exe.SwimlaneInstance);
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance getSwimlaneInstance(java.lang.String);
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance createSwimlaneInstance(java.lang.String);
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance createSwimlaneInstance(org.jbpm.taskmgmt.def.Swimlane);
+    public org.jbpm.taskmgmt.def.TaskMgmtDefinition getTaskMgmtDefinition();
+    public void suspend(org.jbpm.graph.exe.Token);
+    public void resume(org.jbpm.graph.exe.Token);
+    public java.util.Collection getTaskInstancesWithVariableUpdates();
+    public void endAll();
+    public void removeSignalling(org.jbpm.graph.exe.Token);
+}
+
+Compiled from "DefaultTaskInstanceFactoryImpl.java"
+public class org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl extends java.lang.Object implements org.jbpm.taskmgmt.TaskInstanceFactory{
+    public org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl();
+    public org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance(org.jbpm.graph.exe.ExecutionContext);
+}
+
+Compiled from "SwimlaneAssignLog.java"
+public class org.jbpm.taskmgmt.log.SwimlaneAssignLog extends org.jbpm.taskmgmt.log.SwimlaneLog{
+    protected java.lang.String swimlaneOldActorId;
+    protected java.lang.String swimlaneNewActorId;
+    public org.jbpm.taskmgmt.log.SwimlaneAssignLog();
+    public org.jbpm.taskmgmt.log.SwimlaneAssignLog(org.jbpm.taskmgmt.exe.SwimlaneInstance, java.lang.String, java.lang.String);
+    public java.lang.String toString();
+    public java.lang.String getSwimlaneNewActorId();
+    public java.lang.String getSwimlaneOldActorId();
+}
+
+Compiled from "SwimlaneCreateLog.java"
+public class org.jbpm.taskmgmt.log.SwimlaneCreateLog extends org.jbpm.taskmgmt.log.SwimlaneLog{
+    protected java.lang.String swimlaneActorId;
+    public org.jbpm.taskmgmt.log.SwimlaneCreateLog();
+    public org.jbpm.taskmgmt.log.SwimlaneCreateLog(org.jbpm.taskmgmt.exe.SwimlaneInstance, java.lang.String);
+    public java.lang.String toString();
+    public java.lang.String getSwimlaneActorId();
+}
+
+Compiled from "SwimlaneLog.java"
+public abstract class org.jbpm.taskmgmt.log.SwimlaneLog extends org.jbpm.logging.log.ProcessLog{
+    protected org.jbpm.taskmgmt.exe.SwimlaneInstance swimlaneInstance;
+    public org.jbpm.taskmgmt.log.SwimlaneLog();
+    public org.jbpm.taskmgmt.log.SwimlaneLog(org.jbpm.taskmgmt.exe.SwimlaneInstance);
+    public org.jbpm.taskmgmt.exe.SwimlaneInstance getSwimlaneInstance();
+}
+
+Compiled from "TaskAssignLog.java"
+public class org.jbpm.taskmgmt.log.TaskAssignLog extends org.jbpm.taskmgmt.log.TaskLog{
+    protected java.lang.String taskOldActorId;
+    protected java.lang.String taskNewActorId;
+    public org.jbpm.taskmgmt.log.TaskAssignLog();
+    public org.jbpm.taskmgmt.log.TaskAssignLog(org.jbpm.taskmgmt.exe.TaskInstance, java.lang.String, java.lang.String);
+    public java.lang.String toString();
+    public java.lang.String getTaskNewActorId();
+    public java.lang.String getTaskOldActorId();
+}
+
+Compiled from "TaskCreateLog.java"
+public class org.jbpm.taskmgmt.log.TaskCreateLog extends org.jbpm.taskmgmt.log.TaskLog{
+    protected java.lang.String taskActorId;
+    public org.jbpm.taskmgmt.log.TaskCreateLog();
+    public org.jbpm.taskmgmt.log.TaskCreateLog(org.jbpm.taskmgmt.exe.TaskInstance, java.lang.String);
+    public java.lang.String toString();
+    public java.lang.String getTaskActorId();
+}
+
+Compiled from "TaskEndLog.java"
+public class org.jbpm.taskmgmt.log.TaskEndLog extends org.jbpm.taskmgmt.log.TaskLog{
+    public org.jbpm.taskmgmt.log.TaskEndLog();
+    public org.jbpm.taskmgmt.log.TaskEndLog(org.jbpm.taskmgmt.exe.TaskInstance);
+    public java.lang.String toString();
+}
+
+Compiled from "TaskLog.java"
+public abstract class org.jbpm.taskmgmt.log.TaskLog extends org.jbpm.logging.log.ProcessLog{
+    protected org.jbpm.taskmgmt.exe.TaskInstance taskInstance;
+    public org.jbpm.taskmgmt.log.TaskLog();
+    public org.jbpm.taskmgmt.log.TaskLog(org.jbpm.taskmgmt.exe.TaskInstance);
+    public org.jbpm.taskmgmt.exe.TaskInstance getTaskInstance();
+}
+
+Compiled from "TaskInstanceFactory.java"
+public interface org.jbpm.taskmgmt.TaskInstanceFactory extends java.io.Serializable{
+    public abstract org.jbpm.taskmgmt.exe.TaskInstance createTaskInstance(org.jbpm.graph.exe.ExecutionContext);
+}
+
+Compiled from "TxService.java"
+public class org.jbpm.tx.TxService extends java.lang.Object implements org.jbpm.svc.Service{
+    public org.jbpm.tx.TxService();
+    public void close();
+    public boolean isRollbackOnly();
+    public void setRollbackOnly();
+}
+
+Compiled from "TxServiceFactory.java"
+public class org.jbpm.tx.TxServiceFactory extends java.lang.Object implements org.jbpm.svc.ServiceFactory{
+    public org.jbpm.tx.TxServiceFactory();
+    public org.jbpm.svc.Service openService();
+    public void close();
+}
+
+Compiled from "ByteUtil.java"
+public class org.jbpm.util.ByteUtil extends java.lang.Object{
+    public static java.lang.String toString(byte[]);
+    public static char toHexChar(int);
+    public static byte[] fromString(java.lang.String);
+}
+
+Compiled from "ClassLoaderUtil.java"
+public class org.jbpm.util.ClassLoaderUtil extends java.lang.Object{
+    public static java.lang.Class loadClass(java.lang.String);
+    public static java.lang.Class classForName(java.lang.String);
+    public static java.lang.ClassLoader getClassLoader();
+    public static java.io.InputStream getStream(java.lang.String);
+    public static java.io.InputStream getJbpmConfigurationStream(java.lang.String);
+    public static java.util.Properties getProperties(java.lang.String);
+}
+
+Compiled from "Clock.java"
+public abstract class org.jbpm.util.Clock extends java.lang.Object{
+    public static org.jbpm.util.Clock$DateGenerator dateGenerator;
+    public org.jbpm.util.Clock();
+    public static java.util.Date getCurrentTime();
+}
+
+Compiled from "Clock.java"
+public interface org.jbpm.util.Clock$DateGenerator{
+    public abstract java.util.Date getCurrentTime();
+}
+
+Compiled from "Clock.java"
+public class org.jbpm.util.Clock$DefaultDateGenerator extends java.lang.Object implements org.jbpm.util.Clock$DateGenerator{
+    public org.jbpm.util.Clock$DefaultDateGenerator();
+    public java.util.Date getCurrentTime();
+}
+
+Compiled from "CollectionUtil.java"
+public class org.jbpm.util.CollectionUtil extends java.lang.Object{
+    public static java.util.Collection checkCollection(java.util.Collection, java.lang.Class);
+    public static java.util.List checkList(java.util.List, java.lang.Class);
+    public static java.util.Set checkSet(java.util.Set, java.lang.Class);
+    public static java.util.Map checkMap(java.util.Map, java.lang.Class, java.lang.Class);
+}
+
+Compiled from "CustomLoaderObjectInputStream.java"
+public class org.jbpm.util.CustomLoaderObjectInputStream extends java.io.ObjectInputStream{
+    protected org.jbpm.util.CustomLoaderObjectInputStream()       throws java.io.IOException;
+    public org.jbpm.util.CustomLoaderObjectInputStream(java.io.InputStream)       throws java.io.IOException;
+    public org.jbpm.util.CustomLoaderObjectInputStream(java.io.InputStream, java.lang.ClassLoader)       throws java.io.IOException;
+    public java.lang.ClassLoader getCustomLoader();
+    protected java.lang.Class resolveClass(java.io.ObjectStreamClass)       throws java.io.IOException, java.lang.ClassNotFoundException;
+    protected java.lang.Class resolveProxyClass(java.lang.String[])       throws java.io.IOException, java.lang.ClassNotFoundException;
+}
+
+Compiled from "EqualsUtil.java"
+public class org.jbpm.util.EqualsUtil extends java.lang.Object{
+    public static boolean equals(java.lang.Object, java.lang.Object);
+}
+
+Compiled from "IoUtil.java"
+public class org.jbpm.util.IoUtil extends java.lang.Object{
+    public static byte[] readBytes(java.io.InputStream)       throws java.io.IOException;
+    public static int transfer(java.io.InputStream, java.io.OutputStream)       throws java.io.IOException;
+}
+
+Compiled from "JndiLookupException.java"
+public class org.jbpm.util.JndiLookupException extends org.jbpm.JbpmException{
+    public org.jbpm.util.JndiLookupException(java.lang.String, java.lang.Throwable);
+}
+
+Compiled from "JndiUtil.java"
+public class org.jbpm.util.JndiUtil extends java.lang.Object{
+    public static java.lang.Object lookup(java.lang.String, java.lang.Class);
+}
+
+Compiled from "StringUtil.java"
+public class org.jbpm.util.StringUtil extends java.lang.Object implements java.io.Serializable{
+    public static java.lang.String toHexString(byte[]);
+    public static java.lang.String toHexStringHibernate(byte[]);
+}
+
+Compiled from "XmlException.java"
+public class org.jbpm.util.XmlException extends org.jbpm.JbpmException{
+    public org.jbpm.util.XmlException(java.lang.String, java.lang.Throwable);
+}
+
+Compiled from "XmlUtil.java"
+public class org.jbpm.util.XmlUtil extends java.lang.Object{
+    public static org.w3c.dom.Document parseXmlText(java.lang.String);
+    public static org.w3c.dom.Document parseXmlResource(java.lang.String, boolean);
+    public static org.w3c.dom.Document parseXmlInputStream(java.io.InputStream);
+    public static org.w3c.dom.Document parseXmlInputSource(org.xml.sax.InputSource);
+    public static javax.xml.parsers.DocumentBuilder getDocumentBuilder();
+    public static java.util.Iterator elementIterator(org.w3c.dom.Element, java.lang.String);
+    public static java.util.List elements(org.w3c.dom.Element, java.lang.String);
+    public static org.w3c.dom.Element element(org.w3c.dom.Element, java.lang.String);
+    public static java.util.Iterator elementIterator(org.w3c.dom.Element);
+    public static java.util.List elements(org.w3c.dom.Element);
+    public static org.w3c.dom.Element element(org.w3c.dom.Element);
+    public static java.lang.String toString(org.w3c.dom.Element);
+    public static java.lang.String getContentText(org.w3c.dom.Element);
+}
+
+Compiled from "CloseJbpmConfigurationServlet.java"
+public class org.jbpm.web.CloseJbpmConfigurationServlet extends javax.servlet.http.HttpServlet{
+    public org.jbpm.web.CloseJbpmConfigurationServlet();
+    public void init()       throws javax.servlet.ServletException;
+    public void destroy();
+}
+
+Compiled from "JbpmConfigurationCloser.java"
+public class org.jbpm.web.JbpmConfigurationCloser extends java.lang.Object implements javax.servlet.ServletContextListener{
+    public org.jbpm.web.JbpmConfigurationCloser();
+    public void contextInitialized(javax.servlet.ServletContextEvent);
+    public void contextDestroyed(javax.servlet.ServletContextEvent);
+}
+
+Compiled from "JbpmContextFilter.java"
+public class org.jbpm.web.JbpmContextFilter extends java.lang.Object implements javax.servlet.Filter,java.io.Serializable{
+    public org.jbpm.web.JbpmContextFilter();
+    public void init(javax.servlet.FilterConfig)       throws javax.servlet.ServletException;
+    public void doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)       throws java.io.IOException, javax.servlet.ServletException;
+    protected org.jbpm.JbpmConfiguration getJbpmConfiguration();
+    public void destroy();
+}
+
+Compiled from "JobExecutorLauncher.java"
+public class org.jbpm.web.JobExecutorLauncher extends java.lang.Object implements javax.servlet.ServletContextListener{
+    public org.jbpm.web.JobExecutorLauncher();
+    public void contextInitialized(javax.servlet.ServletContextEvent);
+    public void contextDestroyed(javax.servlet.ServletContextEvent);
+}
+

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmConfiguration.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmConfiguration.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmConfiguration.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -26,8 +26,8 @@
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
-import java.util.List;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JobSession.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JobSession.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JobSession.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -111,23 +111,6 @@
     }
   }
   
-  /**
-   * get all failed jobs. Failed job have a retry count
-   * of 0 and the occured exception set.
-   */
-  public List<Job> findFailedJobs() {
-    try {
-      List<?> jobs = session.createCriteria(Job.class)
-        .add(Restrictions.eq("retries", 0))
-        .add(Restrictions.isNotNull("exception"))
-        .list();
-      return CollectionUtil.checkList(jobs, Job.class);      
-    }
-    catch (HibernateException e) {
-      throw new JbpmException("couldn't find failed jobs", e);
-    }
-  }
-
   public void saveJob(Job job) {
     try {
       session.save(job);
@@ -234,20 +217,21 @@
     }
   }
 
+  public int countDeletableJobsForProcessInstance(ProcessInstance processInstance) {
+    Number jobCount = (Number) session.getNamedQuery("JobSession.countDeletableJobsForProcessInstance")
+        .setParameter("processInstance", processInstance)
+        .uniqueResult();
+    return jobCount.intValue();
+  }
+
   public void deleteJobsForProcessInstance(ProcessInstance processInstance) {
     try {
-      // delete node execution jobs
-      int entityCount = session.getNamedQuery("JobSession.deleteExecuteNodeJobsForProcessInstance")
+      // delete unowned node-execute-jobs and timers
+      int entityCount = session.getNamedQuery("JobSession.deleteJobsForProcessInstance")
           .setParameter("processInstance", processInstance)
           .executeUpdate();
-      log.debug("deleted " + entityCount + " execute-node-jobs for " + processInstance);
+      log.debug("deleted " + entityCount + " jobs for " + processInstance);
 
-      // delete unowned timers
-      entityCount = session.getNamedQuery("JobSession.deleteTimersForProcessInstance")
-          .setParameter("processInstance", processInstance)
-          .executeUpdate();
-      log.debug("deleted " + entityCount + " timers for " + processInstance);
-
       // prevent further repetitions
       List<?> timers = session.getNamedQuery("JobSession.findRepeatingTimersForProcessInstance")
           .setParameter("processInstance", processInstance)
@@ -280,5 +264,19 @@
     }
   }
 
+  /**
+   * get all failed jobs. Failed job have a retry count
+   * of 0 and the occured exception set.
+   */
+  public List<Job> findFailedJobs() {
+    try {
+      List<?> jobs = session.getNamedQuery("JobSession.findFailedJobs").list();
+      return CollectionUtil.checkList(jobs, Job.class);
+    }
+    catch (HibernateException e) {
+      throw new JbpmException("could not find failed jobs", e);
+    }
+  }
+
   private static Log log = LogFactory.getLog(JobSession.class);
 }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -34,10 +34,11 @@
 import org.apache.commons.logging.LogFactory;
 
 import org.jbpm.JbpmContext;
+import org.jbpm.JbpmException;
 
 public class EventCallback implements Serializable {
 
-  public static final int DEFAULT_TIMEOUT = 60 * 1000;
+  public static final int DEFAULT_TIMEOUT = 5 * 60 * 1000;
 
   private static final long serialVersionUID = 1L;
   private static final Log log = LogFactory.getLog(EventCallback.class);
@@ -142,23 +143,30 @@
   }
 
   public static void waitForEvent(String event) {
-    waitForEvent(event, DEFAULT_TIMEOUT);
+    waitForEvent(1, event, DEFAULT_TIMEOUT);
   }
 
   public static void waitForEvent(String event, long timeout) {
+    waitForEvent(1, event, timeout);
+  }
+
+  public static void waitForEvent(int occurrences, String event) {
+    waitForEvent(occurrences, event, DEFAULT_TIMEOUT);
+  }
+
+  public static void waitForEvent(int occurrences, String event, long timeout) {
     log.debug("waiting for " + event);
     Semaphore eventSemaphore = getEventSemaphore(event);
     try {
-      if (eventSemaphore.tryAcquire(timeout, TimeUnit.MILLISECONDS)) {
+      if (eventSemaphore.tryAcquire(occurrences, timeout, TimeUnit.MILLISECONDS)) {
         log.debug("received '" + event + "' notification");
       }
       else {
-        log.warn("event '" + event + "' did not occur within " + timeout + " ms");
+        throw new JbpmException("event '" + event + "' did not occur within " + timeout + " ms");
       }
     }
     catch (InterruptedException e) {
-      // reassert interruption
-      Thread.currentThread().interrupt();
+      throw new JbpmException("wait for event '" + event + "' was interrupted", e);
     }
   }
 
@@ -184,4 +192,4 @@
       eventSemaphores.clear();
     }
   }
-}
\ No newline at end of file
+}

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ExecutionContext.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ExecutionContext.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ExecutionContext.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -21,7 +21,8 @@
  */
 package org.jbpm.graph.exe;
 
-import java.util.Stack;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.jbpm.JbpmContext;
 import org.jbpm.JbpmException;
@@ -286,27 +287,29 @@
 
   // thread local execution context
 
-  static ThreadLocal<Stack<ExecutionContext>> threadLocalContextStack = new ThreadLocal<Stack<ExecutionContext>>();
-
-  static Stack<ExecutionContext> getContextStack()
+  static final ThreadLocal<List<ExecutionContext>> threadLocalContextStack = new ThreadLocal<List<ExecutionContext>>()
   {
-    Stack<ExecutionContext> stack = threadLocalContextStack.get();
-    if (stack == null)
+    @Override
+    protected List<ExecutionContext> initialValue()
     {
-      stack = new Stack<ExecutionContext>();
-      threadLocalContextStack.set(stack);
+      return new ArrayList<ExecutionContext>();
     }
-    return stack;
+  };
+
+  static List<ExecutionContext> getContextStack()
+  {
+    return threadLocalContextStack.get();
   }
 
   public static void pushCurrentContext(ExecutionContext executionContext)
   {
-    getContextStack().push(executionContext);
+    getContextStack().add(executionContext);
   }
 
   public static void popCurrentContext(ExecutionContext executionContext)
   {
-    if (getContextStack().pop() != executionContext)
+    List<ExecutionContext> contextStack = getContextStack();
+    if (contextStack.remove(contextStack.size() - 1) != executionContext)
     {
       throw new JbpmException("current execution context mismatch.  make sure that every pushed context gets popped");
     }
@@ -315,10 +318,10 @@
   public static ExecutionContext currentExecutionContext()
   {
     ExecutionContext executionContext = null;
-    Stack<ExecutionContext> stack = getContextStack();
+    List<ExecutionContext> stack = getContextStack();
     if (!stack.isEmpty())
     {
-      executionContext = stack.peek();
+      executionContext = stack.get(stack.size() - 1);
     }
     return executionContext;
   }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -29,8 +29,10 @@
 import java.util.List;
 import java.util.Map;
 
+import org.jbpm.JbpmContext;
 import org.jbpm.JbpmException;
 import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.db.JobSession;
 import org.jbpm.graph.def.Event;
 import org.jbpm.graph.def.Identifiable;
 import org.jbpm.graph.def.Node;
@@ -44,6 +46,7 @@
 import org.jbpm.module.def.ModuleDefinition;
 import org.jbpm.module.exe.ModuleInstance;
 import org.jbpm.msg.MessageService;
+import org.jbpm.persistence.PersistenceService;
 import org.jbpm.svc.Services;
 import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
 import org.jbpm.util.Clock;
@@ -359,15 +362,22 @@
         superProcessToken.signal(superExecutionContext);
       }
 
-      // make sure all the timers for this process instance are canceled after the process end updates are posted to the
-      // database
-      // NOTE Only timers should be deleted, messages should be kept.
-      MessageService messageService = (MessageService)Services.getCurrentService(Services.SERVICENAME_MESSAGE, false);
-      if (messageService != null)
+      // make sure jobs for this process instance are canceled 
+      // after the process end updates are posted to the database
+      JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
+      if (jbpmContext != null)
       {
-        CleanUpProcessJob job = new CleanUpProcessJob(this);
-        job.setDueDate(new Date());
-        messageService.send(job);
+        Services services = jbpmContext.getServices();
+        MessageService messageService = services.getMessageService();
+        PersistenceService persistenceService = services.getPersistenceService();
+        if (messageService != null
+            && persistenceService != null
+            && persistenceService.getJobSession().countDeletableJobsForProcessInstance(this) > 0)
+        {
+          CleanUpProcessJob job = new CleanUpProcessJob(rootToken);
+          job.setDueDate(new Date());
+          messageService.send(job);
+        }
       }
     }
   }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/CleanUpProcessJob.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/CleanUpProcessJob.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/CleanUpProcessJob.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -22,7 +22,7 @@
 package org.jbpm.job;
 
 import org.jbpm.JbpmContext;
-import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.graph.exe.Token;
 import org.jbpm.scheduler.SchedulerService;
 
 /**
@@ -36,8 +36,8 @@
     // default constructor
   }
 
-  public CleanUpProcessJob(ProcessInstance processInstance) {
-    this.processInstance = processInstance;
+  public CleanUpProcessJob(Token token) {
+    super(token);
   }
 
   public boolean execute(JbpmContext jbpmContext) throws Exception {

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteActionJob.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteActionJob.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteActionJob.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -13,25 +13,32 @@
   private static final long serialVersionUID = 1L;
 
   Action action;
-  
+
   public ExecuteActionJob() {
   }
-  
+
   public ExecuteActionJob(Token token) {
     super(token);
   }
-  
+
   public boolean execute(JbpmContext jbpmContext) throws Exception {
-    log.debug("job["+id+"] executes "+action);
-    
+    log.debug("job[" + id + "] executes " + action);
+
+    // register process instance for automatic save
+    // see https://jira.jboss.org/jira/browse/JBPM-1015
+    jbpmContext.addAutoSaveProcessInstance(processInstance);
+
+    // prepare execution context
     ExecutionContext executionContext = new ExecutionContext(token);
     executionContext.setAction(action);
     executionContext.setEvent(action.getEvent());
-    
-    Node node = (token!=null ? token.getNode() : null);
-    if (node!=null) {
+
+    // then execute the action
+    Node node = token != null ? token.getNode() : null;
+    if (node != null) {
       node.executeAction(action, executionContext);
-    } else {
+    }
+    else {
       action.execute(executionContext);
     }
 
@@ -41,9 +48,10 @@
   public Action getAction() {
     return action;
   }
+
   public void setAction(Action action) {
     this.action = action;
   }
-  
+
   private static Log log = LogFactory.getLog(ExecuteActionJob.class);
 }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteNodeJob.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteNodeJob.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/ExecuteNodeJob.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -10,7 +10,7 @@
 public class ExecuteNodeJob extends Job {
 
   private static final long serialVersionUID = 1L;
-  
+
   Node node;
 
   public ExecuteNodeJob() {
@@ -19,20 +19,28 @@
   public ExecuteNodeJob(Token token) {
     super(token);
   }
-  
-  public boolean execute(JbpmContext jbpmContext) throws Exception {	  
-    log.debug("job["+id+"] executes "+node);
 
+  public boolean execute(JbpmContext jbpmContext) throws Exception {
+    log.debug("job[" + id + "] executes " + node);
+
+    // register process instance for automatic save
+    // see https://jira.jboss.org/jira/browse/JBPM-1015
+    jbpmContext.addAutoSaveProcessInstance(processInstance);
+
+    // unlock token in case it leaves the node
     token.unlock(this.toString());
+    // prepare execution context
     ExecutionContext executionContext = new ExecutionContext(token);
+    // then execute the node
     node.execute(executionContext);
 
     return true;
   }
-  
+
   public Node getNode() {
     return node;
   }
+
   public void setNode(Node node) {
     this.node = node;
   }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/Timer.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/Timer.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/Timer.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -20,13 +20,13 @@
 
   private final static String dateFormat = "yyyy-MM-dd HH:mm:ss,SSS";
   static BusinessCalendar businessCalendar = new BusinessCalendar();
-  
+
   String name;
   String repeat;
   String transitionName = null;
   Action action = null;
   GraphElement graphElement = null;
-  
+
   public Timer() {
   }
 
@@ -35,57 +35,62 @@
   }
 
   public boolean execute(JbpmContext jbpmContext) throws Exception {
+    // register process instance for automatic save
+    // see https://jira.jboss.org/jira/browse/JBPM-1015
+    jbpmContext.addAutoSaveProcessInstance(processInstance);
+
+    // prepare execution context
     ExecutionContext executionContext = new ExecutionContext(token);
     executionContext.setTimer(this);
+    if (taskInstance != null) executionContext.setTaskInstance(taskInstance);
 
-    if (taskInstance!=null) {
-      executionContext.setTaskInstance(taskInstance);
-    }
-
     // first fire the event if there is a graph element specified
-    if (graphElement!=null) {
+    if (graphElement != null) {
       graphElement.fireAndPropagateEvent(Event.EVENTTYPE_TIMER, executionContext);
     }
 
     // then execute the action if there is one
-    if (action!=null) {
+    if (action != null) {
       try {
-        log.debug("executing '"+this+"'");
-        if (graphElement!=null) {
+        log.debug("executing " + this);
+        if (graphElement != null) {
           graphElement.executeAction(action, executionContext);
-        } else {
+        }
+        else {
           action.execute(executionContext);
         }
-      } catch (Exception actionException) {
+      }
+      catch (Exception actionException) {
         // NOTE that Error's are not caught because that might halt the JVM and mask the original Error.
         log.warn("timer action threw exception", actionException);
         // if there is a graphElement connected to this timer...
         if (graphElement != null) {
           try {
-            // we give that graphElement a chance to catch the exception
+            // give that graphElement a chance to catch the exception
             graphElement.raiseException(actionException, executionContext);
-            log.debug("timer exception got handled by '"+graphElement+"'");
-          } catch (Exception handlerException) {
+            log.debug("timer exception got handled by '" + graphElement + "'");
+          }
+          catch (Exception handlerException) {
             // if the exception handler rethrows or the original exception results in a DelegationException...
             throw handlerException;
           }
-        } else {
+        }
+        else {
           throw actionException;
         }
       }
     }
 
     // then take a transition if one is specified
-    if ( (transitionName!=null)
-         && (exception==null) // and if no unhandled exception occurred during the action  
-       ) {
+    // and if no unhandled exception occurred during the action
+    if (transitionName != null && exception == null) {
       if (token.getNode().hasLeavingTransition(transitionName)) {
         token.signal(transitionName);
       }
     }
 
     // if repeat is specified, reschedule the job
-    if (repeat!=null) {
+    if (repeat != null) {
       // suppose that it took the timer runner thread a
       // very long time to execute the timers.
       // then the repeat action dueDate could already have passed.
@@ -108,26 +113,22 @@
 
       return false;
     }
-    
+
     return true;
   }
-  
+
   public String toString() {
     StringBuilder text = new StringBuilder("Timer");
     if (name != null || dueDate != null) {
       text.append('(');
 
-      if (name!=null)
-        text.append(name).append(",");
-      if (dueDate!=null)
-        text.append(formatDueDate(dueDate)).append(",");
-      if (taskInstance!=null)
-        text.append(taskInstance).append(",");
+      if (name != null) text.append(name).append(",");
+      if (dueDate != null) text.append(formatDueDate(dueDate)).append(",");
+      if (taskInstance != null) text.append(taskInstance).append(",");
 
-      if (token!=null)
+      if (token != null)
         text.append(token);
-      else if (processInstance!=null)
-        text.append(processInstance);
+      else if (processInstance != null) text.append(processInstance);
 
       text.append(')');
     }
@@ -141,33 +142,42 @@
   public String getRepeat() {
     return repeat;
   }
+
   public void setRepeat(String repeat) {
     this.repeat = repeat;
   }
+
   public String getName() {
     return name;
   }
+
   public void setName(String name) {
     this.name = name;
   }
+
   public String getTransitionName() {
     return transitionName;
   }
+
   public void setTransitionName(String transitionName) {
     this.transitionName = transitionName;
   }
+
   public GraphElement getGraphElement() {
     return graphElement;
   }
+
   public void setGraphElement(GraphElement graphElement) {
     this.graphElement = graphElement;
   }
+
   public Action getAction() {
     return action;
   }
+
   public void setAction(Action action) {
     this.action = action;
   }
-  
+
   private static Log log = LogFactory.getLog(Timer.class);
 }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -164,10 +164,6 @@
       JobSession jobSession = jbpmContext.getJobSession();
       job = jobSession.loadJob(job.getId());
 
-      // register process instance for automatic save
-      // see https://jira.jboss.org/jira/browse/JBPM-1015
-      jbpmContext.addAutoSaveProcessInstance(job.getProcessInstance());
-
       log.debug("executing " + job);
       try {
         if (job.execute(jbpmContext)) {

Modified: jbpm3/trunk/modules/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -345,14 +345,25 @@
     ]]>
   </query>
 
-  <query name="JobSession.deleteTimersForProcessInstance">
+  <query name="JobSession.countDeletableJobsForProcessInstance">
     <![CDATA[
-      delete from org.jbpm.job.Timer timer
-      where timer.processInstance = :processInstance
-        and timer.lockOwner is null
+      select count(job.id)
+      from org.jbpm.job.Job job
+      where job.processInstance = :processInstance
+        and job.lockOwner is null
+        and job.class in (org.jbpm.job.ExecuteNodeJob, org.jbpm.job.Timer)
     ]]>
   </query>
 
+  <query name="JobSession.deleteJobsForProcessInstance">
+    <![CDATA[
+      delete from org.jbpm.job.Job job
+      where job.processInstance = :processInstance
+        and job.lockOwner is null
+        and job.class in (org.jbpm.job.ExecuteNodeJob, org.jbpm.job.Timer)
+    ]]>
+  </query>
+
   <query name="JobSession.findRepeatingTimersForProcessInstance">
     <![CDATA[
       select timer
@@ -362,14 +373,6 @@
     ]]>
   </query>
 
-  <query name="JobSession.deleteExecuteNodeJobsForProcessInstance">
-    <![CDATA[
-      delete from org.jbpm.job.ExecuteNodeJob job
-      where job.processInstance = :processInstance
-        and job.lockOwner is null
-    ]]>
-  </query>
-
   <query name="JobSession.findJobsByToken">
     <![CDATA[
       select job
@@ -386,6 +389,15 @@
     ]]>
   </query>
 
+  <query name="JobSession.findFailedJobs">
+    <![CDATA[
+      select job
+      from org.jbpm.job.Job as job
+      where job.retries = 0
+        and job.exception is not null
+    ]]>
+  </query>
+
   <!-- related to Tasks            -->
   <!-- ########################### -->
 

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/JbpmConfigurationTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/JbpmConfigurationTest.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/JbpmConfigurationTest.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -28,17 +28,19 @@
 import org.jbpm.configuration.ObjectFactoryParser;
 import org.jbpm.util.XmlException;
 
-public class JbpmConfigurationTest extends AbstractJbpmTestCase {
+public class JbpmConfigurationTest extends AbstractJbpmTestCase
+{
 
-  protected void setUp() throws Exception 
+  protected void setUp() throws Exception
   {
     super.setUp();
+    JbpmConfiguration.clearJbpmConfigurationStack();
+    JbpmConfiguration.defaultObjectFactory = null;
     JbpmConfiguration.instances.clear();
-    JbpmConfiguration.defaultObjectFactory = null;
-    JbpmConfiguration.jbpmConfigurationStacks.remove();
   }
-  
-  public void testSingleton() {
+
+  public void testSingleton()
+  {
     JbpmConfiguration.defaultObjectFactory = new ObjectFactoryImpl(null, null);
     JbpmConfiguration instance = JbpmConfiguration.getInstance();
     assertNotNull(instance);
@@ -47,36 +49,38 @@
     assertSame(instance, JbpmConfiguration.getInstance());
   }
 
-  public void testDefaultContextCreation() {
+  public void testDefaultContextCreation()
+  {
     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration>" +
-      "  <jbpm-context name='"+JbpmContext.DEFAULT_JBPM_CONTEXT_NAME+"' />" +
-      "</jbpm-configuration>"
-    );
+        "<jbpm-configuration>" + 
+        "  <jbpm-context name='" + JbpmContext.DEFAULT_JBPM_CONTEXT_NAME + "' />" + 
+        "</jbpm-configuration>");
     assertNotNull(jbpmConfiguration);
     assertNotNull(jbpmConfiguration.createJbpmContext());
   }
 
-  public void testNonExistingContext() {
-    JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration />"
-    );
+  public void testNonExistingContext()
+  {
+    JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration />");
     assertNotNull(jbpmConfiguration);
-    try {
+    try
+    {
       jbpmConfiguration.createJbpmContext("non-existing-context");
       fail("expected exception");
-    } catch (ConfigurationException e) {
-      //OK
     }
+    catch (ConfigurationException e)
+    {
+      // OK
+    }
   }
 
-  public void testParseXmlStringConfiguration() {
+  public void testParseXmlStringConfiguration()
+  {
     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration>" +
-      "  <jbpm-context name='a' />" +
-      "  <jbpm-context name='b' />" +
-      "</jbpm-configuration>"
-    );
+        "<jbpm-configuration>" + 
+        "  <jbpm-context name='a' />" + 
+        "  <jbpm-context name='b' />" + 
+        "</jbpm-configuration>");
     assertNotNull(jbpmConfiguration);
     JbpmContext a = jbpmConfiguration.createJbpmContext("a");
     assertNotNull(a);
@@ -85,12 +89,12 @@
     assertNotSame(a, b);
   }
 
-  public void testNonSingletonContextCreation() {
+  public void testNonSingletonContextCreation()
+  {
     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration>" +
-      "  <jbpm-context name='a' />" +
-      "</jbpm-configuration>"
-    );
+        "<jbpm-configuration>" + 
+        "  <jbpm-context name='a' />" + 
+        "</jbpm-configuration>");
     assertNotNull(jbpmConfiguration);
     JbpmContext a = jbpmConfiguration.createJbpmContext("a");
     assertNotNull(a);
@@ -99,111 +103,131 @@
     assertNotSame(a, a2);
   }
 
-  public void testParseXmlFault() {
-    try {
+  public void testParseXmlFault()
+  {
+    try
+    {
       JbpmConfiguration.parseXmlString("<  problematic //   <</>  <x>M/L");
       fail("expected exception");
-    } catch (XmlException e) {
+    }
+    catch (XmlException e)
+    {
       // OK
     }
   }
 
-  public void testDomainModelConfigsWithoutJbpmContext() {
-    // Without a current JbpmContext, the jbpm domain model objects that 
-    // need configuration information fetch it from the object factory of 
-    // the singleton instance.  The singleton instance object factory is 
-    // by default initialized with the jbpm.cfg.xml resource unless, a 
+  public void testDomainModelConfigsWithoutJbpmContext()
+  {
+    // Without a current JbpmContext, the jbpm domain model objects that
+    // need configuration information fetch it from the object factory of
+    // the singleton instance. The singleton instance object factory is
+    // by default initialized with the jbpm.cfg.xml resource unless, a
     // custom default object factory is specified.
     //
-    // So to use jBPM without a JbpmContext, you can only use the resource with name 
+    // So to use jBPM without a JbpmContext, you can only use the resource with name
     // 'jbpm.cfg.xml' or the static method JbpmConfiguration.Configs.setDefaultObjectFactory
     // to specify the configuration information.
 
-    JbpmConfiguration.Configs.setDefaultObjectFactory(
-      ObjectFactoryParser.parseXmlString(
-        "<jbpm-configuration>" +
-        "  <string name='myproperty'>myvalue</string>" +
-        "</jbpm-configuration>"
-      )
-    );
+    JbpmConfiguration.Configs.setDefaultObjectFactory(ObjectFactoryParser.parseXmlString(
+        "<jbpm-configuration>" + 
+        "  <string name='myproperty'>myvalue</string>" + 
+        "</jbpm-configuration>"));
     assertEquals("myvalue", JbpmConfiguration.Configs.getString("myproperty"));
   }
 
-  public static class CustomObjectFactory implements ObjectFactory {
+  public static class CustomObjectFactory implements ObjectFactory
+  {
     private static final long serialVersionUID = 1L;
-    public Object createObject(String name) {
+
+    public Object createObject(String name)
+    {
       Object o = null;
-      if ("myproperty".equals(name)) {
+      if ("myproperty".equals(name))
+      {
         o = "mycustomfactoriedvalue";
       }
       return o;
     }
-    public boolean hasObject(String name) {
+
+    public boolean hasObject(String name)
+    {
       return "myproperty".equals(name);
     }
   }
 
-  public void testDomainModelConfigsWithCustomObjectFactory() {
-    JbpmConfiguration.Configs.setDefaultObjectFactory(
-      new CustomObjectFactory()
-    );
+  public void testDomainModelConfigsWithCustomObjectFactory()
+  {
+    JbpmConfiguration.Configs.setDefaultObjectFactory(new CustomObjectFactory());
     assertEquals("mycustomfactoriedvalue", JbpmConfiguration.Configs.getString("myproperty"));
   }
 
-  public void testDomainModelConfigsWithJbpmContext() {
+  public void testDomainModelConfigsWithJbpmContext()
+  {
     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration>" +
-      "  <jbpm-context name='default.jbpm.context' />" +
-      "  <string name='myproperty'>myvalueinacontext</string>" +
-      "</jbpm-configuration>"
-    );
+        "<jbpm-configuration>" + 
+        "  <jbpm-context name='default.jbpm.context' />" + 
+        "  <string name='myproperty'>myvalueinacontext</string>" + 
+        "</jbpm-configuration>");
 
     JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
-    try {
+    try
+    {
       assertEquals("myvalueinacontext", JbpmConfiguration.Configs.getString("myproperty"));
-    } finally {
+    }
+    finally
+    {
       jbpmContext.close();
     }
   }
 
-  public void testDomainModelConfigsWithNestedJbpmContext() {
+  public void testDomainModelConfigsWithNestedJbpmContext()
+  {
     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration>" +
-      "  <jbpm-context name='default.jbpm.context' />" +
-      "  <string name='myproperty'>myvalueinacontext</string>" +
-      "</jbpm-configuration>"
-    );
+        "<jbpm-configuration>" + 
+        "  <jbpm-context name='default.jbpm.context' />" + 
+        "  <string name='myproperty'>myvalueinacontext</string>" + 
+        "</jbpm-configuration>");
+    
     JbpmConfiguration nestedJbpmConfiguration = JbpmConfiguration.parseXmlString(
-      "<jbpm-configuration>" +
-      "  <jbpm-context name='default.jbpm.context' />" +
-      "  <string name='myproperty'>myvalueinanestedcontext</string>" +
-      "</jbpm-configuration>"
-    );          
-    
+        "<jbpm-configuration>" + 
+        "  <jbpm-context name='default.jbpm.context' />" + 
+        "  <string name='myproperty'>myvalueinanestedcontext</string>" + 
+        "</jbpm-configuration>");
+
     JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
-    try {
+    try
+    {
       assertEquals("myvalueinacontext", JbpmConfiguration.Configs.getString("myproperty"));
 
       JbpmContext nestedJbpmContext = nestedJbpmConfiguration.createJbpmContext();
-      try {
+      try
+      {
         assertEquals("myvalueinanestedcontext", JbpmConfiguration.Configs.getString("myproperty"));
-      } finally {
+      }
+      finally
+      {
         nestedJbpmContext.close();
       }
-      
+
       assertEquals("myvalueinacontext", JbpmConfiguration.Configs.getString("myproperty"));
-    } finally {
+    }
+    finally
+    {
       jbpmContext.close();
     }
   }
 
-  public void testJbpmConfigurationClose() {
+  public void testJbpmConfigurationClose()
+  {
     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
     JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
     SessionFactory sessionFactory;
-    try {
+    try
+    {
       sessionFactory = jbpmContext.getSessionFactory();
-    } finally {
+    }
+    finally
+    {
       jbpmContext.close();
     }
     jbpmConfiguration.close();

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -21,6 +21,8 @@
  */
 package org.jbpm.jbpm1072;
 
+import java.util.concurrent.atomic.AtomicInteger;
+
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.db.AbstractDbTestCase;
 import org.jbpm.graph.def.ActionHandler;
@@ -32,11 +34,9 @@
 import org.jbpm.job.executor.JobExecutor;
 
 /**
- * Concurrent job executors can process the same job in parallel.
- * The test simulates multiple nodes in the network processing a common job set.
- * The key setting is to give each job executor a different name;
- * normally, a job executor is named after the node's inet address
- * 
+ * Concurrent job executors can process the same job in parallel. The test simulates multiple nodes
+ * in the network processing a common job set. The key setting is to give each job executor a
+ * different name; normally, a job executor is named after the node's inet address
  * https://jira.jboss.org/jira/browse/JBPM-1072
  * 
  * @author Jiri Pechanec
@@ -49,8 +49,6 @@
   private JobExecutor[] jobExecutors = new JobExecutor[JOB_EXECUTOR_COUNT];
   private long processDefinitionId;
 
-  private volatile static int executionCount;
-
   private static final String PROCESS_DEFINITION = "<process-definition name='job-executors'>"
       + "<event type='process-end'>"
       + "<action expression='#{eventCallback.processEnd}' />"
@@ -94,16 +92,10 @@
     EventCallback.clear();
   }
 
-  public void testMultipleJobExecutors() 
-  {
-    executionCount = 0;
-
+  public void testMultipleJobExecutors() {
     // Won't Fix [JBPM-1072] Concurrent JobExecutors can process the same job in parallel
-    if (getHibernateDialect().indexOf("HSQL") != -1) 
-    {
-      return;
-    }
-    
+    if (getHibernateDialect().indexOf("HSQL") != -1) return;
+
     // kick off process instance
     ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
@@ -114,7 +106,7 @@
     commitAndCloseSession();
     try {
       EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
-      assertEquals(2, executionCount);
+      assertEquals(2, Counter.getCount());
 
       waitForJobs(EventCallback.DEFAULT_TIMEOUT);
     }
@@ -142,17 +134,19 @@
     }
   }
 
-  private static synchronized void incrementCount() {
-    ++executionCount;
-  }
-
   public static class Counter implements ActionHandler {
 
+    private static final AtomicInteger count = new AtomicInteger();
+
     private static final long serialVersionUID = 1L;
 
     public void execute(ExecutionContext exeContext) throws Exception {
-      incrementCount();
+      count.incrementAndGet();
       exeContext.leaveNode();
     }
+
+    public static int getCount() {
+      return count.get();
+    }
   }
 }

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -1,7 +1,5 @@
 package org.jbpm.jbpm1755;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.hibernate.LockMode;
 import org.jbpm.db.AbstractDbTestCase;
 import org.jbpm.graph.def.Event;
@@ -19,30 +17,23 @@
  */
 public class JBPM1755Test extends AbstractDbTestCase {
 
-  private long processDefinitionId;
+  private ProcessDefinition processDefinition;
 
-  private static final int processInstanceCount = 5;
-  private static final long maxWaitTime = 10 * 1000;
-  private static final Log log = LogFactory.getLog(JBPM1755Test.class);
+  private static final int PROCESS_INSTANCE_COUNT = 5;
 
   @Override
   protected void setUp() throws Exception {
     super.setUp();
-
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
-    jbpmContext.deployProcessDefinition(processDefinition);
-    processDefinitionId = processDefinition.getId();
-
+    processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
     startJobExecutor();
   }
 
   @Override
   protected void tearDown() throws Exception {
     stopJobExecutor();
-    graphSession.deleteProcessDefinition(processDefinitionId);
-    super.tearDown();
-    
+    graphSession.deleteProcessDefinition(processDefinition.getId());
     EventCallback.clear();
+    super.tearDown();
   }
 
   public void testReadLock() {
@@ -58,48 +49,33 @@
   }
 
   private void launchProcessInstances(LockMode lockMode) {
-    ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
     Join join = (Join) processDefinition.getNode("join1");
     join.setParentLockMode(lockMode.toString());
+    jbpmContext.deployProcessDefinition(processDefinition);
 
-    long[] processInstanceIds = new long[processInstanceCount];
-    for (int i = 0; i < processInstanceCount; i++) {
+    long[] processInstanceIds = new long[PROCESS_INSTANCE_COUNT];
+    for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
+      newTransaction();
       ProcessInstance processInstance = new ProcessInstance(processDefinition);
       processInstanceIds[i] = processInstance.getId();
       processInstance.getContextInstance().setVariable("eventCallback", new EventCallback());
       processInstance.signal();
       jbpmContext.save(processInstance);
     }
-    commitAndCloseSession();
 
-    for (int i = 0; i < processInstanceCount; i++) {
-      long processInstanceId = processInstanceIds[i];
-      waitForProcessInstanceEnd(processInstanceId);
-      assertTrue(hasProcessInstanceEnded(processInstanceId));
-    }
-
-    processJobs(maxWaitTime);
-  }
-
-  private void waitForProcessInstanceEnd(long processInstanceId) {
-    long startTime = System.currentTimeMillis();
-    do {
-      EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END, 1000);
-      if (System.currentTimeMillis() - startTime > maxWaitTime) {
-        log.warn("process instance " + processInstanceId + " took too long");
-        break;
-      }
-    } while (!hasProcessInstanceEnded(processInstanceId));
-  }
-
-  private boolean hasProcessInstanceEnded(long processInstanceId) {
-    beginSessionTransaction();
+    commitAndCloseSession();
     try {
-      return jbpmContext.loadProcessInstance(processInstanceId).hasEnded();
+      EventCallback.waitForEvent(PROCESS_INSTANCE_COUNT, Event.EVENTTYPE_PROCESS_END);
     }
     finally {
-      commitAndCloseSession();
+      beginSessionTransaction();
     }
+
+    for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
+      long processInstanceId = processInstanceIds[i];
+      assertTrue("expected process instance " + processInstanceId + " to have ended",
+          jbpmContext.loadProcessInstance(processInstanceId).hasEnded());
+    }
   }
 
 }

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1798/JBPM1798Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1798/JBPM1798Test.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1798/JBPM1798Test.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -34,7 +34,7 @@
     try {
       pd.createProcessInstance();
       newTransaction();
-      assertEquals(2, getNbrOfJobsAvailable());
+      assertEquals(1, getNbrOfJobsAvailable());
       processJobs(maxWaitTime);
     }
     finally {

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/msg/command/AsyncExecutionDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/msg/command/AsyncExecutionDbTest.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/msg/command/AsyncExecutionDbTest.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -162,7 +162,7 @@
       processInstance.signal();
       jbpmContext.save(processInstance);
       assertEquals(processDefinition.getNode("end"), processInstance.getRootToken().getNode());
-      assertEquals(7, getNbrOfJobsAvailable());
+      assertEquals(6, getNbrOfJobsAvailable());
       assertEquals(0, recordedActionNumbers.size());
 
       processJobs(5000);

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/perf/SimplePerformanceTest.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -21,13 +21,8 @@
  */
 package org.jbpm.perf;
 
-// $Id$
+import java.util.concurrent.Semaphore;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jbpm.command.CommandService;
-import org.jbpm.command.StartProcessInstanceCommand;
-import org.jbpm.command.impl.CommandServiceImpl;
 import org.jbpm.db.AbstractDbTestCase;
 import org.jbpm.graph.def.ActionHandler;
 import org.jbpm.graph.def.ProcessDefinition;
@@ -35,71 +30,96 @@
 import org.jbpm.graph.exe.ProcessInstance;
 
 /**
- * This tests creates a number of process instances. 
- * Every instance has a call to an ActionHandler. 
+ * This test creates a number of process instances. Every instance has a call to an ActionHandler.
  * 
- * https://jira.jboss.org/jira/browse/JBPM-2043
- *
+ * @see <a href="https://jira.jboss.org/jira/browse/JBPM-2043">JBPM-2043</a>
  * @author mvecera at redhat.com
  * @author pmacik at redhat.com
  * @author thomas.diesler at jboss.com
+ * @author alex.guizar at jboss.com
  * @since 18-Feb-2009
  */
-public class SimplePerformanceTest extends AbstractDbTestCase
-{
-  private static final Log log = LogFactory.getLog(SimplePerformanceTest.class);
-  
-  private CommandService commandService = new CommandServiceImpl(getJbpmConfiguration());
-  private static final int INSTANCES = 1000;
-  private static int count;
-  
-  ProcessDefinition processDefinition;
+public class SimplePerformanceTest extends AbstractDbTestCase {
 
-  public void setUp() throws Exception
-  {
+  private static final int WARMUP_INSTANCES = 100;
+  private static final int MEASUREMENT_INSTANCES = 1000;
+
+  private static final Semaphore signalLight = new Semaphore(0);
+
+  private ProcessDefinition processDefinition;
+
+  @Override
+  protected void setUp() throws Exception {
     super.setUp();
 
-    processDefinition = ProcessDefinition.parseXmlString(
-        "<process-definition name='perf' xmlns='urn:jbpm.org:jpdl-3.1'>" + 
-        "  <start-state name='start'>" + 
-        "    <transition name='to_state' to='end'>" + 
-        "      <action class='" + PerfActionHandler.class.getName() + "'/>" + 
-        "    </transition>" + 
-        "  </start-state>" + 
-        "  <end-state name='end'/>" + 
-        "</process-definition>");
+    processDefinition = ProcessDefinition.parseXmlString("<process-definition name='perf'>"
+        + "  <event type='process-start'>"
+        + "    <action class='"
+        + AsyncSignalAction.class.getName()
+        + "' async='true'/>"
+        + "  </event>"
+        + "  <start-state name='start'>"
+        + "    <transition to='end'/>"
+        + "  </start-state>"
+        + "  <end-state name='end'/>"
+        + "</process-definition>");
     jbpmContext.deployProcessDefinition(processDefinition);
-    newTransaction();
+
+    startJobExecutor();
   }
 
-  public void tearDown() throws Exception
-  {
+  @Override
+  protected void tearDown() throws Exception {
+    stopJobExecutor();
     jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
     super.tearDown();
   }
 
-  public void testAsyncCall()
-  {
-    long start = System.currentTimeMillis();
+  public void testAsyncCall() {
+    // Won't Fix [JBPM-2043] Performance test coverage
+    if (getHibernateDialect().indexOf("HSQL") != -1) return;
 
-    for (count = 0; count < INSTANCES; count++)
-    {
+    launchProcessInstances(WARMUP_INSTANCES);
+
+    long startTime = System.currentTimeMillis();
+    launchProcessInstances(MEASUREMENT_INSTANCES);
+
+    long duration = System.currentTimeMillis() - startTime;
+    System.out.println("=== Test finished processing "
+        + MEASUREMENT_INSTANCES
+        + " instances in "
+        + duration
+        + "ms ===");
+    System.out.println("=== This is "
+        + Math.round(1000f * MEASUREMENT_INSTANCES / duration)
+        + " instances per second ===");
+  }
+
+  private void launchProcessInstances(int count) {
+    for (int i = 0; i < count; i++) {
+      newTransaction();
       ProcessInstance pi = new ProcessInstance(processDefinition);
-      pi.signal();
       jbpmContext.save(pi);
-      newTransaction();
     }
 
-    long stop = System.currentTimeMillis();
-    System.out.println("=== Test finished processing " + INSTANCES + " instances in " + (stop - start) + "ms ===");
-    System.out.println("=== This is " + Math.round(1000 * INSTANCES / (stop - start)) + " instances per second ===");
+    commitAndCloseSession();
+    try {
+      signalLight.acquire(count);
+    }
+    catch (InterruptedException e) {
+      fail(getName() + " got interrupted while waiting for process instances to end");
+    }
+    finally {
+      beginSessionTransaction();
+    }
   }
 
-  public static class PerfActionHandler implements ActionHandler
-  {
-    public void execute(ExecutionContext executionContext) throws Exception
-    {
-      //System.out.println(count);
+  public static class AsyncSignalAction implements ActionHandler {
+    private static final long serialVersionUID = -8617329370138396271L;
+
+    public void execute(final ExecutionContext executionContext) throws Exception {
+      signalLight.release();
+      executionContext.leaveNode();
     }
   }
 }

Deleted: jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
===================================================================
--- jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="raceCondition" width="798" height="531">
-  <node name="start" x="135" y="52" width="140" height="40">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="fork1" x="79" y="136" width="252" height="24">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="join1" x="79" y="311" width="252" height="24">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node2" x="155" y="219" width="100" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node3" x="276" y="220" width="98" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="node1" x="31" y="218" width="105" height="36">
-    <edge>
-      <label x="5" y="-10"/>
-    </edge>
-  </node>
-  <node name="end" x="134" y="377" width="140" height="40"/>
-</root-container>

Modified: jbpm3/trunk/modules/distribution/pom.xml
===================================================================
--- jbpm3/trunk/modules/distribution/pom.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/distribution/pom.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -81,11 +81,6 @@
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm3</groupId>
-      <artifactId>jsf-console</artifactId>
-      <type>war</type>
-    </dependency>
-    <dependency>
-      <groupId>org.jbpm.jbpm3</groupId>
       <artifactId>jbpm-userguide</artifactId>
       <version>${version}</version>
       <type>jdocbook</type>
@@ -281,4 +276,4 @@
       </build>
     </profile>
   </profiles>
-</project>
\ No newline at end of file
+</project>

Modified: jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -169,8 +169,6 @@
         <include name="jbpm-identity.jar" />
         <include name="junit.jar" />
         <include name="jsf-console.war" />
-        <include name="slf4j-api.jar" />
-        <include name="slf4j-log4j12.jar" />
         <include name="log4j.jar" />
       </fileset>
 
@@ -205,8 +203,6 @@
       <fileset dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" override="true">
         <include name="jbpm-jpdl.jar" />
         <include name="jbpm-identity.jar" />
-        <include name="slf4j-api.jar" />
-        <include name="slf4j-log4j12.jar" />
       </fileset>
       <file src="@{deploy.artifacts.dir}/lib/jbpm-identity-service.zip" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar"
         unpack="true" override="true" />

Modified: jbpm3/trunk/modules/enterprise/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/pom.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/enterprise/pom.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -304,6 +304,12 @@
         <plugins>
           <plugin>
             <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <!-- [JBPM-1952] SOSE in async fork fails -->
+                <exclude>org/jbpm/enterprise/jbpm1952/JBPM1952Test.java</exclude>
+              </excludes>
+            </configuration>
           </plugin>
         </plugins>
       </build>

Modified: jbpm3/trunk/modules/enterprise/src/main/java/org/jbpm/ejb/impl/ExecuteJobCommand.java
===================================================================
--- jbpm3/trunk/modules/enterprise/src/main/java/org/jbpm/ejb/impl/ExecuteJobCommand.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/enterprise/src/main/java/org/jbpm/ejb/impl/ExecuteJobCommand.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -29,7 +29,6 @@
 import org.jbpm.JbpmContext;
 import org.jbpm.JbpmException;
 import org.jbpm.command.Command;
-import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.job.Job;
 import org.jbpm.persistence.db.DbPersistenceService;
 
@@ -57,14 +56,9 @@
   private Job acquireJob(JbpmContext jbpmContext) {
     Job job = jbpmContext.getJobSession().loadJob(jobId);
 
-    // register process instance for automatic save
-    // see https://jira.jboss.org/jira/browse/JBPM-1015
-    ProcessInstance processInstance = job.getProcessInstance();
-    jbpmContext.addAutoSaveProcessInstance(processInstance);
-
     // if job is exclusive, lock process instance
     if (job.isExclusive()) {
-      jbpmContext.getGraphSession().lockProcessInstance(processInstance);
+      jbpmContext.getGraphSession().lockProcessInstance(job.getProcessInstance());
     }
 
     // mark job as locked to prevent other parts of the engine from deleting it

Modified: jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/AbstractEnterpriseTestCase.java
===================================================================
--- jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/AbstractEnterpriseTestCase.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/AbstractEnterpriseTestCase.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -46,7 +46,6 @@
 import org.jbpm.command.SignalCommand;
 import org.jbpm.command.StartProcessInstanceCommand;
 import org.jbpm.ejb.LocalCommandServiceHome;
-import org.jbpm.graph.def.Event;
 import org.jbpm.graph.def.EventCallback;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
@@ -64,7 +63,6 @@
   private static Destination commandQueue;
   private static ConnectionFactory jmsConnectionFactory;
 
-  private static final int MAX_WAIT_TIME = 30 * 1000;
   private static final Log log = LogFactory.getLog(AbstractEnterpriseTestCase.class);
 
   protected AbstractEnterpriseTestCase() {
@@ -123,15 +121,6 @@
     return processInstance.hasEnded();
   }
 
-  protected boolean waitForProcessInstanceEnd(long processInstanceId) {
-    long startTime = System.currentTimeMillis();
-    do {
-      EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END, 1000);
-      if (System.currentTimeMillis() - startTime > MAX_WAIT_TIME) return false;
-    } while (!hasProcessInstanceEnded(processInstanceId));
-    return true;
-  }
-
   protected Object getVariable(final long processInstanceId, final String variableName) {
     return commandService.execute(new Command() {
       private static final long serialVersionUID = 1L;

Modified: jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -137,7 +137,13 @@
     long rootTokenId = processInstance.getRootToken().getId();
     cancelTimer("a", rootTokenId);
     // no more expirations
-    EventCallback.waitForEvent(Event.EVENTTYPE_TIMER, 2000);
+    try {
+      EventCallback.waitForEvent(Event.EVENTTYPE_TIMER, 2000);
+      fail("expected timeout exception");
+    }
+    catch (org.jbpm.JbpmException e) {
+      // timeout exception was expected
+    }
 
     signalToken(rootTokenId);
     assertTrue("expected process instance " + processInstanceId + " to have ended",

Modified: jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jbpm1952/JBPM1952Test.java
===================================================================
--- jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jbpm1952/JBPM1952Test.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jbpm1952/JBPM1952Test.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -4,6 +4,8 @@
 
 import org.jboss.bpm.api.test.IntegrationTestSetup;
 import org.jbpm.enterprise.AbstractEnterpriseTestCase;
+import org.jbpm.graph.def.Event;
+import org.jbpm.graph.def.EventCallback;
 
 /**
  * Use JMS instead of DBMS for storing jobs, so that each job is not taken by multiple job executor
@@ -62,10 +64,12 @@
       processInstanceIds[i] = startProcessInstance("jbpm1952").getId();
     }
 
+    EventCallback.waitForEvent(PROCESS_EXECUTION_COUNT, Event.EVENTTYPE_PROCESS_END);
+
     for (int i = 0; i < PROCESS_EXECUTION_COUNT; i++) {
       long processInstanceId = processInstanceIds[i];
       assertTrue("expected process instance " + processInstanceId + " to have ended",
-          waitForProcessInstanceEnd(processInstanceId));
+          hasProcessInstanceEnded(processInstanceId));
     }
   }
 

Modified: jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java	2009-03-13 09:41:42 UTC (rev 4236)
@@ -210,13 +210,14 @@
       processInstanceIds[i] = startProcessInstance("execution").getId();
       EventCallback.waitForEvent(Event.EVENTTYPE_NODE_ENTER);
     }
+
+    EventCallback.waitForEvent(PROCESS_INSTANCE_COUNT, Event.EVENTTYPE_NODE_LEAVE);
+    EventCallback.waitForEvent(PROCESS_INSTANCE_COUNT, Event.EVENTTYPE_PROCESS_END);
+
     for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
-      EventCallback.waitForEvent(Event.EVENTTYPE_NODE_LEAVE);
-    }
-    for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
       long processInstanceId = processInstanceIds[i];
       assertTrue("expected process instance " + processInstanceId + " to have ended",
-          waitForProcessInstanceEnd(processInstanceId));
+          hasProcessInstanceEnded(processInstanceId));
     }
   }
 }

Modified: jbpm3/trunk/modules/examples/src/test/resources/door/gpd.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/door/gpd.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/examples/src/test/resources/door/gpd.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -1,36 +1,36 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<process-diagram name="door" width="781" height="626">
+<root-container name="door" width="781" height="626">
   <node name="Locked" x="96" y="24" width="140" height="40">
-    <transition name="unlock">
+    <edge>
       <label x="-34" y="-12"/>
       <bendpoint w1="-26" h1="54" w2="-26" h2="-54"/>
-    </transition>
+    </edge>
   </node>
   <node name="Closed" x="96" y="132" width="140" height="40">
-    <transition name="lock">
+    <edge>
       <label x="5" y="-10"/>
       <bendpoint w1="22" h1="-54" w2="22" h2="54"/>
-    </transition>
-    <transition name="open">
+    </edge>
+    <edge>
       <label x="-33" y="-8"/>
       <bendpoint w1="-27" h1="55" w2="-27" h2="-53"/>
-    </transition>
+    </edge>
   </node>
   <node name="Open" x="96" y="240" width="140" height="40">
-    <transition name="close">
+    <edge>
       <label x="7" y="-6"/>
       <bendpoint w1="21" h1="-55" w2="21" h2="53"/>
-    </transition>
-    <transition name="lock">
+    </edge>
+    <edge>
       <label x="-20" y="-8"/>
       <bendpoint w1="-23" h1="55" w2="-23" h2="-53"/>
-    </transition>
+    </edge>
   </node>
   <node name="Open Locked" x="96" y="348" width="140" height="40">
-    <transition name="unlock">
+    <edge>
       <label x="5" y="-10"/>
       <bendpoint w1="21" h1="-53" w2="21" h2="55"/>
-    </transition>
+    </edge>
   </node>
-</process-diagram>
+</root-container>

Modified: jbpm3/trunk/modules/examples/src/test/resources/taskinstance/gpd.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/taskinstance/gpd.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/examples/src/test/resources/taskinstance/gpd.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<process-diagram name="CustomTaskInstance" width="774" height="673">
+<root-container name="CustomTaskInstance" width="774" height="673">
   <node name="start" x="176" y="65" width="-1" height="-1">
-    <transition name="">
+    <edge>
       <label x="5" y="-10"/>
-    </transition>
+    </edge>
   </node>
   <node name="end1" x="178" y="349" width="140" height="40"/>
   <node name="Review Order" x="177" y="205" width="140" height="40">
-    <transition name="">
+    <edge>
       <label x="5" y="-10"/>
-    </transition>
+    </edge>
   </node>
-</process-diagram>
+</root-container>

Modified: jbpm3/trunk/modules/examples/src/test/resources/websale/jpdl/gpd.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/websale/jpdl/gpd.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/modules/examples/src/test/resources/websale/jpdl/gpd.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -1,57 +1,57 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<process-diagram name="websale" width="566" height="541">
+<root-container name="websale" width="566" height="541">
   <node name="Create new web sale order" x="250" y="50" width="200" height="40">
-    <transition>
+    <edge>
       <label x="5" y="-10"/>
-    </transition>
+    </edge>
   </node>
   <node name="Evaluate web order" x="280" y="125" width="140" height="40">
-    <transition name="ok">
+    <edge>
       <label x="9" y="-10"/>
-    </transition>
-    <transition name="more info needed">
+    </edge>
+    <edge>
       <label x="-44" y="-18"/>
       <bendpoint w1="-114" h1="-35" w2="116" h2="-35"/>
-    </transition>
+    </edge>
   </node>
   <node name="Fix web order data" x="50" y="125" width="140" height="40">
-    <transition>
+    <edge>
       <label x="5" y="-10"/>
       <bendpoint w1="109" h1="32" w2="-121" h2="32"/>
-    </transition>
+    </edge>
   </node>
   <node name="salefork" x="250" y="200" width="200" height="25">
-    <transition name="payment">
+    <edge>
       <label x="12" y="-18"/>
       <bendpoint w1="145" h1="31" w2="0" h2="-52"/>
-    </transition>
-    <transition name="shipping">
+    </edge>
+    <edge>
       <label x="10" y="10"/>
       <bendpoint w1="-130" h1="34" w2="0" h2="-89"/>
-    </transition>
+    </edge>
   </node>
   <node name="Wait for money" x="425" y="275" width="140" height="40">
-    <transition>
+    <edge>
       <label x="5" y="-10"/>
-    </transition>
+    </edge>
   </node>
   <node name="update books" x="425" y="350" width="140" height="40">
-    <transition>
+    <edge>
       <label x="5" y="-10"/>
       <bendpoint w1="-1" h1="34" w2="144" h2="-33"/>
-    </transition>
+    </edge>
   </node>
   <node name="ship item" x="150" y="315" width="140" height="40">
-    <transition>
+    <edge>
       <label x="5" y="-10"/>
       <bendpoint w1="-1" h1="74" w2="-131" h2="-28"/>
-    </transition>
+    </edge>
   </node>
   <node name="salejoin" x="250" y="425" width="200" height="25">
-    <transition>
+    <edge>
       <label x="5" y="-10"/>
-    </transition>
+    </edge>
   </node>
   <node name="end" x="280" y="500" width="140" height="40"/>
-</process-diagram>
+</root-container>

Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml	2009-03-12 14:36:32 UTC (rev 4235)
+++ jbpm3/trunk/pom.xml	2009-03-13 09:41:42 UTC (rev 4236)
@@ -72,8 +72,8 @@
     <javax.persistence.version>1.0</javax.persistence.version>
     <javax.jaxb.version>2.1</javax.jaxb.version>
     <jaxen.version>1.1.1</jaxen.version>
-    <jbpm.designer.version>3.1.6</jbpm.designer.version>
-    <jbpm.jsf-console.version>3.3.1.GA</jbpm.jsf-console.version>
+    <jbpm.designer.version>3.1.7</jbpm.designer.version>
+    <jbpm.jsf-console.version>3.2.6.SP1</jbpm.jsf-console.version>
     <jboss.client.version>4.2.2.GA</jboss.client.version>
     <jboss.gravel.version>1.0.0.GA</jboss.gravel.version>
     <jboss.seam.version>2.0.2.GA</jboss.seam.version>




More information about the jbpm-commits mailing list