[jbpm-commits] JBoss JBPM SVN: r6239 - in jbpm3/branches/jbpm-3.2-soa/modules: core/src/main/java/org/jbpm/taskmgmt/exe and 19 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Mar 31 04:20:43 EDT 2010


Author: alex.guizar at jboss.com
Date: 2010-03-31 04:20:39 -0400 (Wed, 31 Mar 2010)
New Revision: 6239

Modified:
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/jpdl/el/impl/JbpmExpressionEvaluator.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskMgmtInstance.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/impl/DefaultTaskInstanceFactoryImpl.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/Clock.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/ContextInstanceDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableLongIdDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/TokenVariableMapDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/VariableInstanceDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/log/VariableUpdateDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/db/IdAssignmentDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/action/ActionDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/DescriptionDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/EventDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ExceptionHandlerDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ProcessDefinitionDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/SuperStateDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/TransitionDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/CommentDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/ProcessInstanceDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/RuntimeActionDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/StateDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/EndStateDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/JpdlDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/StartStateDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1024/JBPM1024Test.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1085/JBPM1085Test.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2608/JBPM2608Test.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2812/JBPM2812Test.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/TaskWithVariablesTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/UnsafeSessionUsageTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/SwimlaneDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskControllerDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskInstanceDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskMgmtInstanceDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/identity/src/test/java/org/jbpm/identity/assignment/ExpressionAssignmentHandlerTest.java
Log:
JBPM-2787: delete process definitions on test case teardown automatically;
get date generator from configuration entry jbpm.date.generator


Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/jpdl/el/impl/JbpmExpressionEvaluator.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/jpdl/el/impl/JbpmExpressionEvaluator.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/jpdl/el/impl/JbpmExpressionEvaluator.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -1,7 +1,9 @@
 package org.jbpm.jpdl.el.impl;
 
-import org.jbpm.JbpmConfiguration;
+import java.util.regex.Pattern;
+
 import org.jbpm.JbpmException;
+import org.jbpm.JbpmConfiguration.Configs;
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.jpdl.el.ELException;
 import org.jbpm.jpdl.el.ExpressionEvaluator;
@@ -14,7 +16,7 @@
 
   private static ExpressionEvaluator getExpressionEvaluator() {
     return expressionEvaluator != null ? expressionEvaluator
-      : (ExpressionEvaluator) JbpmConfiguration.Configs.getObject("jbpm.expression.evaluator");
+      : (ExpressionEvaluator) Configs.getObject("jbpm.expression.evaluator");
   }
 
   /**
@@ -59,43 +61,38 @@
     }
     catch (ELException e) {
       Throwable rootCause = e.getRootCause();
-      throw new JbpmException("failed to evaluate " + expression, rootCause != null ? rootCause : e);
+      throw new JbpmException("failed to evaluate " + expression,
+        rootCause != null ? rootCause : e);
     }
     finally {
       ExecutionContext.popCurrentContext(executionContext);
     }
   }
 
-  private static String translateExpressionToDollars(String expression) {
-    int hashIndex = expression.indexOf("#{");
-    if (hashIndex == -1) return expression;
+  private static Pattern hashPattern = Pattern.compile("\\#\\{([^\\}]*)\\}");
 
-    char[] expressionChars = expression.toCharArray();
-    do {
-      expressionChars[hashIndex] = '$';
-      hashIndex = expression.indexOf("#{", hashIndex + 2);
-    } while (hashIndex != -1);
-    return new String(expressionChars);
+  private static String translateExpressionToDollars(String expression) {
+    return hashPattern.matcher(expression).replaceAll("\\${$1}");
   }
 
-  /** @deprecated Use {@link #getVariableResolver()} instead */
+  /** @deprecated call {@link #getVariableResolver()} instead */
   public static VariableResolver getUsedVariableResolver() {
     return getVariableResolver();
   }
 
   public static VariableResolver getVariableResolver() {
     return variableResolver != null ? variableResolver
-      : (VariableResolver) JbpmConfiguration.Configs.getObject("jbpm.variable.resolver");
+      : (VariableResolver) Configs.getObject("jbpm.variable.resolver");
   }
 
-  /** @deprecated Use {@link #getFunctionMapper()} instead */
+  /** @deprecated call {@link #getFunctionMapper()} instead */
   public static FunctionMapper getUsedFunctionMapper() {
     return getFunctionMapper();
   }
 
   public static FunctionMapper getFunctionMapper() {
-    return functionMapper != null ? functionMapper : JbpmConfiguration.Configs
-      .hasObject("jbpm.function.mapper") ? (FunctionMapper) JbpmConfiguration.Configs
-      .getObject("jbpm.function.mapper") : null;
+    return functionMapper != null ? functionMapper
+      : Configs.hasObject("jbpm.function.mapper") ?
+        (FunctionMapper) Configs.getObject("jbpm.function.mapper") : null;
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskMgmtInstance.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskMgmtInstance.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/exe/TaskMgmtInstance.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -35,6 +35,7 @@
 
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmException;
+import org.jbpm.JbpmConfiguration.Configs;
 import org.jbpm.calendar.BusinessCalendar;
 import org.jbpm.calendar.Duration;
 import org.jbpm.graph.def.DelegationException;
@@ -344,8 +345,11 @@
   }
 
   TaskInstance instantiateNewTaskInstance(ExecutionContext executionContext) {
-    TaskInstanceFactory taskInstanceFactory = (TaskInstanceFactory) JbpmConfiguration.Configs.getObject("jbpm.task.instance.factory");
-    return taskInstanceFactory.createTaskInstance(executionContext);
+    if (Configs.hasObject("jbpm.task.instance.factory")) {
+      TaskInstanceFactory factory = (TaskInstanceFactory) Configs.getObject("jbpm.task.instance.factory");
+      return factory.createTaskInstance(executionContext);
+    }
+    return new TaskInstance();
   }
 
   /**

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/impl/DefaultTaskInstanceFactoryImpl.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/impl/DefaultTaskInstanceFactoryImpl.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/taskmgmt/impl/DefaultTaskInstanceFactoryImpl.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -27,6 +27,10 @@
 
 /**
  * the default task instance factory.
+ * 
+ * @deprecated leave configuration entry <code>jbpm.task.instance.factory</code>
+ * unset instead
+ * 
  */
 public class DefaultTaskInstanceFactoryImpl implements TaskInstanceFactory {
 

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/Clock.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/Clock.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/Clock.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -2,21 +2,42 @@
 
 import java.util.Date;
 
-public abstract class Clock {
-  
-  public static DateGenerator dateGenerator = new DefaultDateGenerator();
-  
+import org.jbpm.JbpmConfiguration.Configs;
+
+public class Clock {
+
+  private Clock() {
+    // hide default constructor to prevent instantiation
+  }
+
+  /**
+   * @deprecated set configuration entry <code>jbpm.date.generator</code>
+   * instead
+   */
+  public static DateGenerator dateGenerator;
+
   public interface DateGenerator {
     Date getCurrentTime();
   }
-  
+
+  /**
+   * @deprecated leave configuration entry <code>jbpm.date.generator</code>
+   * unset instead
+   */
   public static class DefaultDateGenerator implements DateGenerator {
     public Date getCurrentTime() {
       return new Date();
     }
   }
-  
+
   public static Date getCurrentTime() {
-    return dateGenerator.getCurrentTime();
+    if (dateGenerator != null) return dateGenerator.getCurrentTime();
+
+    if (Configs.hasObject("jbpm.date.generator")) {
+      DateGenerator configDateGen = (DateGenerator) Configs.getObject("jbpm.date.generator");
+      return configDateGen.getCurrentTime();
+    }
+
+    return new Date();
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml	2010-03-31 08:20:39 UTC (rev 6239)
@@ -6,13 +6,15 @@
     objects described here and override any object with the same name.
 
     To customize specific objects, the custom configuration needs only contain
-    descriptions for those objects alone. For instance, to load a custom
-    Hibernate configuration resource, the following document suffices.
+    descriptions for the custom objects alone. For instance, to load a different
+    Hibernate configuration resource, the configuration document only needs the
+    following content.
+
     <jbpm-configuration>
       <string name="resource.hibernate.cfg.xml" value="my.hibernate.cfg.xml" />
     </jbpm-configuration> 
   -->
-  
+
   <jbpm-context>
     <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
     <!-- Logging Service (begin) -->
@@ -26,7 +28,7 @@
 
   <!-- database persistence configuration  -->
   <string name="resource.hibernate.cfg.xml" value="hibernate.cfg.xml" />
-  <!-- additional database persistence properties
+  <!-- extra database persistence properties
   <string name="resource.hibernate.properties" value="hibernate.properties" />
   --> 
 
@@ -43,34 +45,66 @@
   <!-- alternate delegation class loader
   <string name="jbpm.class.loader" value="context" />
   -->
-  <bean name="process.class.loader.factory" class="org.jbpm.instantiation.SharedProcessClassLoaderFactory" singleton="true" />
-  <bean name="jbpm.task.instance.factory" class="org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl" singleton="true" />
+  <bean name="process.class.loader.factory" class="org.jbpm.instantiation.SharedProcessClassLoaderFactory"
+    singleton="true" />
 
   <!-- make sure the block size matches the length in ByteArray.hbm.xml -->
-  <int name="jbpm.byte.block.size" value="1024" singleton="true" />
+  <int name="jbpm.byte.block.size" value="1024" />
 
-  <bean name="jbpm.expression.evaluator" class="org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl" singleton="true" />
-  <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver" singleton="true" />
+  <bean name="jbpm.expression.evaluator" class="org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl"
+    singleton="true" />
+  <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver"
+    singleton="true" />
   <!-- custom function mapper
   <bean name="jbpm.function.mapper" class="org.example.FunctionMapperImpl" />
   -->
+
+  <!-- custom task instance factory
+  <bean name="jbpm.task.instance.factory" class="org.example.TaskInstanceFactoryImpl" />
+  -->
   <!-- user code interceptor
   <bean name="jbpm.user.code.interceptor" class="org.example.UserCodeInterceptorImpl" />
   -->
+  <!-- custom date generator
+  <bean name="jbpm.date.generator" class="org.example.DateGeneratorImpl" />
+  -->
 
+  <!-- email sending properties -->
   <string name="jbpm.mail.smtp.host" value="localhost" />
   <string name="jbpm.mail.from.address" value="jbpm at noreply" />
-  <bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver" singleton="true" />
-  
-  <bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor">
-    <property name="jbpmConfiguration"><ref bean="jbpmConfiguration" /></property>
-    <property name="name"><string value="JbpmJobExecutor" /></property>
-    <property name="nbrOfThreads"><int value="1" /></property>
-    <property name="retries"><int value="3" /></property>
-    <property name="idleInterval"><!-- 5 seconds --><int value="5000" /></property>
-    <property name="maxIdleInterval"><!-- 1 hour --><int value="3600000" /></property>
-    <property name="maxLockTime"><!-- 10 minutes --><int value="600000" /></property>
-    <property name="lockMonitorInterval"><!-- 1 minute --><int value="60000" /></property>
+  <bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver"
+    singleton="true" />
+
+  <!-- job execution properties -->
+  <bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor" singleton="true">
+    <property name="jbpmConfiguration">
+      <ref bean="jbpmConfiguration" />
+    </property>
+    <property name="name">
+      <string value="JbpmJobExecutor" />
+    </property>
+    <property name="nbrOfThreads">
+      <int value="1" />
+    </property>
+    <property name="retries">
+      <int value="3" />
+    </property>
+    <property name="idleInterval">
+      <!-- 5 seconds -->
+      <int value="5000" />
+    </property>
+    <property name="maxIdleInterval">
+      <!-- 1 hour -->
+      <int value="3600000" />
+    </property>
+    <property name="maxLockTime">
+      <!-- 10 minutes -->
+      <int value="600000" />
+    </property>
+    <property name="lockMonitorInterval">
+      <!-- 1 minute -->
+      <int value="60000" />
+    </property>
   </bean>
 
 </jbpm-configuration>

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/ContextInstanceDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/ContextInstanceDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/ContextInstanceDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -33,67 +33,53 @@
 public class ContextInstanceDbTest extends AbstractDbTestCase {
 
   public void testContextInstanceTokenVariableMaps() {
-    ProcessDefinition processDefinition = new ProcessDefinition();
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      Token rootToken = processInstance.getRootToken();
-      Token childToken = new Token(rootToken, "shipping");
-      
-      ContextInstance contextInstance = processInstance.getContextInstance();
-      Map tokenVariableMaps = new HashMap();
-      tokenVariableMaps.put(rootToken, new TokenVariableMap(rootToken, contextInstance));
-      tokenVariableMaps.put(childToken, new TokenVariableMap(childToken, contextInstance));
-      contextInstance.tokenVariableMaps = tokenVariableMaps;
-      
-      processInstance = saveAndReload(processInstance);
-      rootToken = processInstance.getRootToken();
-      childToken = rootToken.getChild("shipping");
-      contextInstance = processInstance.getContextInstance();
-      tokenVariableMaps = contextInstance.tokenVariableMaps;
-      
-      assertEquals(2, tokenVariableMaps.size());
-      assertTrue(tokenVariableMaps.containsKey(rootToken));
-      assertTrue(tokenVariableMaps.containsKey(childToken));
-      TokenVariableMap tokenVariableMap = (TokenVariableMap)tokenVariableMaps.get(rootToken);
-      assertNotNull(tokenVariableMap);
-      tokenVariableMap = (TokenVariableMap)tokenVariableMaps.get(childToken);
-      assertNotNull(tokenVariableMap);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    Token rootToken = processInstance.getRootToken();
+    Token childToken = new Token(rootToken, "shipping");
+
+    ContextInstance contextInstance = processInstance.getContextInstance();
+    Map tokenVariableMaps = new HashMap();
+    tokenVariableMaps.put(rootToken, new TokenVariableMap(rootToken, contextInstance));
+    tokenVariableMaps.put(childToken, new TokenVariableMap(childToken, contextInstance));
+    contextInstance.tokenVariableMaps = tokenVariableMaps;
+
+    processInstance = saveAndReload(processInstance);
+    rootToken = processInstance.getRootToken();
+    childToken = rootToken.getChild("shipping");
+    contextInstance = processInstance.getContextInstance();
+    tokenVariableMaps = contextInstance.tokenVariableMaps;
+
+    assertEquals(2, tokenVariableMaps.size());
+    assertTrue(tokenVariableMaps.containsKey(rootToken));
+    assertTrue(tokenVariableMaps.containsKey(childToken));
+    TokenVariableMap tokenVariableMap = (TokenVariableMap) tokenVariableMaps.get(rootToken);
+    assertNotNull(tokenVariableMap);
+    tokenVariableMap = (TokenVariableMap) tokenVariableMaps.get(childToken);
+    assertNotNull(tokenVariableMap);
   }
-  
+
   public void testVariableUpdate() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition />"
-    );
-  
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      ContextInstance contextInstance = processInstance.getContextInstance();
-      contextInstance.setVariable("a", "one");
-      
-      processInstance = saveAndReload(processInstance);
-      
-      contextInstance = processInstance.getContextInstance();
-      assertEquals("one", contextInstance.getVariable("a"));
-      contextInstance.setVariable("a", "two");
-      
-      processInstance = saveAndReload(processInstance);
-      
-      contextInstance = processInstance.getContextInstance();
-      assertEquals("two", contextInstance.getVariable("a"));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    processDefinition.addDefinition(new ContextDefinition());
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    ContextInstance contextInstance = processInstance.getContextInstance();
+    contextInstance.setVariable("a", "one");
+
+    processInstance = saveAndReload(processInstance);
+
+    contextInstance = processInstance.getContextInstance();
+    assertEquals("one", contextInstance.getVariable("a"));
+    contextInstance.setVariable("a", "two");
+
+    processInstance = saveAndReload(processInstance);
+
+    contextInstance = processInstance.getContextInstance();
+    assertEquals("two", contextInstance.getVariable("a"));
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableLongIdDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableLongIdDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableLongIdDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -37,12 +37,19 @@
 
   protected JbpmConfiguration getJbpmConfiguration() {
     if (jbpmConfiguration == null) {
-      jbpmConfiguration = JbpmConfiguration.parseResource(getJbpmTestConfig());
+      // disable logging service to prevent logs from referencing custom object
+      jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration>"
+        + "<jbpm-context>"
+        + "  <service name='persistence'"
+        + "    factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />"
+        + "  <service name='tx' factory='org.jbpm.tx.TxServiceFactory' />"
+        + "</jbpm-context>"
+        + "</jbpm-configuration>");
+
       JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
       try {
-        DbPersistenceServiceFactory persistenceServiceFactory = (DbPersistenceServiceFactory) jbpmContext
-            .getServiceFactory(Services.SERVICENAME_PERSISTENCE);
-
+        DbPersistenceServiceFactory persistenceServiceFactory =
+          (DbPersistenceServiceFactory) jbpmContext.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
         Configuration configuration = persistenceServiceFactory.getConfiguration();
         configuration.addClass(CustomLongClass.class);
 
@@ -62,31 +69,27 @@
   }
 
   public void testCustomVariableClassWithLongId() {
-    // create and save the process definition
-    ProcessDefinition processDefinition = new ProcessDefinition();
+    // create and save process definition
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
-    CustomLongClass customLongObject = null;
-    try {
-      // create the process instance
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      ContextInstance contextInstance = processInstance.getContextInstance();
-      // create the custom object
-      customLongObject = new CustomLongClass("customname");
-      contextInstance.setVariable("custom hibernate object", customLongObject);
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      contextInstance = processInstance.getContextInstance();
+    // create process instance
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    // create custom object
+    CustomLongClass customLongObject = new CustomLongClass("my stuff");
+    processInstance.getContextInstance().setVariable("custom", customLongObject);
 
-      // get the custom hibernatable object from the variables
-      customLongObject = (CustomLongClass) contextInstance
-          .getVariable("custom hibernate object");
-      assertNotNull(customLongObject);
-      assertEquals("customname", customLongObject.getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-      if (customLongObject != null) session.delete(customLongObject);
-    }
+    // save process instance
+    processInstance = saveAndReload(processInstance);
+    // get custom object from variables
+    customLongObject = (CustomLongClass) processInstance.getContextInstance()
+      .getVariable("custom");
+    assertNotNull(customLongObject);
+    assertEquals("my stuff", customLongObject.getName());
+
+    // delete custom object
+    processInstance.getContextInstance().deleteVariable("custom");
+    session.delete(customLongObject);
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -37,12 +37,19 @@
 
   protected JbpmConfiguration getJbpmConfiguration() {
     if (jbpmConfiguration == null) {
-      jbpmConfiguration = JbpmConfiguration.parseResource(getJbpmTestConfig());
+      // disable logging service to prevent logs from referencing custom object
+      jbpmConfiguration = JbpmConfiguration.parseXmlString("<jbpm-configuration>"
+        + "<jbpm-context>"
+        + "  <service name='persistence'"
+        + "    factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />"
+        + "  <service name='tx' factory='org.jbpm.tx.TxServiceFactory' />"
+        + "</jbpm-context>"
+        + "</jbpm-configuration>");
+
       JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
       try {
-        DbPersistenceServiceFactory persistenceServiceFactory = (DbPersistenceServiceFactory) jbpmContext
-            .getServiceFactory(Services.SERVICENAME_PERSISTENCE);
-
+        DbPersistenceServiceFactory persistenceServiceFactory =
+          (DbPersistenceServiceFactory) jbpmContext.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
         Configuration configuration = persistenceServiceFactory.getConfiguration();
         configuration.addClass(CustomStringClass.class);
 
@@ -62,31 +69,27 @@
   }
 
   public void testCustomVariableClassWithStringId() {
-    // create and save the process definition
-    ProcessDefinition processDefinition = new ProcessDefinition();
+    // create and save process definition
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
-    CustomStringClass customStringObject = null;
-    try {
-      // create the process instance
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      ContextInstance contextInstance = processInstance.getContextInstance();
-      // create the custom object
-      customStringObject = new CustomStringClass("customname");
-      contextInstance.setVariable("custom hibernate object", customStringObject);
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      contextInstance = processInstance.getContextInstance();
+    // create process instance
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    // create custom object
+    CustomStringClass customStringObject = new CustomStringClass("my stuff");
+    processInstance.getContextInstance().setVariable("custom", customStringObject);
 
-      // get the custom hibernatable object from the variables
-      customStringObject = (CustomStringClass) contextInstance
-          .getVariable("custom hibernate object");
-      assertNotNull(customStringObject);
-      assertEquals("customname", customStringObject.getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-      if (customStringObject != null) session.delete(customStringObject);
-    }
+    // save process instance
+    processInstance = saveAndReload(processInstance);
+    // get custom object from variables
+    customStringObject = (CustomStringClass) processInstance.getContextInstance()
+      .getVariable("custom");
+    assertNotNull(customStringObject);
+    assertEquals("my stuff", customStringObject.getName());
+
+    // delete custom object
+    processInstance.getContextInstance().deleteVariable("custom");
+    session.delete(customStringObject);
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/TokenVariableMapDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/TokenVariableMapDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/TokenVariableMapDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -33,7 +33,6 @@
 
 public class TokenVariableMapDbTest extends AbstractDbTestCase {
 
-  ProcessDefinition processDefinition;
   ProcessInstance processInstance;
   Token token;
   ContextInstance contextInstance;
@@ -43,9 +42,9 @@
   protected void setUp() throws Exception {
     super.setUp();
 
-    processDefinition = new ProcessDefinition();
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
+    deployProcessDefinition(processDefinition);
 
     processInstance = new ProcessInstance(processDefinition);
     token = processInstance.getRootToken();
@@ -57,11 +56,6 @@
     contextInstance.tokenVariableMaps = tokenVariableMaps;
   }
 
-  protected void tearDown() throws Exception {
-    jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    super.tearDown();
-  }
-
   public void testTokenVariableMapContextInstance() {
     processInstance = saveAndReload(processInstance);
 
@@ -97,12 +91,9 @@
     tokenVariableMaps = contextInstance.tokenVariableMaps;
     tokenVariableMap = (TokenVariableMap) tokenVariableMaps.get(processInstance.getRootToken());
 
-    // System.out.println(tokenVariableMap.getVariable("one"));
-    // System.out.println(tokenVariableMap.getVariable("two"));
-
-    assertEquals("hello",
-        ((StringInstance) tokenVariableMap.variableInstances.get("one")).getValue());
-    assertEquals("world",
-        ((StringInstance) tokenVariableMap.variableInstances.get("two")).getValue());
+    StringInstance one = (StringInstance) tokenVariableMap.variableInstances.get("one");
+    assertEquals("hello", one.getValue());
+    StringInstance two = (StringInstance) tokenVariableMap.variableInstances.get("two");
+    assertEquals("world", two.getValue());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/VariableInstanceDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/VariableInstanceDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/exe/VariableInstanceDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -36,35 +36,29 @@
 
 public class VariableInstanceDbTest extends AbstractDbTestCase {
 
-  ProcessDefinition processDefinition;
   ProcessInstance processInstance;
   ContextInstance contextInstance;
 
   protected void setUp() throws Exception {
     super.setUp();
 
-    processDefinition = new ProcessDefinition();
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
+    deployProcessDefinition(processDefinition);
 
     processInstance = new ProcessInstance(processDefinition);
     contextInstance = processInstance.getContextInstance();
   }
 
-  protected void tearDown() throws Exception {
-    jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    super.tearDown();
-  }
-
   public void testVariableInstanceString() {
     contextInstance.setVariable("comment",
-        "it's not the size that matters, it's how you use it.");
+      "it's not the size that matters, it's how you use it.");
 
     processInstance = saveAndReload(processInstance);
     contextInstance = processInstance.getContextInstance();
 
     assertEquals("it's not the size that matters, it's how you use it.",
-        contextInstance.getVariable("comment"));
+      contextInstance.getVariable("comment"));
   }
 
   public void testVariableInstanceLong() {
@@ -85,7 +79,6 @@
     contextInstance.setVariable("a lot of bytes", bytes);
 
     processInstance = saveAndReload(processInstance);
-
     contextInstance = processInstance.getContextInstance();
     bytes = (byte[]) contextInstance.getVariable("a lot of bytes");
     assertEquals(text, new String(bytes));
@@ -184,21 +177,21 @@
     final Date result = (Date) contextInstance.getVariable("a");
     // assertEquals(expected, result);
     log.info("Now: "
-        + now
-        + ", "
-        + now.getTime()
-        + ", "
-        + DateDbTestUtil.getInstance().convertDateToSeconds(now));
+      + now
+      + ", "
+      + now.getTime()
+      + ", "
+      + DateDbTestUtil.getInstance().convertDateToSeconds(now));
     log.info("Now: "
-        + result
-        + ", "
-        + result.getTime()
-        + ", "
-        + DateDbTestUtil.getInstance().convertDateToSeconds(result));
+      + result
+      + ", "
+      + result.getTime()
+      + ", "
+      + DateDbTestUtil.getInstance().convertDateToSeconds(result));
     assertEquals(DateDbTestUtil.getInstance().convertDateToSeconds(now),
-        DateDbTestUtil.getInstance().convertDateToSeconds(result));
+      DateDbTestUtil.getInstance().convertDateToSeconds(result));
     assertEquals(DateDbTestUtil.getInstance().convertDateToSeconds(now),
-        DateDbTestUtil.getInstance().convertDateToSeconds(result));
+      DateDbTestUtil.getInstance().convertDateToSeconds(result));
 
   }
 

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/log/VariableUpdateDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/log/VariableUpdateDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/context/log/VariableUpdateDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -37,34 +37,28 @@
 
 public class VariableUpdateDbTest extends AbstractDbTestCase {
 
-  private ProcessDefinition processDefinition;
   private ProcessInstance processInstance;
   private ContextInstance contextInstance;
 
   protected void setUp() throws Exception {
     super.setUp();
-    processDefinition = new ProcessDefinition();
+
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
+    deployProcessDefinition(processDefinition);
 
     processInstance = new ProcessInstance(processDefinition);
     contextInstance = processInstance.getContextInstance();
   }
 
-  protected void tearDown() throws Exception {
-    jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    super.tearDown();
-  }
-
   public void testVariableCreateLogs() {
     contextInstance.setVariable("a", new Integer(3));
-
     jbpmContext.save(processInstance);
+
     newTransaction();
     List logs = loggingSession.findLogsByToken(processInstance.getRootToken().getId());
-    VariableCreateLog createLog = (VariableCreateLog) LoggingInstance.getLogs(logs,
-        VariableCreateLog.class).get(0);
-
+    VariableCreateLog createLog =
+      (VariableCreateLog) LoggingInstance.getLogs(logs, VariableCreateLog.class).get(0);
     assertEquals("a", createLog.getVariableInstance().getName());
   }
 
@@ -75,10 +69,8 @@
 
     VariableUpdateLog variableLog = saveAndReloadUpdateLog(processInstance);
 
-    assertTrue(Arrays.equals("first value".getBytes(),
-        ((ByteArray) variableLog.getOldValue()).getBytes()));
-    assertTrue(Arrays.equals("second value".getBytes(),
-        ((ByteArray) variableLog.getNewValue()).getBytes()));
+    assertTrue(Arrays.equals("first value".getBytes(), ((ByteArray) variableLog.getOldValue()).getBytes()));
+    assertTrue(Arrays.equals("second value".getBytes(), ((ByteArray) variableLog.getNewValue()).getBytes()));
   }
 
   public void testDateUpdateLog() {
@@ -91,10 +83,8 @@
     VariableUpdateLog variableLog = saveAndReloadUpdateLog(processInstance);
 
     DateDbTestUtil dbUtilInst = DateDbTestUtil.getInstance();
-    assertEquals(dbUtilInst.convertDateToSeconds(now),
-        dbUtilInst.convertDateToSeconds((Date) variableLog.getOldValue()));
-    assertEquals(dbUtilInst.convertDateToSeconds(future),
-        dbUtilInst.convertDateToSeconds((Date) variableLog.getNewValue()));
+    assertEquals(dbUtilInst.convertDateToSeconds(now), dbUtilInst.convertDateToSeconds((Date) variableLog.getOldValue()));
+    assertEquals(dbUtilInst.convertDateToSeconds(future), dbUtilInst.convertDateToSeconds((Date) variableLog.getNewValue()));
   }
 
   public void testDoubleUpdateLog() {
@@ -138,8 +128,8 @@
     jbpmContext.save(processInstance);
     newTransaction();
     List logs = loggingSession.findLogsByToken(processInstance.getRootToken().getId());
-    VariableDeleteLog deleteLog = (VariableDeleteLog) LoggingInstance.getLogs(logs,
-        VariableDeleteLog.class).get(0);
+    VariableDeleteLog deleteLog =
+      (VariableDeleteLog) LoggingInstance.getLogs(logs, VariableDeleteLog.class).get(0);
 
     assertEquals("a", deleteLog.getVariableInstance().getName());
   }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/db/IdAssignmentDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/db/IdAssignmentDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/db/IdAssignmentDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -26,69 +26,55 @@
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.graph.exe.ProcessInstance;
 
-public class IdAssignmentDbTest extends AbstractDbTestCase 
-{
+public class IdAssignmentDbTest extends AbstractDbTestCase {
   static int successfullInvocations = 0;
-  
-  protected void setUp() throws Exception
-  {
+
+  protected void setUp() throws Exception {
     super.setUp();
     successfullInvocations = 0;
   }
-  
-  public static class TaskInstanceIdVerifier implements ActionHandler
-  {
+
+  public static class TaskInstanceIdVerifier implements ActionHandler {
     private static final long serialVersionUID = 1L;
 
-    public void execute(ExecutionContext executionContext) throws Exception
-    {
-      if (executionContext.getTaskInstance().getId() == 0)
-      {
+    public void execute(ExecutionContext executionContext) throws Exception {
+      if (executionContext.getTaskInstance().getId() == 0) {
         throw new RuntimeException("task instance didn't have an id");
       }
       successfullInvocations++;
     }
   }
 
-  public void testTaskInstanceId() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition name='task instance id test'>" +
-      "  <event type='task-create'>" +
-      "    <action class='org.jbpm.db.IdAssignmentDbTest$TaskInstanceIdVerifier' />" +
-      "  </event>" +
-      "  <start-state>" +
-      "    <transition to='distribute work' />" +
-      "  </start-state>" +
-      "  <task-node name='distribute work'>" +
-      "    <task name='negotiate a rebate' />" +
-      "  </task-node>" +
-      "</process-definition>" 
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
-      
-      assertEquals(1, successfullInvocations);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+  public void testTaskInstanceId() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <event type='task-create'>"
+      + "    <action class='"
+      + TaskInstanceIdVerifier.class.getName()
+      + "' />"
+      + "  </event>"
+      + "  <start-state>"
+      + "    <transition to='distribute work' />"
+      + "  </start-state>"
+      + "  <task-node name='distribute work'>"
+      + "    <task name='negotiate a rebate' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
+
+    assertEquals(1, successfullInvocations);
   }
 
-  public static class ProcessInstanceIdVerifier implements ActionHandler
-  {
+  public static class ProcessInstanceIdVerifier implements ActionHandler {
     private static final long serialVersionUID = 1L;
 
-    public void execute(ExecutionContext executionContext) throws Exception
-    {
-      if (executionContext.getProcessInstance().getId() == 0)
-      {
+    public void execute(ExecutionContext executionContext) throws Exception {
+      if (executionContext.getProcessInstance().getId() == 0) {
         throw new RuntimeException("process instance didn't have an id");
       }
       successfullInvocations++;
@@ -96,77 +82,66 @@
   }
 
   public void testProcessInstanceId() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition name='process instance id test'>" +
-      "  <event type='process-start'>" +
-      "    <action class='org.jbpm.db.IdAssignmentDbTest$ProcessInstanceIdVerifier' />" +
-      "  </event>" +
-      "  <start-state>" +
-      "    <transition to='a' />" +
-      "  </start-state>" +
-      "  <state name='a' />" +
-      "</process-definition>" 
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
-      
-      assertEquals(1, successfullInvocations);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <event type='process-start'>"
+      + "    <action class='"
+      + ProcessInstanceIdVerifier.class.getName()
+      + "'/>"
+      + "  </event>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <state name='a' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
+
+    assertEquals(1, successfullInvocations);
   }
 
-  public static class TokenIdVerifier implements ActionHandler
-  {
+  public static class TokenIdVerifier implements ActionHandler {
     private static final long serialVersionUID = 1L;
 
-    public void execute(ExecutionContext executionContext) throws Exception
-    {
-      if (executionContext.getToken().getId() == 0)
-      {
-        throw new RuntimeException("token '" + executionContext.getToken() + "' didn't have an id");
+    public void execute(ExecutionContext executionContext) throws Exception {
+      if (executionContext.getToken().getId() == 0) {
+        throw new RuntimeException("token '"
+          + executionContext.getToken()
+          + "' didn't have an id");
       }
       successfullInvocations++;
     }
   }
 
   public void testTokenId() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <start-state>" +
-      "    <transition to='f' />" +
-      "  </start-state>" +
-      "  <fork name='f'>" +
-      "    <transition name='a' to='a' />" +
-      "    <transition name='b' to='b' />" +
-      "    <event type='node-leave'>" +
-      "      <action class='org.jbpm.db.IdAssignmentDbTest$TokenIdVerifier' />" +
-      "    </event>" +
-      "  </fork>" +
-      "  <state name='a' />" +
-      "  <state name='b' />" +
-      "</process-definition>" 
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
-      
-      assertEquals(2, successfullInvocations);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='f' />"
+      + "  </start-state>"
+      + "  <fork name='f'>"
+      + "    <transition name='a' to='a' />"
+      + "    <transition name='b' to='b' />"
+      + "    <event type='node-leave'>"
+      + "      <action class='"
+      + TokenIdVerifier.class.getName()
+      + "' />"
+      + "    </event>"
+      + "  </fork>"
+      + "  <state name='a' />"
+      + "  <state name='b' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
+
+    assertEquals(2, successfullInvocations);
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/action/ActionDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/action/ActionDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/action/ActionDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -30,225 +30,148 @@
 
 public class ActionDbTest extends AbstractDbTestCase {
 
-  public void testIsPropagationAllowedFalse() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'>" +
-      "      <action name='a' class='unimportant' accept-propagated-events='false' />" +
-      "    </event>" +
-      "  </node>" +
-      "</process-definition>");
-  
+  public void testIsPropagationAllowedFalse() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'>"
+      + "      <action name='a' class='unimportant' accept-propagated-events='false' />"
+      + "    </event>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Action action = processDefinition.getAction("a");
-      assertFalse(action.acceptsPropagatedEvents());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Action action = processDefinition.getAction("a");
+    assertFalse(action.acceptsPropagatedEvents());
   }
 
-  public void testIsPropagationAllowedTrue() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'>" +
-      "      <action name='a' class='unimportant' accept-propagated-events='true' />" +
-      "    </event>" +
-      "  </node>" +
-      "</process-definition>");
-  
+  public void testIsPropagationAllowedTrue() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'>"
+      + "      <action name='a' class='unimportant' accept-propagated-events='true' />"
+      + "    </event>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Action action = processDefinition.getAction("a");
-      assertTrue(action.acceptsPropagatedEvents());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Action action = processDefinition.getAction("a");
+    assertTrue(action.acceptsPropagatedEvents());
   }
 
-  public void testReferencedAction() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'>" +
-      "      <action ref-name='a'/>" +
-      "    </event>" +
-      "  </node>" +
-      "  <action name='a' class='unimportant'/>" +
-      "</process-definition>");
-  
+  public void testReferencedAction() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'>"
+      + "      <action ref-name='a'/>"
+      + "    </event>"
+      + "  </node>"
+      + "  <action name='a' class='unimportant'/>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Action nodeAction = (Action) processDefinition.getNode("n").getEvent("node-enter").getActions().get(0);
-      assertSame(processDefinition.getAction("a"), nodeAction.getReferencedAction());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Action nodeAction = (Action) processDefinition.getNode("n")
+      .getEvent("node-enter")
+      .getActions()
+      .get(0);
+    assertSame(processDefinition.getAction("a"), nodeAction.getReferencedAction());
   }
-  
-  public void testActionDelegation() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <action name='a' class='myclass' config-type='constructor'>" +
-      "    <myconfiguration></myconfiguration>" +
-      "  </action>" +
-      "</process-definition>");
 
+  public void testActionDelegation() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <action name='a' class='myclass' config-type='constructor'>"
+      + "    <myconfiguration></myconfiguration>"
+      + "  </action>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Action action = processDefinition.getAction("a");
-      assertNotNull(action.getActionDelegation());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Action action = processDefinition.getAction("a");
+    assertNotNull(action.getActionDelegation());
   }
-  
-  public void testEvent() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'>" +
-      "      <action name='a' class='unimportant'/>" +
-      "    </event>" +
-      "  </node>" +
-      "</process-definition>");
 
+  public void testEvent() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'>"
+      + "      <action name='a' class='unimportant'/>"
+      + "    </event>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Event event = processDefinition.getNode("n").getEvent("node-enter");
-      Action action = processDefinition.getAction("a");
-      assertSame(event, action.getEvent());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Event event = processDefinition.getNode("n").getEvent("node-enter");
+    Action action = processDefinition.getAction("a");
+    assertSame(event, action.getEvent());
   }
-  
-  public void testProcessDefinition() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'>" +
-      "      <action name='a' class='unimportant'/>" +
-      "    </event>" +
-      "  </node>" +
-      "</process-definition>");
 
+  public void testProcessDefinition() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'>"
+      + "      <action name='a' class='unimportant'/>"
+      + "    </event>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Action action = processDefinition.getAction("a");
-      assertSame(processDefinition, action.getProcessDefinition());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Action action = processDefinition.getAction("a");
+    assertSame(processDefinition, action.getProcessDefinition());
   }
-  
-  public void testProcessDefinitionActionMap() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <action name='a' class='unimportant'/>" +
-      "  <action name='b' class='unimportant'/>" +
-      "  <action name='c' class='unimportant'/>" +
-      "  <action name='d' class='unimportant'/>" +
-      "</process-definition>");
 
+  public void testProcessDefinitionActionMap() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <action name='a' class='unimportant'/>"
+      + "  <action name='b' class='unimportant'/>"
+      + "  <action name='c' class='unimportant'/>"
+      + "  <action name='d' class='unimportant'/>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("a", processDefinition.getAction("a").getName());
-      assertEquals("b", processDefinition.getAction("b").getName());
-      assertEquals("c", processDefinition.getAction("c").getName());
-      assertEquals("d", processDefinition.getAction("d").getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertEquals("a", processDefinition.getAction("a").getName());
+    assertEquals("b", processDefinition.getAction("b").getName());
+    assertEquals("c", processDefinition.getAction("c").getName());
+    assertEquals("d", processDefinition.getAction("d").getName());
   }
 
-  public void testNodeEventCascading() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'>" +
-      "      <action name='a' class='unimportant'/>" +
-      "      <action name='b' class='unimportant'/>" +
-      "      <action name='c' class='unimportant'/>" +
-      "      <action name='d' class='unimportant'/>" +
-      "    </event>" +
-      "  </node>" +
-      "</process-definition>");
+  public void testNodeEventCascading() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'>"
+      + "      <action name='a' class='unimportant'/>"
+      + "      <action name='b' class='unimportant'/>"
+      + "      <action name='c' class='unimportant'/>"
+      + "      <action name='d' class='unimportant'/>"
+      + "    </event>"
+      + "  </node>"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      List actions = processDefinition.getNode("n").getEvent("node-enter").getActions();
-
-      assertEquals(processDefinition.getAction("a"), actions.get(0));
-      assertEquals(processDefinition.getAction("b"), actions.get(1));
-      assertEquals(processDefinition.getAction("c"), actions.get(2));
-      assertEquals(processDefinition.getAction("d"), actions.get(3));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    List actions = processDefinition.getNode("n").getEvent("node-enter").getActions();
+    assertEquals(processDefinition.getAction("a"), actions.get(0));
+    assertEquals(processDefinition.getAction("b"), actions.get(1));
+    assertEquals(processDefinition.getAction("c"), actions.get(2));
+    assertEquals(processDefinition.getAction("d"), actions.get(3));
   }
 
-  public void testTransitionEventCascading() 
-  {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition name='t' to='n'>" +
-      "      <action name='a' class='unimportant'/>" +
-      "      <action name='b' class='unimportant'/>" +
-      "      <action name='c' class='unimportant'/>" +
-      "      <action name='d' class='unimportant'/>" +
-      "    </transition>" +
-      "  </node>" +
-      "</process-definition>");
+  public void testTransitionEventCascading() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition name='t' to='n'>"
+      + "      <action name='a' class='unimportant'/>"
+      + "      <action name='b' class='unimportant'/>"
+      + "      <action name='c' class='unimportant'/>"
+      + "      <action name='d' class='unimportant'/>"
+      + "    </transition>"
+      + "  </node>"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      List actions = processDefinition.getNode("n").getLeavingTransition("t").getEvent("transition").getActions();
-
-      assertEquals(processDefinition.getAction("a"), actions.get(0));
-      assertEquals(processDefinition.getAction("b"), actions.get(1));
-      assertEquals(processDefinition.getAction("c"), actions.get(2));
-      assertEquals(processDefinition.getAction("d"), actions.get(3));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    List actions = processDefinition.getNode("n")
+      .getLeavingTransition("t")
+      .getEvent("transition")
+      .getActions();
+    assertEquals(processDefinition.getAction("a"), actions.get(0));
+    assertEquals(processDefinition.getAction("b"), actions.get(1));
+    assertEquals(processDefinition.getAction("c"), actions.get(2));
+    assertEquals(processDefinition.getAction("d"), actions.get(3));
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/DescriptionDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/DescriptionDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/DescriptionDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -6,81 +6,51 @@
 public class DescriptionDbTest extends AbstractDbTestCase {
 
   public void testProcessDefinitionDescription() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <description>haleluja</description>" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <description>haleluja</description>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("haleluja", processDefinition.getDescription());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertEquals("haleluja", processDefinition.getDescription());
   }
 
   public void testNodeDescription() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='a'>" +
-      "    <description>haleluja</description>" +
-      "  </node>" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='a'>"
+      + "    <description>haleluja</description>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("haleluja", processDefinition.getNode("a").getDescription());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertEquals("haleluja", processDefinition.getNode("a").getDescription());
   }
 
   public void testTransitionDescription() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='a'>" +
-      "    <transition name='self' to='a'>" +
-      "      <description>haleluja</description>" +
-      "    </transition>" +
-      "  </node>" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='a'>"
+      + "    <transition name='self' to='a'>"
+      + "      <description>haleluja</description>"
+      + "    </transition>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("haleluja", processDefinition.getNode("a").getLeavingTransition("self").getDescription());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertEquals("haleluja", processDefinition.getNode("a")
+      .getLeavingTransition("self")
+      .getDescription());
   }
 
   public void testTaskDescription() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task-node name='a'>" +
-      "    <task name='self'>" +
-      "      <description>haleluja</description>" +
-      "    </task>" +
-      "  </task-node>" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task-node name='a'>"
+      + "    <task name='self'>"
+      + "      <description>haleluja</description>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("a");
-      assertEquals("haleluja", taskNode.getTask("self").getDescription());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("a");
+    assertEquals("haleluja", taskNode.getTask("self").getDescription());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/EventDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/EventDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/EventDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -21,118 +21,73 @@
  */
 package org.jbpm.graph.def;
 
-import java.util.Iterator;
+import java.util.List;
 
 import org.jbpm.db.AbstractDbTestCase;
 
 public class EventDbTest extends AbstractDbTestCase {
 
   public void testEventEventType() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <event type='process-start' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <event type='process-start' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("process-start", processDefinition.getEvent("process-start").getEventType());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    assertEquals("process-start", processDefinition.getEvent("process-start").getEventType());
   }
-  
-  public void testEventGraphElementProcessDefinition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <event type='process-start' />" +
-      "</process-definition>");
 
+  public void testEventGraphElementProcessDefinition() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <event type='process-start' />"
+      + "</process-definition>");
     assertSame(processDefinition, processDefinition.getEvent("process-start").getGraphElement());
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertSame(processDefinition, processDefinition.getEvent("process-start").getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    assertSame(processDefinition, processDefinition.getEvent("process-start").getGraphElement());
   }
-  
+
   public void testEventGraphElementNode() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <event type='node-enter'/>" +
-      "  </node>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <event type='node-enter'/>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertSame(processDefinition.getNode("n"), processDefinition.getNode("n").getEvent("node-enter").getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    assertSame(processDefinition.getNode("n"), processDefinition.getNode("n")
+      .getEvent("node-enter")
+      .getGraphElement());
   }
 
   public void testEventGraphElementTransition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition name='t' to='n'>" +
-      "      <action class='unimportant'/>" +
-      "    </transition>" +
-      "  </node>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition name='t' to='n'>"
+      + "      <action class='unimportant'/>"
+      + "    </transition>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Transition t = processDefinition.getNode("n").getLeavingTransition("t");
-      assertSame(t, t.getEvent("transition").getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Transition t = processDefinition.getNode("n").getLeavingTransition("t");
+    assertSame(t, t.getEvent("transition").getGraphElement());
   }
 
   public void testEventActions() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <event type='process-start'>" +
-      "    <action class='a'/>" +
-      "    <action class='b'/>" +
-      "    <action class='c'/>" +
-      "    <action class='d'/>" +
-      "  </event>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <event type='process-start'>"
+      + "    <action class='a'/>"
+      + "    <action class='b'/>"
+      + "    <action class='c'/>"
+      + "    <action class='d'/>"
+      + "  </event>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Iterator iter = processDefinition.getEvent("process-start").getActions().iterator();
-      assertEquals("a", ((Action)iter.next()).getActionDelegation().getClassName());
-      assertEquals("b", ((Action)iter.next()).getActionDelegation().getClassName());
-      assertEquals("c", ((Action)iter.next()).getActionDelegation().getClassName());
-      assertEquals("d", ((Action)iter.next()).getActionDelegation().getClassName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    List actions = processDefinition.getEvent("process-start").getActions();
+    assertEquals("a", ((Action) actions.get(0)).getActionDelegation().getClassName());
+    assertEquals("b", ((Action) actions.get(1)).getActionDelegation().getClassName());
+    assertEquals("c", ((Action) actions.get(2)).getActionDelegation().getClassName());
+    assertEquals("d", ((Action) actions.get(3)).getActionDelegation().getClassName());
   }
-
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ExceptionHandlerDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ExceptionHandlerDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ExceptionHandlerDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -28,110 +28,74 @@
 public class ExceptionHandlerDbTest extends AbstractDbTestCase {
 
   public void testExceptionClassName() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <exception-handler exception-class='org.coincidence.FatalAttractionException' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <exception-handler exception-class='org.coincidence.FatalAttractionException' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ExceptionHandler exceptionHandler = (ExceptionHandler) processDefinition.getExceptionHandlers().get(0);
-      assertNotNull(exceptionHandler);
-      assertEquals("org.coincidence.FatalAttractionException", exceptionHandler.getExceptionClassName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ExceptionHandler exceptionHandler = (ExceptionHandler) processDefinition.getExceptionHandlers()
+      .get(0);
+    assertNotNull(exceptionHandler);
+    assertEquals("org.coincidence.FatalAttractionException", exceptionHandler.getExceptionClassName());
   }
 
   public void testExceptionHandlerProcessDefinition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <exception-handler exception-class='org.coincidence.FatalAttractionException' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <exception-handler exception-class='org.coincidence.FatalAttractionException' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ExceptionHandler exceptionHandler = (ExceptionHandler) processDefinition.getExceptionHandlers().get(0);
-      assertSame(processDefinition, exceptionHandler.getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ExceptionHandler exceptionHandler = (ExceptionHandler) processDefinition.getExceptionHandlers()
+      .get(0);
+    assertSame(processDefinition, exceptionHandler.getGraphElement());
   }
 
   public void testExceptionHandlerNode() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='a'>" +
-      "    <exception-handler exception-class='org.coincidence.FatalAttractionException' />" +
-      "  </node>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='a'>"
+      + "    <exception-handler exception-class='org.coincidence.FatalAttractionException' />"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node node = processDefinition.getNode("a");
-      ExceptionHandler exceptionHandler = (ExceptionHandler) node.getExceptionHandlers().get(0);
-      assertSame(node, exceptionHandler.getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Node node = processDefinition.getNode("a");
+    ExceptionHandler exceptionHandler = (ExceptionHandler) node.getExceptionHandlers().get(0);
+    assertSame(node, exceptionHandler.getGraphElement());
   }
 
   public void testExceptionHandlerTransition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='a'>" +
-      "    <transition name='self' to='a'>" +
-      "      <exception-handler exception-class='org.coincidence.FatalAttractionException' />" +
-      "    </transition>" +
-      "  </node>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='a'>"
+      + "    <transition name='self' to='a'>"
+      + "      <exception-handler exception-class='org.coincidence.FatalAttractionException' />"
+      + "    </transition>"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Transition transition = processDefinition.getNode("a").getLeavingTransition("self");
-      ExceptionHandler exceptionHandler = (ExceptionHandler) transition.getExceptionHandlers().get(0);
-      assertSame(transition, exceptionHandler.getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Transition transition = processDefinition.getNode("a").getLeavingTransition("self");
+    ExceptionHandler exceptionHandler = (ExceptionHandler) transition.getExceptionHandlers()
+      .get(0);
+    assertSame(transition, exceptionHandler.getGraphElement());
   }
 
   public void testExceptionHandlerActions() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <exception-handler exception-class='org.coincidence.FatalAttractionException'>" +
-      "    <action class='one' />" +
-      "    <action class='two' />" +
-      "    <action class='three' />" +
-      "    <action class='four' />" +
-      "  </exception-handler>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <exception-handler exception-class='org.coincidence.FatalAttractionException'>"
+      + "    <action class='one' />"
+      + "    <action class='two' />"
+      + "    <action class='three' />"
+      + "    <action class='four' />"
+      + "  </exception-handler>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ExceptionHandler exceptionHandler = (ExceptionHandler) processDefinition.getExceptionHandlers().get(0);
-      List actions = exceptionHandler.getActions();
-      assertEquals("one", ((Action)actions.get(0)).getActionDelegation().getClassName());
-      assertEquals("two", ((Action)actions.get(1)).getActionDelegation().getClassName());
-      assertEquals("three", ((Action)actions.get(2)).getActionDelegation().getClassName());
-      assertEquals("four", ((Action)actions.get(3)).getActionDelegation().getClassName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ExceptionHandler exceptionHandler = (ExceptionHandler) processDefinition.getExceptionHandlers()
+      .get(0);
+    List actions = exceptionHandler.getActions();
+    assertEquals("one", ((Action) actions.get(0)).getActionDelegation().getClassName());
+    assertEquals("two", ((Action) actions.get(1)).getActionDelegation().getClassName());
+    assertEquals("three", ((Action) actions.get(2)).getActionDelegation().getClassName());
+    assertEquals("four", ((Action) actions.get(3)).getActionDelegation().getClassName());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ProcessDefinitionDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ProcessDefinitionDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/ProcessDefinitionDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -27,69 +27,41 @@
 import org.jbpm.graph.node.StartState;
 import org.jbpm.taskmgmt.def.TaskMgmtDefinition;
 
-public class ProcessDefinitionDbTest extends AbstractDbTestCase
-{
+public class ProcessDefinitionDbTest extends AbstractDbTestCase {
 
-  public void testProcessDefinitionVersion()
-  {
+  public void testProcessDefinitionVersion() {
     ProcessDefinition processDefinition = new ProcessDefinition("name");
     processDefinition.setVersion(3);
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertNotNull(processDefinition);
-      assertEquals(3, processDefinition.getVersion());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertNotNull(processDefinition);
+    assertEquals(3, processDefinition.getVersion());
   }
 
-  public void testProcessDefinitionIsTerminationImplicit()
-  {
+  public void testProcessDefinitionIsTerminationImplicit() {
     ProcessDefinition processDefinition = new ProcessDefinition("name");
     processDefinition.setTerminationImplicit(false);
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertNotNull(processDefinition);
-      assertFalse(processDefinition.isTerminationImplicit());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertNotNull(processDefinition);
+    assertFalse(processDefinition.isTerminationImplicit());
   }
 
-  public void testProcessDefinitionStartState()
-  {
+  public void testProcessDefinitionStartState() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     processDefinition.setStartState(new StartState());
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      // the start state of a process definition is mapped as a node.
-      // therefor the hibernate proxy will be a node
-      Node startState = processDefinition.getStartState();
-      assertTrue(Node.class.isAssignableFrom(startState.getClass()));
-      // reloading gives a better typed proxy
-      assertTrue(StartState.class.isAssignableFrom(session.load(StartState.class, new Long(startState.getId())).getClass()));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    // the start state of a process definition is mapped as a node.
+    // therefor the hibernate proxy will be a node
+    Node startState = processDefinition.getStartState();
+    assertTrue(Node.class.isAssignableFrom(startState.getClass()));
+    // reloading gives a better typed proxy
+    assertTrue(StartState.class.isAssignableFrom(session.load(StartState.class, new Long(
+      startState.getId())).getClass()));
   }
 
-  public void testProcessDefinitionNodes()
-  {
+  public void testProcessDefinitionNodes() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     processDefinition.setStartState(new StartState("s"));
     processDefinition.addNode(new Node("a"));
@@ -98,24 +70,15 @@
     processDefinition.addNode(new Node("d"));
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("s", processDefinition.getStartState().getName());
-      assertEquals("s", ((Node)processDefinition.getNodes().get(0)).getName());
-      assertEquals("a", ((Node)processDefinition.getNodes().get(1)).getName());
-      assertEquals("b", ((Node)processDefinition.getNodes().get(2)).getName());
-      assertEquals("c", ((Node)processDefinition.getNodes().get(3)).getName());
-      assertEquals("d", ((Node)processDefinition.getNodes().get(4)).getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertEquals("s", processDefinition.getStartState().getName());
+    assertEquals("s", ((Node) processDefinition.getNodes().get(0)).getName());
+    assertEquals("a", ((Node) processDefinition.getNodes().get(1)).getName());
+    assertEquals("b", ((Node) processDefinition.getNodes().get(2)).getName());
+    assertEquals("c", ((Node) processDefinition.getNodes().get(3)).getName());
+    assertEquals("d", ((Node) processDefinition.getNodes().get(4)).getName());
   }
 
-  public void testActions()
-  {
+  public void testActions() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     Action action = new Action();
     action.setName("a");
@@ -125,23 +88,14 @@
     processDefinition.addAction(action);
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals(2, processDefinition.getActions().size());
-      assertNotNull(processDefinition.getActions().get("a"));
-      assertNotNull(processDefinition.getActions().get("b"));
-      assertTrue(Action.class.isAssignableFrom(processDefinition.getAction("a").getClass()));
-      assertTrue(Action.class.isAssignableFrom(processDefinition.getAction("b").getClass()));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertEquals(2, processDefinition.getActions().size());
+    assertNotNull(processDefinition.getActions().get("a"));
+    assertNotNull(processDefinition.getActions().get("b"));
+    assertTrue(Action.class.isAssignableFrom(processDefinition.getAction("a").getClass()));
+    assertTrue(Action.class.isAssignableFrom(processDefinition.getAction("b").getClass()));
   }
 
-  public void testEvents()
-  {
+  public void testEvents() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     processDefinition.addEvent(new Event("node-enter"));
     processDefinition.addEvent(new Event("node-leave"));
@@ -150,23 +104,14 @@
     processDefinition.addEvent(new Event("process-end"));
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertNotNull(processDefinition.getEvent("node-enter"));
-      assertNotNull(processDefinition.getEvent("node-leave"));
-      assertNotNull(processDefinition.getEvent("transition"));
-      assertNotNull(processDefinition.getEvent("process-start"));
-      assertNotNull(processDefinition.getEvent("process-end"));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertNotNull(processDefinition.getEvent("node-enter"));
+    assertNotNull(processDefinition.getEvent("node-leave"));
+    assertNotNull(processDefinition.getEvent("transition"));
+    assertNotNull(processDefinition.getEvent("process-start"));
+    assertNotNull(processDefinition.getEvent("process-end"));
   }
 
-  public void testExceptionHandlers()
-  {
+  public void testExceptionHandlers() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     ExceptionHandler exceptionHandler = new ExceptionHandler();
     exceptionHandler.setExceptionClassName("org.disaster.FirstException");
@@ -179,71 +124,38 @@
     processDefinition.addExceptionHandler(exceptionHandler);
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertEquals("org.disaster.FirstException", ((ExceptionHandler)processDefinition.getExceptionHandlers().get(0)).getExceptionClassName());
-      assertEquals("org.disaster.SecondException", ((ExceptionHandler)processDefinition.getExceptionHandlers().get(1)).getExceptionClassName());
-      assertEquals("org.disaster.ThirdException", ((ExceptionHandler)processDefinition.getExceptionHandlers().get(2)).getExceptionClassName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertEquals("org.disaster.FirstException", ((ExceptionHandler) processDefinition.getExceptionHandlers()
+      .get(0)).getExceptionClassName());
+    assertEquals("org.disaster.SecondException", ((ExceptionHandler) processDefinition.getExceptionHandlers()
+      .get(1)).getExceptionClassName());
+    assertEquals("org.disaster.ThirdException", ((ExceptionHandler) processDefinition.getExceptionHandlers()
+      .get(2)).getExceptionClassName());
   }
 
-  public void testContextModuleDefinition()
-  {
+  public void testContextModuleDefinition() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     processDefinition.addDefinition(new ContextDefinition());
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      newTransaction();
-      processDefinition = graphSession.loadProcessDefinition(processDefinition.getId());
-      assertNotNull(processDefinition.getContextDefinition());
-      assertTrue(ContextDefinition.class.isAssignableFrom(processDefinition.getContextDefinition().getClass()));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+
+    processDefinition = saveAndReload(processDefinition);
+    assertNotNull(processDefinition.getContextDefinition());
+    assertSame(ContextDefinition.class, processDefinition.getContextDefinition().getClass());
   }
 
-  public void testFileDefinition()
-  {
+  public void testFileDefinition() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     processDefinition.addDefinition(new FileDefinition());
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertNotNull(processDefinition.getFileDefinition());
-      assertTrue(FileDefinition.class.isAssignableFrom(processDefinition.getFileDefinition().getClass()));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertNotNull(processDefinition.getFileDefinition());
+    assertSame(FileDefinition.class, processDefinition.getFileDefinition().getClass());
   }
 
-  public void testTaskMgmtDefinition()
-  {
+  public void testTaskMgmtDefinition() {
     ProcessDefinition processDefinition = new ProcessDefinition();
     processDefinition.addDefinition(new TaskMgmtDefinition());
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      assertNotNull(processDefinition.getTaskMgmtDefinition());
-      assertTrue(TaskMgmtDefinition.class.isAssignableFrom(processDefinition.getTaskMgmtDefinition().getClass()));
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    assertNotNull(processDefinition.getTaskMgmtDefinition());
+    assertSame(TaskMgmtDefinition.class, processDefinition.getTaskMgmtDefinition().getClass());
   }
-
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/SuperStateDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/SuperStateDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/SuperStateDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -10,67 +10,45 @@
 public class SuperStateDbTest extends AbstractDbTestCase {
 
   public void testGetNodesWithSuperState() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition name='processwithsuperstates'>" +
-      "  <node name='phase zero'/>" +
-      "  <super-state name='phase one'>" +
-      "    <node name='ignition' />" +
-      "    <node name='explosion' />" +
-      "    <super-state name='cleanup'>" +
-      "      <node name='take brush' />" +
-      "      <node name='sweep floor' />" +
-      "      <node name='blow dry' />" +
-      "    </super-state>" +
-      "    <node name='repare' />" +
-      "  </super-state>" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='phase zero'/>"
+      + "  <super-state name='phase one'>"
+      + "    <node name='ignition' />"
+      + "    <node name='explosion' />"
+      + "    <super-state name='cleanup'>"
+      + "      <node name='take brush' />"
+      + "      <node name='sweep floor' />"
+      + "      <node name='blow dry' />"
+      + "    </super-state>"
+      + "    <node name='repare' />"
+      + "  </super-state>"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Set expectedNodeNames = new HashSet();
-      expectedNodeNames.add("phase zero");
-      expectedNodeNames.add("phase one");
-      
-      Set nodeNames = getNodeNames(processDefinition.getNodes());
-      
-      assertEquals(expectedNodeNames, nodeNames);
-      
-      SuperState phaseOne = (SuperState) processDefinition.getNode("phase one");
-      
-      expectedNodeNames = new HashSet();
-      expectedNodeNames.add("ignition");
-      expectedNodeNames.add("explosion");
-      expectedNodeNames.add("cleanup");
-      expectedNodeNames.add("repare");
-      
-      nodeNames = getNodeNames(phaseOne.getNodes());
+    Set expectedNodeNames = new HashSet();
+    expectedNodeNames.add("phase zero");
+    expectedNodeNames.add("phase one");
+    assertEquals(expectedNodeNames, getNodeNames(processDefinition.getNodes()));
 
-      assertEquals(expectedNodeNames, nodeNames);
+    SuperState phaseOne = (SuperState) processDefinition.getNode("phase one");
+    expectedNodeNames.clear();
+    expectedNodeNames.add("ignition");
+    expectedNodeNames.add("explosion");
+    expectedNodeNames.add("cleanup");
+    expectedNodeNames.add("repare");
+    assertEquals(expectedNodeNames, getNodeNames(phaseOne.getNodes()));
 
-      SuperState cleanup = (SuperState) phaseOne.getNode("cleanup");
-
-      expectedNodeNames = new HashSet();
-      expectedNodeNames.add("take brush");
-      expectedNodeNames.add("sweep floor");
-      expectedNodeNames.add("blow dry");
-      
-      nodeNames = getNodeNames(cleanup.getNodes());
-
-      assertEquals(expectedNodeNames, nodeNames);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-    
+    SuperState cleanup = (SuperState) phaseOne.getNode("cleanup");
+    expectedNodeNames.clear();
+    expectedNodeNames.add("take brush");
+    expectedNodeNames.add("sweep floor");
+    expectedNodeNames.add("blow dry");
+    assertEquals(expectedNodeNames, getNodeNames(cleanup.getNodes()));
   }
 
-  private Set getNodeNames(List nodes) {
+  private static Set getNodeNames(List nodes) {
     Set nodeNames = new HashSet();
-    Iterator iter = nodes.iterator();
-    while (iter.hasNext()) {
+    for (Iterator iter = nodes.iterator(); iter.hasNext();) {
       Node node = (Node) iter.next();
       nodeNames.add(node.getName());
     }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/TransitionDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/TransitionDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/def/TransitionDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -26,181 +26,127 @@
 public class TransitionDbTest extends AbstractDbTestCase {
 
   public void testTranisitionName() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition name='t' to='n' />" +
-      "  </node>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition name='t' to='n' />"
+      + "  </node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node n = processDefinition.getNode("n");
-      Transition t = (Transition) n.getLeavingTransitionsList().get(0);
-      assertEquals("t", t.getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Node n = processDefinition.getNode("n");
+    Transition t = (Transition) n.getLeavingTransitionsList().get(0);
+    assertEquals("t", t.getName());
   }
 
   public void testTranisitionFrom() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition name='t' to='m' />" +
-      "  </node>" +
-      "  <node name='m' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition name='t' to='m' />"
+      + "  </node>"
+      + "  <node name='m' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node n = processDefinition.getNode("n");
-      Transition t = (Transition) n.getLeavingTransitionsList().get(0);
-      assertSame(n, t.getFrom());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Node n = processDefinition.getNode("n");
+    Transition t = (Transition) n.getLeavingTransitionsList().get(0);
+    assertSame(n, t.getFrom());
   }
 
   public void testTranisitionTo() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition name='t' to='m' />" +
-      "  </node>" +
-      "  <node name='m' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition name='t' to='m' />"
+      + "  </node>"
+      + "  <node name='m' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node n = processDefinition.getNode("n");
-      Node m = processDefinition.getNode("m");
-      Transition t = (Transition) n.getLeavingTransitionsList().get(0);
-      assertSame(m, t.getTo());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Node n = processDefinition.getNode("n");
+    Node m = processDefinition.getNode("m");
+    Transition t = (Transition) n.getLeavingTransitionsList().get(0);
+    assertSame(m, t.getTo());
   }
 
   public void testUnnamedTransition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition to='m' />" +
-      "  </node>" +
-      "  <node name='m' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition to='m' />"
+      + "  </node>"
+      + "  <node name='m' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node n = processDefinition.getNode("n");
-      Node m = processDefinition.getNode("m");
-      
-      Transition t = n.getDefaultLeavingTransition();
-      assertNotNull(t);
-      assertEquals(n, t.getFrom());
-      assertEquals(m, t.getTo());
-      assertEquals(1, n.getLeavingTransitionsList().size());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Node n = processDefinition.getNode("n");
+    Node m = processDefinition.getNode("m");
+
+    Transition t = n.getDefaultLeavingTransition();
+    assertNotNull(t);
+    assertEquals(n, t.getFrom());
+    assertEquals(m, t.getTo());
+    assertEquals(1, n.getLeavingTransitionsList().size());
   }
 
   public void testTwoUnnamedTransitions() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition to='m' />" +
-      "    <transition to='o' />" +
-      "  </node>" +
-      "  <node name='m' />" +
-      "  <node name='o' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition to='m' />"
+      + "    <transition to='o' />"
+      + "  </node>"
+      + "  <node name='m' />"
+      + "  <node name='o' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node n = processDefinition.getNode("n");
-      Node m = processDefinition.getNode("m");
-      
-      Transition t = n.getDefaultLeavingTransition();
-      assertNotNull(t);
-      assertEquals(n, t.getFrom());
-      assertEquals(m, t.getTo());
-      assertEquals(2, n.getLeavingTransitionsList().size());
+    Node n = processDefinition.getNode("n");
+    Node m = processDefinition.getNode("m");
 
-      assertEquals(1, n.getLeavingTransitionsMap().size());
-      t = n.getLeavingTransition(null);
-      assertNotNull(t);
-      assertEquals(n, t.getFrom());
-      assertEquals(m, t.getTo());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Transition t = n.getDefaultLeavingTransition();
+    assertNotNull(t);
+    assertEquals(n, t.getFrom());
+    assertEquals(m, t.getTo());
+    assertEquals(2, n.getLeavingTransitionsList().size());
+
+    assertEquals(1, n.getLeavingTransitionsMap().size());
+    t = n.getLeavingTransition(null);
+    assertNotNull(t);
+    assertEquals(n, t.getFrom());
+    assertEquals(m, t.getTo());
   }
 
   public void testThreeSameNameTransitions() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <node name='n'>" +
-      "    <transition name='t' to='m' />" +
-      "    <transition name='t' to='o' />" +
-      "    <transition name='t2' to='p' />" +
-      "  </node>" +
-      "  <node name='m' />" +
-      "  <node name='o' />" +
-      "  <node name='p' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <node name='n'>"
+      + "    <transition name='t' to='m' />"
+      + "    <transition name='t' to='o' />"
+      + "    <transition name='t2' to='p' />"
+      + "  </node>"
+      + "  <node name='m' />"
+      + "  <node name='o' />"
+      + "  <node name='p' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node n = processDefinition.getNode("n");
-      Node m = processDefinition.getNode("m");
-      Node p = processDefinition.getNode("p");
-      
-      Transition t = n.getDefaultLeavingTransition();
-      assertNotNull(t);
-      assertEquals("t", t.getName());
-      assertEquals(n, t.getFrom());
-      assertEquals(m, t.getTo());
-      assertEquals(3, n.getLeavingTransitionsList().size());
+    Node n = processDefinition.getNode("n");
+    Node m = processDefinition.getNode("m");
+    Node p = processDefinition.getNode("p");
 
-      assertEquals(2, n.getLeavingTransitionsMap().size());
-      t = n.getLeavingTransition("t");
-      assertNotNull(t);
-      assertEquals("t", t.getName());
-      assertEquals(n, t.getFrom());
-      assertEquals(m, t.getTo());
-      t = n.getLeavingTransition("t2");
-      assertNotNull(t);
-      assertEquals("t2", t.getName());
-      assertEquals(n, t.getFrom());
-      assertEquals(p, t.getTo());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Transition t = n.getDefaultLeavingTransition();
+    assertNotNull(t);
+    assertEquals("t", t.getName());
+    assertEquals(n, t.getFrom());
+    assertEquals(m, t.getTo());
+    assertEquals(3, n.getLeavingTransitionsList().size());
+
+    assertEquals(2, n.getLeavingTransitionsMap().size());
+    t = n.getLeavingTransition("t");
+    assertNotNull(t);
+    assertEquals("t", t.getName());
+    assertEquals(n, t.getFrom());
+    assertEquals(m, t.getTo());
+    t = n.getLeavingTransition("t2");
+    assertNotNull(t);
+    assertEquals("t2", t.getName());
+    assertEquals(n, t.getFrom());
+    assertEquals(p, t.getTo());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/CommentDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/CommentDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/CommentDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -31,57 +31,44 @@
 import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
 
 public class CommentDbTest extends AbstractDbTestCase {
-  
-  public void testComments()
-  {
-    ProcessDefinition processDefinition = new ProcessDefinition();
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = null;
-      jbpmContext.setActorId("miketyson");
-      try
-      {
-        processInstance = new ProcessInstance(processDefinition);
-        Token token = processInstance.getRootToken();
-        token.addComment("first");
-        token.addComment("second");
-        token.addComment("third");
 
-        processInstance = saveAndReload(processInstance);
-      }
-      finally
-      {
-        jbpmContext.setActorId(null);
-      }
+  public void testComments() {
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
 
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    jbpmContext.setActorId("miketyson");
+    try {
       Token token = processInstance.getRootToken();
-      List comments = token.getComments();
+      token.addComment("first");
+      token.addComment("second");
+      token.addComment("third");
+    }
+    finally {
+      jbpmContext.setActorId(null);
+    }
 
-      assertNotNull(comments);
-      assertEquals(3, comments.size());
+    processInstance = saveAndReload(processInstance);
+    Token token = processInstance.getRootToken();
+    List comments = token.getComments();
 
-      assertEquals("miketyson", ((Comment)comments.get(0)).getActorId());
-      assertNotNull(((Comment)comments.get(0)).getTime());
-      assertEquals("first", ((Comment)comments.get(0)).getMessage());
+    assertNotNull(comments);
+    assertEquals(3, comments.size());
 
-      assertEquals("miketyson", ((Comment)comments.get(1)).getActorId());
-      assertNotNull(((Comment)comments.get(1)).getTime());
-      assertEquals("second", ((Comment)comments.get(1)).getMessage());
+    assertEquals("miketyson", ((Comment) comments.get(0)).getActorId());
+    assertNotNull(((Comment) comments.get(0)).getTime());
+    assertEquals("first", ((Comment) comments.get(0)).getMessage());
 
-      assertEquals("miketyson", ((Comment)comments.get(2)).getActorId());
-      assertNotNull(((Comment)comments.get(2)).getTime());
-      assertEquals("third", ((Comment)comments.get(2)).getMessage());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-    
+    assertEquals("miketyson", ((Comment) comments.get(1)).getActorId());
+    assertNotNull(((Comment) comments.get(1)).getTime());
+    assertEquals("second", ((Comment) comments.get(1)).getMessage());
+
+    assertEquals("miketyson", ((Comment) comments.get(2)).getActorId());
+    assertNotNull(((Comment) comments.get(2)).getTime());
+    assertEquals("third", ((Comment) comments.get(2)).getMessage());
   }
-  
-  public void testCommentsOnDifferentTokens()
-  {
+
+  public void testCommentsOnDifferentTokens() {
     Token tokenOne = new Token();
     tokenOne.addComment("one");
     tokenOne.addComment("two");
@@ -97,27 +84,25 @@
     long secondTokenId = tokenTwo.getId();
 
     newTransaction();
-
-    tokenOne = (Token)session.load(Token.class, new Long(firstTokenId));
+    tokenOne = (Token) session.load(Token.class, new Long(firstTokenId));
     List comments = tokenOne.getComments();
     assertEquals(3, comments.size());
-    assertEquals("one", ((Comment)comments.get(0)).getMessage());
-    assertEquals("two", ((Comment)comments.get(1)).getMessage());
-    assertEquals("three", ((Comment)comments.get(2)).getMessage());
+    assertEquals("one", ((Comment) comments.get(0)).getMessage());
+    assertEquals("two", ((Comment) comments.get(1)).getMessage());
+    assertEquals("three", ((Comment) comments.get(2)).getMessage());
 
-    tokenTwo = (Token)session.load(Token.class, new Long(secondTokenId));
+    tokenTwo = (Token) session.load(Token.class, new Long(secondTokenId));
     comments = tokenTwo.getComments();
     assertEquals(3, comments.size());
-    assertEquals("first", ((Comment)comments.get(0)).getMessage());
-    assertEquals("second", ((Comment)comments.get(1)).getMessage());
-    assertEquals("third", ((Comment)comments.get(2)).getMessage());
-    
+    assertEquals("first", ((Comment) comments.get(0)).getMessage());
+    assertEquals("second", ((Comment) comments.get(1)).getMessage());
+    assertEquals("third", ((Comment) comments.get(2)).getMessage());
+
     session.delete(tokenOne);
     session.delete(tokenTwo);
   }
-  
-  public void testTaskInstanceComment()
-  {
+
+  public void testTaskInstanceComment() {
     TaskInstance taskInstance = new TaskInstance();
     taskInstance.addComment("one");
     taskInstance.addComment("two");
@@ -125,97 +110,84 @@
     session.save(taskInstance);
 
     newTransaction();
-
-    taskInstance = (TaskInstance)session.load(TaskInstance.class, new Long(taskInstance.getId()));
+    taskInstance = (TaskInstance) session.load(TaskInstance.class, new Long(
+      taskInstance.getId()));
     List comments = taskInstance.getComments();
     assertEquals(3, comments.size());
 
-    Comment comment = (Comment)comments.get(0);
+    Comment comment = (Comment) comments.get(0);
     assertEquals("one", comment.getMessage());
     assertSame(taskInstance, comment.getTaskInstance());
 
-    assertEquals("two", ((Comment)comments.get(1)).getMessage());
-    assertEquals("three", ((Comment)comments.get(2)).getMessage());
+    assertEquals("two", ((Comment) comments.get(1)).getMessage());
+    assertEquals("three", ((Comment) comments.get(2)).getMessage());
 
     session.delete(taskInstance);
   }
 
   public void testCommentToTokenAndTaskInstance() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <start-state>" +
-      "    <transition to='a' />" +
-      "  </start-state>" +
-      "  <task-node name='a'>" +
-      "    <task name='clean ceiling' />" +
-      "  </task-node>" +
-      "</process-definition>"
-    );
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      
-      processInstance = saveAndReload(processInstance);
-      
-      TaskMgmtInstance tmi = processInstance.getTaskMgmtInstance();
-      TaskInstance taskInstance = (TaskInstance) tmi.getTaskInstances().iterator().next();
-      taskInstance.addComment("one");
-      taskInstance.addComment("two");
-      taskInstance.addComment("three");
-      
-      processInstance = saveAndReload(processInstance);
-      Token rootToken = processInstance.getRootToken();
-      
-      taskInstance = (TaskInstance) processInstance.getTaskMgmtInstance().getTaskInstances().iterator().next();
-      assertEquals(3, taskInstance.getComments().size());
-      assertEquals(3, rootToken.getComments().size());
-      
-      ArrayList tokenComments = new ArrayList(rootToken.getComments());
-      ArrayList taskComments = new ArrayList(taskInstance.getComments());
-      assertEquals(tokenComments, taskComments);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+
+    processInstance = saveAndReload(processInstance);
+
+    TaskMgmtInstance tmi = processInstance.getTaskMgmtInstance();
+    TaskInstance taskInstance = (TaskInstance) tmi.getTaskInstances().iterator().next();
+    taskInstance.addComment("one");
+    taskInstance.addComment("two");
+    taskInstance.addComment("three");
+
+    processInstance = saveAndReload(processInstance);
+    Token rootToken = processInstance.getRootToken();
+
+    taskInstance = (TaskInstance) processInstance.getTaskMgmtInstance()
+      .getTaskInstances()
+      .iterator()
+      .next();
+    assertEquals(3, taskInstance.getComments().size());
+    assertEquals(3, rootToken.getComments().size());
+
+    ArrayList tokenComments = new ArrayList(rootToken.getComments());
+    ArrayList taskComments = new ArrayList(taskInstance.getComments());
+    assertEquals(tokenComments, taskComments);
   }
-  
+
   public void testTaskCommentAndLoadProcessInstance() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <start-state>" +
-      "    <transition to='a' />" +
-      "  </start-state>" +
-      "  <task-node name='a'>" +
-      "    <task name='clean ceiling' />" +
-      "    <transition to='end' />" +
-      "  </task-node>" +
-      "  <end-state name='end' />" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling' />"
+      + "    <transition to='end' />"
+      + "  </task-node>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      Collection unfinishedTasks = processInstance.getTaskMgmtInstance().getUnfinishedTasks(processInstance.getRootToken());
-      TaskInstance taskInstance = (TaskInstance) unfinishedTasks.iterator().next();
-      taskInstance.addComment("please hurry!");
-      
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    Collection unfinishedTasks = processInstance.getTaskMgmtInstance()
+      .getUnfinishedTasks(processInstance.getRootToken());
+    TaskInstance taskInstance = (TaskInstance) unfinishedTasks.iterator().next();
+    taskInstance.addComment("please hurry!");
 
-      taskMgmtSession.loadTaskInstance(taskInstance.getId());
-      graphSession.deleteProcessInstance(processInstance.getId());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-    
+    processInstance = saveAndReload(processInstance);
+    taskMgmtSession.loadTaskInstance(taskInstance.getId());
+    graphSession.deleteProcessInstance(processInstance.getId());
   }
-  
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/ProcessInstanceDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/ProcessInstanceDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/ProcessInstanceDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -29,56 +29,43 @@
 public class ProcessInstanceDbTest extends AbstractDbTestCase {
 
   public void testProcessInstanceProcessDefinition() {
-    ProcessDefinition processDefinition = new ProcessDefinition("definition");
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
 
-      assertNotNull(processInstance);
-      processDefinition = processInstance.getProcessDefinition();
-      assertEquals("definition", processDefinition.getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    processDefinition = processInstance.getProcessDefinition();
+    assertEquals(getName(), processDefinition.getName());
   }
 
   public void testProcessInstanceDates() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
       + "  <start-state>"
       + "    <transition to='end' />"
       + "  </start-state>"
       + "  <end-state name='end'/>"
       + "</process-definition>");
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      assertNotNull(processInstance.getStart());
-      assertNotNull(processInstance.getEnd());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    assertNotNull(processInstance.getStart());
+    assertNotNull(processInstance.getEnd());
   }
 
   public void testProcessInstanceRootToken() {
-    ProcessDefinition processDefinition = new ProcessDefinition();
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      assertNotNull(processInstance.getRootToken());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+
+    processInstance = saveAndReload(processInstance);
+    assertNotNull(processInstance.getRootToken());
   }
 
   public void testProcessInstanceSuperProcessToken() {

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/RuntimeActionDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/RuntimeActionDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/RuntimeActionDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -29,81 +29,63 @@
 public class RuntimeActionDbTest extends AbstractDbTestCase {
 
   public void testRuntimeActionEvent() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <event type='process-start' />" +
-      "  <action name='gotocheetahs' class='com.secret.LetsDoItSneeky'/>" +
-      "</process-definition>" );
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      Event event = processInstance.getProcessDefinition().getEvent("process-start");
-      Action action = processInstance.getProcessDefinition().getAction("gotocheetahs");
-      processInstance.addRuntimeAction(new RuntimeAction(event, action));
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <event type='process-start' />"
+      + "  <action name='gotocheetahs' class='com.secret.LetsDoItSneeky'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    Event event = processInstance.getProcessDefinition().getEvent("process-start");
+    Action action = processInstance.getProcessDefinition().getAction("gotocheetahs");
+    processInstance.addRuntimeAction(new RuntimeAction(event, action));
 
-      RuntimeAction runtimeAction = (RuntimeAction) processInstance.getRuntimeActions().get(0);
-      event = processInstance.getProcessDefinition().getEvent("process-start");
-      assertEquals(event.getGraphElement(), runtimeAction.getGraphElement());
-      assertEquals(event.getEventType(), runtimeAction.getEventType());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    RuntimeAction runtimeAction = (RuntimeAction) processInstance.getRuntimeActions().get(0);
+    event = processInstance.getProcessDefinition().getEvent("process-start");
+    assertEquals(event.getGraphElement(), runtimeAction.getGraphElement());
+    assertEquals(event.getEventType(), runtimeAction.getEventType());
   }
 
   public void testRuntimeActionAction() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <event type='process-start' />" +
-      "  <action name='gotocheetahs' class='com.secret.LetsDoItSneeky'/>" +
-      "</process-definition>" );
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      Event event = processInstance.getProcessDefinition().getEvent("process-start");
-      Action action = processInstance.getProcessDefinition().getAction("gotocheetahs");
-      processInstance.addRuntimeAction(new RuntimeAction(event, action));
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <event type='process-start' />"
+      + "  <action name='gotocheetahs' class='com.secret.LetsDoItSneeky'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    Event event = processInstance.getProcessDefinition().getEvent("process-start");
+    Action action = processInstance.getProcessDefinition().getAction("gotocheetahs");
+    processInstance.addRuntimeAction(new RuntimeAction(event, action));
 
-      RuntimeAction runtimeAction = (RuntimeAction) processInstance.getRuntimeActions().get(0);
-      action = processInstance.getProcessDefinition().getAction("gotocheetahs");
-      assertSame(action, runtimeAction.getAction());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    RuntimeAction runtimeAction = (RuntimeAction) processInstance.getRuntimeActions().get(0);
+    action = processInstance.getProcessDefinition().getAction("gotocheetahs");
+    assertSame(action, runtimeAction.getAction());
   }
 
   public void testRuntimeActionOnNonExistingEvent() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <action name='gotocheetahs' class='com.secret.LetsDoItSneeky'/>" +
-      "</process-definition>" );
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      Action action = processInstance.getProcessDefinition().getAction("gotocheetahs");
-      processInstance.addRuntimeAction(new RuntimeAction(processDefinition, "process-start", action));
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <action name='gotocheetahs' class='com.secret.LetsDoItSneeky'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    Action action = processInstance.getProcessDefinition().getAction("gotocheetahs");
+    processInstance.addRuntimeAction(new RuntimeAction(processDefinition, "process-start",
+      action));
 
-      RuntimeAction runtimeAction = (RuntimeAction) processInstance.getRuntimeActions().get(0);
-      action = processInstance.getProcessDefinition().getAction("gotocheetahs");
-      assertSame(action, runtimeAction.getAction());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-    
+    processInstance = saveAndReload(processInstance);
+    RuntimeAction runtimeAction = (RuntimeAction) processInstance.getRuntimeActions().get(0);
+    action = processInstance.getProcessDefinition().getAction("gotocheetahs");
+    assertSame(action, runtimeAction.getAction());
   }
 
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/StateDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/StateDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/StateDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -6,54 +6,42 @@
 public final class StateDbTest extends AbstractDbTestCase {
 
   public void testDbState() throws Exception {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <start-state name='zero'>" +
-      "    <transition to='one' />" +
-      "  </start-state>" +
-      "  <state name='one'>" +
-      "    <transition to='two' />" +
-      "  </state>" +
-      "  <state name='two'>" +
-      "    <transition to='three' />" +
-      "  </state>" +
-      "  <state name='three'>" +
-      "    <transition to='end' />" +
-      "  </state>" +
-      "  <end-state name='end' />" +
-      "</process-definition>"
-    );
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      long instanceId = processInstance.getId();
-      Token rootToken = processInstance.getRootToken();
-      assertEquals("zero", rootToken.getNode().getName());
-      newTransaction();
-      processInstance = jbpmContext.loadProcessInstance(instanceId);
-      rootToken = processInstance.getRootToken();
-      processInstance.signal();
-      assertEquals("one", rootToken.getNode().getName());
-      newTransaction();
-      processInstance = jbpmContext.loadProcessInstance(instanceId);
-      rootToken = processInstance.getRootToken();
-      processInstance.signal();
-      assertEquals("two", rootToken.getNode().getName());
-      newTransaction();
-      processInstance = jbpmContext.loadProcessInstance(instanceId);
-      rootToken = processInstance.getRootToken();
-      processInstance.signal();
-      assertEquals("three", rootToken.getNode().getName());
-      newTransaction();
-      processInstance = jbpmContext.loadProcessInstance(instanceId);
-      rootToken = processInstance.getRootToken();
-      processInstance.signal();
-      assertEquals("end", rootToken.getNode().getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state name='zero'>"
+      + "    <transition to='one' />"
+      + "  </start-state>"
+      + "  <state name='one'>"
+      + "    <transition to='two' />"
+      + "  </state>"
+      + "  <state name='two'>"
+      + "    <transition to='three' />"
+      + "  </state>"
+      + "  <state name='three'>"
+      + "    <transition to='end' />"
+      + "  </state>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
+
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    assertEquals("zero", processInstance.getRootToken().getNode().getName());
+
+    processInstance = saveAndReload(processInstance);
+    processInstance.signal();
+    assertEquals("one", processInstance.getRootToken().getNode().getName());
+
+    processInstance = saveAndReload(processInstance);
+    processInstance.signal();
+    assertEquals("two", processInstance.getRootToken().getNode().getName());
+
+    processInstance = saveAndReload(processInstance);
+    processInstance.signal();
+    assertEquals("three", processInstance.getRootToken().getNode().getName());
+
+    processInstance = saveAndReload(processInstance);
+    processInstance.signal();
+    assertEquals("end", processInstance.getRootToken().getNode().getName());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/exe/TokenDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -33,118 +33,96 @@
 public class TokenDbTest extends AbstractDbTestCase {
 
   public void testTokenName() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
       + "  <start-state />"
       + "</process-definition>");
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.getRootToken().name = "roottoken";
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.getRootToken().name = "roottoken";
 
-      assertEquals("roottoken", processInstance.getRootToken().getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    assertEquals("roottoken", processInstance.getRootToken().getName());
   }
 
   public void testTokenStartAndEndDate() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
       + "  <start-state>"
       + "    <transition to='end' />"
       + "  </start-state>"
       + "  <end-state name='end'/>"
       + "</process-definition>");
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      Token token = processInstance.getRootToken();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      assertNotNull(token.getStart());
-      assertNotNull(token.getEnd());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    Token token = processInstance.getRootToken();
+    assertNotNull(token.getStart());
+    assertNotNull(token.getEnd());
   }
 
   public void testTokenNode() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
       + "  <start-state name='s' />"
       + "</process-definition>");
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance = saveAndReload(processInstance);
+    deployProcessDefinition(processDefinition);
 
-      Node s = processInstance.getProcessDefinition().getStartState();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
 
-      assertSame(s, processInstance.getRootToken().getNode());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    Node s = processInstance.getProcessDefinition().getStartState();
+    assertSame(s, processInstance.getRootToken().getNode());
   }
 
   public void testTokenProcessInstance() {
-    ProcessDefinition processDefinition = new ProcessDefinition();
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance = saveAndReload(processInstance);
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
 
-      assertSame(processInstance, processInstance.getRootToken().getProcessInstance());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+
+    processInstance = saveAndReload(processInstance);
+    assertSame(processInstance, processInstance.getRootToken().getProcessInstance());
   }
 
   public void testTokenParent() {
-    ProcessDefinition processDefinition = new ProcessDefinition();
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      new Token(processInstance.getRootToken(), "one");
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      Token rootToken = processInstance.getRootToken();
-      Token childOne = rootToken.getChild("one");
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    new Token(processInstance.getRootToken(), "one");
 
-      assertSame(rootToken, childOne.getParent());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    Token rootToken = processInstance.getRootToken();
+    Token childOne = rootToken.getChild("one");
+    assertSame(rootToken, childOne.getParent());
   }
 
   public void testTokenChildren() {
-    ProcessDefinition processDefinition = new ProcessDefinition();
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      new Token(processInstance.getRootToken(), "one");
-      new Token(processInstance.getRootToken(), "two");
-      new Token(processInstance.getRootToken(), "three");
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      Token rootToken = processInstance.getRootToken();
-      Token childOne = rootToken.getChild("one");
-      Token childTwo = rootToken.getChild("two");
-      Token childThree = rootToken.getChild("three");
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    new Token(processInstance.getRootToken(), "one");
+    new Token(processInstance.getRootToken(), "two");
+    new Token(processInstance.getRootToken(), "three");
 
-      assertEquals("one", childOne.getName());
-      assertEquals("two", childTwo.getName());
-      assertEquals("three", childThree.getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    Token rootToken = processInstance.getRootToken();
+    Token childOne = rootToken.getChild("one");
+    Token childTwo = rootToken.getChild("two");
+    Token childThree = rootToken.getChild("three");
+
+    assertEquals("one", childOne.getName());
+    assertEquals("two", childTwo.getName());
+    assertEquals("three", childThree.getName());
   }
 
   public void testAvailableTransitions() {

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/EndStateDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/EndStateDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/EndStateDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -27,22 +27,22 @@
 public class EndStateDbTest extends AbstractDbTestCase {
 
   public void testEndState() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <end-state name='end' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      EndState endState = (EndState) processDefinition.getNode("end");
-      assertEquals("end", endState.getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    EndState endState = (EndState) processDefinition.getNode("end");
+    assertEquals("end", endState.getName());
   }
 
+  public void testEndCompleteProcess() {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <end-state name='end' end-complete-process='yes' />"
+      + "</process-definition>");
+
+    processDefinition = saveAndReload(processDefinition);
+    EndState endState = (EndState) processDefinition.getNode("end");
+    assertEquals("yes", endState.endCompleteProcess);
+  }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/JpdlDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/JpdlDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/JpdlDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -51,20 +51,15 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      Decision decision = (Decision) processDefinition.getNode("d");
-      assertEquals("a == 1", decision.getLeavingTransition("one").getCondition());
-      assertEquals("a == 2", decision.getLeavingTransition("two").getCondition());
-      assertEquals("a == 3", decision.getLeavingTransition("three").getCondition());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Decision decision = (Decision) processDefinition.getNode("d");
+    assertEquals("a == 1", decision.getLeavingTransition("one").getCondition());
+    assertEquals("a == 2", decision.getLeavingTransition("two").getCondition());
+    assertEquals("a == 3", decision.getLeavingTransition("three").getCondition());
   }
 
   public static class MyDecisionHandler implements DecisionHandler {
     private static final long serialVersionUID = 1L;
-    String decisionHandlerConfigText = null;
+    String decisionHandlerConfigText;
 
     public String decide(ExecutionContext executionContext) throws Exception {
       return "two";
@@ -74,7 +69,9 @@
   public void testDecisionDelegation() {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
       + "  <decision name='d' >"
-      + "    <handler class='org.jbpm.graph.node.JpdlDbTest$MyDecisionHandler'>"
+      + "    <handler class='"
+      + MyDecisionHandler.class.getName()
+      + "'>"
       + "      <decisionHandlerConfigText>testing... one, two... testing</decisionHandlerConfigText>"
       + "    </handler>"
       + "    <transition name='one' to='d'/>"
@@ -84,19 +81,10 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      Decision decision = (Decision) processDefinition.getNode("d");
-      Delegation decisionDelegation = decision.getDecisionDelegation();
-      assertNotNull(decisionDelegation);
-      assertEquals("org.jbpm.graph.node.JpdlDbTest$MyDecisionHandler",
-        decisionDelegation.getClassName());
-      assertEquals(
-        "<decisionHandlerConfigText>testing... one, two... testing</decisionHandlerConfigText>",
-        decisionDelegation.getConfiguration());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Decision decision = (Decision) processDefinition.getNode("d");
+    Delegation decisionDelegation = decision.getDecisionDelegation();
+    assertEquals(MyDecisionHandler.class.getName(), decisionDelegation.getClassName());
+    assertEquals("<decisionHandlerConfigText>testing... one, two... testing</decisionHandlerConfigText>", decisionDelegation.getConfiguration());
   }
 
   public void testFork() {
@@ -105,13 +93,7 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      Fork fork = (Fork) processDefinition.getNode("f");
-      assertNotNull(fork);
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertSame(Fork.class, processDefinition.getNode("f").getClass());
   }
 
   public void testJoin() {
@@ -120,13 +102,7 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      Join join = (Join) processDefinition.getNode("j");
-      assertNotNull(join);
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertSame(Join.class, processDefinition.getNode("j").getClass());
   }
 
   public void testScript() {
@@ -141,15 +117,9 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      Script script = (Script) processDefinition.getAction("s");
-      assertNotNull(script);
-      assertEquals(4, script.getVariableAccesses().size());
-      assertEquals("e = m * Math.pow(c,2);", script.getExpression());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Script script = (Script) processDefinition.getAction("s");
+    assertEquals(4, script.getVariableAccesses().size());
+    assertEquals("e = m * Math.pow(c,2);", script.getExpression());
   }
 
   public void testState() {
@@ -158,13 +128,7 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      State state = (State) processDefinition.getNode("s");
-      assertNotNull(state);
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertSame(State.class, processDefinition.getNode("s").getClass());
   }
 
   public void testTaskNode() {
@@ -179,36 +143,30 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("t");
-      assertNotNull(taskNode);
-      assertEquals("t", taskNode.getName());
-      assertEquals(TaskNode.SIGNAL_FIRST_WAIT, taskNode.getSignal());
-      assertFalse(taskNode.getCreateTasks());
-      assertEquals(3, taskNode.getTasks().size());
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("t");
+    assertNotNull(taskNode);
+    assertEquals("t", taskNode.getName());
+    assertEquals(TaskNode.SIGNAL_FIRST_WAIT, taskNode.getSignal());
+    assertFalse(taskNode.getCreateTasks());
+    assertEquals(3, taskNode.getTasks().size());
 
-      Map tasks = new HashMap();
-      Iterator iter = taskNode.getTasks().iterator();
-      while (iter.hasNext()) {
-        Task task = (Task) iter.next();
-        tasks.put(task.getName(), task);
-      }
-      Task task = (Task) tasks.get("change the world once");
-      assertNotNull(task);
-      assertSame(taskNode, task.getTaskNode());
-      assertTrue(task.isBlocking());
-      assertEquals("anyonebutme", task.getAssignmentDelegation().getClassName());
+    Map tasks = new HashMap();
+    for (Iterator iter = taskNode.getTasks().iterator(); iter.hasNext();) {
+      Task task = (Task) iter.next();
+      tasks.put(task.getName(), task);
+    }
+    Task task = (Task) tasks.get("change the world once");
+    assertNotNull(task);
+    assertSame(taskNode, task.getTaskNode());
+    assertTrue(task.isBlocking());
+    assertEquals("anyonebutme", task.getAssignmentDelegation().getClassName());
 
-      task = (Task) tasks.get("change the world twice");
-      assertNotNull(task);
-      assertSame(taskNode, task.getTaskNode());
-      assertFalse(task.isBlocking());
+    task = (Task) tasks.get("change the world twice");
+    assertNotNull(task);
+    assertSame(taskNode, task.getTaskNode());
+    assertFalse(task.isBlocking());
 
-      assertTrue(tasks.containsKey("change the world three times"));
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertTrue(tasks.containsKey("change the world three times"));
   }
 
   public void testNoAccessToObsoleteDecisionConditionTable() {
@@ -233,21 +191,16 @@
       + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try {
-      Decision decision = (Decision) processDefinition.getNode("d");
-      assertEquals("#{a == 1}", decision.getLeavingTransition("one").getCondition());
-      assertEquals("#{a == 2}", decision.getLeavingTransition("two").getCondition());
-      assertEquals("#{a == 3}", decision.getLeavingTransition("three").getCondition());
+    Decision decision = (Decision) processDefinition.getNode("d");
+    assertEquals("#{a == 1}", decision.getLeavingTransition("one").getCondition());
+    assertEquals("#{a == 2}", decision.getLeavingTransition("two").getCondition());
+    assertEquals("#{a == 3}", decision.getLeavingTransition("three").getCondition());
 
-      // Assure org.jbpm.graph.node.Decision#execute gets the conditions from
-      // table JBPM_TRANSITIONS rather than the obsolete JBPM_DECISIONCONDITION:
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.getContextInstance().setVariable("a", new Integer(2));
-      processInstance.signal();
-      assertEquals(processDefinition.getNode("b"), processInstance.getRootToken().getNode());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    // Assure org.jbpm.graph.node.Decision#execute gets the conditions from
+    // table JBPM_TRANSITIONS rather than the obsolete JBPM_DECISIONCONDITION:
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.getContextInstance().setVariable("a", new Integer(2));
+    processInstance.signal();
+    assertEquals(processDefinition.getNode("b"), processInstance.getRootToken().getNode());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/StartStateDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/StartStateDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/graph/node/StartStateDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -30,48 +30,30 @@
 public class StartStateDbTest extends AbstractDbTestCase {
 
   public void testStartState() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <start-state name='start' />" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <start-state name='start' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Node startState = processDefinition.getNode("start");
-      assertEquals("start", startState.getName());
-      assertSame(startState, processDefinition.getStartState());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-  
+    Node startState = processDefinition.getNode("start");
+    assertEquals("start", startState.getName());
+    assertSame(startState, processDefinition.getStartState());
   }
 
   public void testStartStateSwimlane() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <swimlane name='initiator' />" +
-      "  <start-state name='start'>" +
-      "    <task swimlane='initiator' />" +
-      "  </start-state>" +
-      "</process-definition>");
-  
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <swimlane name='initiator' />"
+      + "  <start-state name='start'>"
+      + "    <task swimlane='initiator' />"
+      + "  </start-state>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskMgmtDefinition taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
-      Swimlane initiatorSwimlaneViaStartTask = taskMgmtDefinition.getStartTask().getSwimlane();
-      assertNotNull(initiatorSwimlaneViaStartTask);
-      
-      Swimlane initiatorSwimlaneViaDefinition = taskMgmtDefinition.getSwimlane("initiator");
-      assertSame(initiatorSwimlaneViaDefinition, initiatorSwimlaneViaStartTask);
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    TaskMgmtDefinition taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
+    Swimlane initiatorSwimlaneViaStartTask = taskMgmtDefinition.getStartTask().getSwimlane();
+    assertNotNull(initiatorSwimlaneViaStartTask);
 
+    Swimlane initiatorSwimlaneViaDefinition = taskMgmtDefinition.getSwimlane("initiator");
+    assertSame(initiatorSwimlaneViaDefinition, initiatorSwimlaneViaStartTask);
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1024/JBPM1024Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1024/JBPM1024Test.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1024/JBPM1024Test.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -30,38 +30,31 @@
 import org.jbpm.instantiation.ProcessClassLoader;
 
 /**
- * Serializable variables are not being deserialized when retrieved from process
+ * Serializable variables are not being deserialized when retrieved from
+ * process. Tests a serializable variable whose class file is stored in the
+ * process definition.
  * 
- * https://jira.jboss.org/jira/browse/JBPM-1024
- * 
- * Tests a serializable variable whose class file is stored in the process definition.
- * 
+ * @see <a href="https://jira.jboss.org/jira/browse/JBPM-1024">JBPM-1024</a>
  * @author Alejandro Guizar
  */
-public class JBPM1024Test extends AbstractDbTestCase
-{
+public class JBPM1024Test extends AbstractDbTestCase {
 
-  public void testCustomSerializableVariableClass() throws IOException
-  {
-    // create and save the process definition
+  public void testCustomSerializableVariableClass() throws IOException {
+    // create and deploy process definition
     ProcessDefinition processDefinition = ProcessDefinition.parseParResource("org/jbpm/context/exe/CustomSerializable.zip");
-    graphSession.saveProcessDefinition(processDefinition);
-    try
-    {
-      // create the process instance
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance = saveAndReload(processInstance);
+    deployProcessDefinition(processDefinition);
 
-      // get the custom object from the context instance
-      Object customSerializable = processInstance.getContextInstance().getVariable("custom serializable");
-      assertTrue(customSerializable instanceof Serializable);
-      assertSame(ProcessClassLoader.class, customSerializable.getClass().getClassLoader().getClass());
-      assertEquals("1984", customSerializable.toString());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    // create process instance
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance = saveAndReload(processInstance);
 
+    // get custom object from context instance
+    Object customSerializable = processInstance.getContextInstance()
+      .getVariable("custom serializable");
+    assertTrue(customSerializable instanceof Serializable);
+    assertSame(ProcessClassLoader.class, customSerializable.getClass()
+      .getClassLoader()
+      .getClass());
+    assertEquals("1984", customSerializable.toString());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1085/JBPM1085Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1085/JBPM1085Test.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm1085/JBPM1085Test.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -25,10 +25,17 @@
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
 
+/**
+ * Join of new process instance fails in Oracle.
+ * 
+ * @see <a href="https://jira.jboss.org/jira/browse/JBPM-1085">JBPM-1085</a>
+ */
 public class JBPM1085Test extends AbstractDbTestCase {
 
   public void testJoinPersistence() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
       + "  <start-state>"
       + "    <transition to='f' />"
       + "  </start-state>"
@@ -47,22 +54,17 @@
       + "  </join>"
       + "  <end-state name='end'/>"
       + "</process-definition>");
-    graphSession.saveProcessDefinition(processDefinition);
+    deployProcessDefinition(processDefinition);
 
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      processInstance.findToken("/a").signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    processInstance.findToken("/a").signal();
 
-      processInstance = saveAndReload(processInstance);
-      processInstance.findToken("/b").signal();
+    processInstance = saveAndReload(processInstance);
+    processInstance.findToken("/b").signal();
 
-      assertEquals("end", processInstance.getRootToken().getNode().getName());
-      assertEquals("j", processInstance.findToken("/a").getNode().getName());
-      assertEquals("j", processInstance.findToken("/b").getNode().getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertEquals("end", processInstance.getRootToken().getNode().getName());
+    assertEquals("j", processInstance.findToken("/a").getNode().getName());
+    assertEquals("j", processInstance.findToken("/b").getNode().getName());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2608/JBPM2608Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2608/JBPM2608Test.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2608/JBPM2608Test.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -26,36 +26,30 @@
 import java.util.List;
 
 import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.db.JobSession;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.job.Job;
 import org.jbpm.job.Timer;
 
 /**
+ * {@link JobSession#findJobsWithOverdueLockTime(Date)} returns incorrect list
+ * of overdue jobs.
+ * 
+ * @see <a href="https://jira.jboss.org/jira/browse/JBPM-2608">JBPM-2608</a>
  * @author Alejandro Guizar
  */
 public class JBPM2608Test extends AbstractDbTestCase {
 
-  private ProcessDefinition processDefinition;
-
   protected void setUp() throws Exception {
     super.setUp();
-    processDefinition = new ProcessDefinition(getName());
-    graphSession.saveProcessDefinition(processDefinition);
-  }
 
-  protected void tearDown() throws Exception {
-    graphSession.deleteProcessDefinition(processDefinition);
-    super.tearDown();
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    deployProcessDefinition(processDefinition);
   }
 
-  /**
-   * Test method for
-   * {@link org.jbpm.db.JobSession#findJobsWithOverdueLockTime(java.util.Date)}
-   * .
-   */
   public void testFindJobsWithOverdueLockTime() {
-    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(getName());
 
     Calendar calendar = Calendar.getInstance();
     calendar.add(Calendar.HOUR, -1);

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2812/JBPM2812Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2812/JBPM2812Test.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/jbpm2812/JBPM2812Test.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -34,45 +34,32 @@
 public class JBPM2812Test extends AbstractDbTestCase {
 
   public void testTimerWithSuperState() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition name='jbpm2812'>" +
-      "  <start-state name='start'>" +
-      "    <transition to='super-state/state1'/>" +
-      "  </start-state>" +
-      "  <super-state name='super-state'>" +
-      "    <state name='state1'>" +
-      "      <timer duedate='1 second' name='timeout-timer' transition='timeout'/>" +
-      "      <transition to='state2' name='go'/>" +
-      "    </state>" +
-      "    <state name='state2'>" +
-      "  	 <transition to='end' name='go'/>" +
-      "    </state>" +
-      "    <transition to='timed-out-end' name='timeout'/>" +
-      "  </super-state>" +
-      "  <end-state name='timed-out-end'/>" +
-      "  <end-state name='end'/>" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='jbpm2812'>"
+      + "  <start-state name='start'>"
+      + "    <transition to='super-state/state1'/>"
+      + "  </start-state>"
+      + "  <super-state name='super-state'>"
+      + "    <state name='state1'>"
+      + "      <timer duedate='1 second' name='timeout-timer' transition='timeout'/>"
+      + "      <transition to='state2' name='go'/>"
+      + "    </state>"
+      + "    <state name='state2'>"
+      + "  	 <transition to='end' name='go'/>"
+      + "    </state>"
+      + "    <transition to='timed-out-end' name='timeout'/>"
+      + "  </super-state>"
+      + "  <end-state name='timed-out-end'/>"
+      + "  <end-state name='end'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      // long before = System.currentTimeMillis();
-      processInstance.signal();
-      assertEquals("state1", processInstance.getRootToken().getNode().getName());
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    assertEquals("state1", processInstance.getRootToken().getNode().getName());
 
-      processJobs(60 * 1000);
-
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      assertTrue("expected " + processInstance + " to have ended", processInstance.hasEnded());
-      assertEquals("timed-out-end", processInstance.getRootToken().getNode().getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-    
+    processJobs(60 * 1000);
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    assertTrue("expected " + processInstance + " to have ended", processInstance.hasEnded());
+    assertEquals("timed-out-end", processInstance.getRootToken().getNode().getName());
   }
-
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/TaskWithVariablesTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/TaskWithVariablesTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/perf/TaskWithVariablesTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -37,46 +37,44 @@
   public static class ErnieAssignmentHandler implements AssignmentHandler {
     private static final long serialVersionUID = 1L;
 
-    public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception {
+    public void assign(Assignable assignable, ExecutionContext executionContext)
+      throws Exception {
       assignable.setActorId("manager");
     }
   }
 
-  ProcessDefinition processDefinition;
-
   protected void setUp() throws Exception {
     super.setUp();
-    processDefinition = ProcessDefinition.parseXmlString("<process-definition name='states'>"
-        + "  <start-state>"
-        + "    <transition to='one' />"
-        + "  </start-state>"
-        + "  <task-node name='one'>"
-        + "    <task name='one'>"
-        + "      <assignment class='org.jbpm.perf.TaskWithVariablesTest$ErnieAssignmentHandler' />"
-        + "    </task>"
-        + "    <transition to='two' />"
-        + "  </task-node>"
-        + "  <task-node name='two'>"
-        + "    <task name='two'>"
-        + "      <assignment class='org.jbpm.perf.TaskWithVariablesTest$ErnieAssignmentHandler' />"
-        + "    </task>"
-        + "    <transition to='end' />"
-        + "  </task-node>"
-        + "  <end-state name='end' />"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='one' />"
+      + "  </start-state>"
+      + "  <task-node name='one'>"
+      + "    <task name='one'>"
+      + "      <assignment class='org.jbpm.perf.TaskWithVariablesTest$ErnieAssignmentHandler' />"
+      + "    </task>"
+      + "    <transition to='two' />"
+      + "  </task-node>"
+      + "  <task-node name='two'>"
+      + "    <task name='two'>"
+      + "      <assignment class='"
+      + ErnieAssignmentHandler.class.getName()
+      + "' />"
+      + "    </task>"
+      + "    <transition to='end' />"
+      + "  </task-node>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
   }
 
-  protected void tearDown() throws Exception {
-    jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    super.tearDown();
-  }
-
   public void testStates() {
     log.info("");
     log.info("=== CREATING PROCESS INSTANCE =======================================================");
     log.info("");
-    ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("states");
+    ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(getName());
     ContextInstance contextInstance = processInstance.getContextInstance();
     contextInstance.setVariable("hotel", "best western");
     contextInstance.setVariable("city", "wengen");

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -42,13 +42,6 @@
 
 public class TimerDbTest extends AbstractDbTestCase {
 
-  static boolean isNoOpExecuted = false;
-
-  protected void setUp() throws Exception {
-    super.setUp();
-    isNoOpExecuted = false;
-  }
-
   public void testSaveTimer() {
     final Date now = Calendar.getInstance().getTime();
 
@@ -59,9 +52,8 @@
     timer.setRepeat("repeat-duration");
 
     session.save(timer);
+    newTransaction();
     try {
-      newTransaction();
-
       timer = (Timer) session.load(Timer.class, new Long(timer.getId()));
       assertEquals("timer-name", timer.getName());
 
@@ -82,7 +74,7 @@
       assertEquals(ncal.get(Calendar.MINUTE), tcal.get(Calendar.MINUTE));
       assertEquals(ncal.get(Calendar.SECOND), tcal.get(Calendar.SECOND));
       assertEquals(DateDbTestUtil.getInstance().convertDateToSeconds(now), DateDbTestUtil.getInstance()
-          .convertDateToSeconds(timer.getDueDate()));
+        .convertDateToSeconds(timer.getDueDate()));
       assertEquals("transition-name", timer.getTransitionName());
       assertEquals("repeat-duration", timer.getRepeat());
     }
@@ -92,323 +84,295 @@
   }
 
   public void testTimerCreation() throws Exception {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='catch crooks' />"
-        + "  </start-state>"
-        + "  <state name='catch crooks'>"
-        + "    <timer name='reminder' duedate='5 seconds' />"
-        + "    <transition to='end'/>"
-        + "  </state>"
-        + "  <end-state name='end'/>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='catch crooks' />"
+      + "  </start-state>"
+      + "  <state name='catch crooks'>"
+      + "    <timer name='reminder' duedate='5 seconds' />"
+      + "    <transition to='end'/>"
+      + "  </state>"
+      + "  <end-state name='end'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      // long before = System.currentTimeMillis();
-      processInstance.signal();
-      // long after = System.currentTimeMillis();
-      jbpmContext.save(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    // long before = System.currentTimeMillis();
+    processInstance.signal();
+    // long after = System.currentTimeMillis();
+    jbpmContext.save(processInstance);
 
-      newTransaction();
-
-      Timer timer = (Timer) session.createQuery("from org.jbpm.job.Timer").uniqueResult();
-      assertNotNull("Timer is null", timer);
-      assertEquals("reminder", timer.getName());
-      // Commented out because of timer latency is changing between time
-      // required to connect to the database
-      // assertTrue((before + 5000) <= timer.getDueDate().getTime());
-      // assertTrue(timer.getDueDate().getTime() <= (after + 5000));
-      assertEquals("catch crooks", timer.getGraphElement().getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    newTransaction();
+    Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
+    assertNotNull("Timer is null", timer);
+    assertEquals("reminder", timer.getName());
+    // Commented out because of timer latency is changing between time
+    // required to connect to the database
+    // assertTrue((before + 5000) <= timer.getDueDate().getTime());
+    // assertTrue(timer.getDueDate().getTime() <= (after + 5000));
+    assertEquals("catch crooks", timer.getGraphElement().getName());
   }
 
   public void testTimerCancellation() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='catch crooks' />"
-        + "  </start-state>"
-        + "  <state name='catch crooks'>"
-        + "    <timer name='reminder' duedate='5 seconds' />"
-        + "    <transition to='end'/>"
-        + "  </state>"
-        + "  <end-state name='end'/>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='catch crooks' />"
+      + "  </start-state>"
+      + "  <state name='catch crooks'>"
+      + "    <timer name='reminder' duedate='5 seconds' />"
+      + "    <transition to='end'/>"
+      + "  </state>"
+      + "  <end-state name='end'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      processInstance = saveAndReload(processInstance);
-      processInstance.signal();
+    processInstance = saveAndReload(processInstance);
+    processInstance.signal();
 
-      newTransaction();
-
-      assertEquals(0, getTimerCount());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    newTransaction();
+    assertEquals(0, getTimerCount());
   }
 
   public void testTimerAction() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='process'>"
-        + "  <start-state>"
-        + "    <transition to='sometask' />"
-        + "  </start-state>"
-        + "  <task-node name='sometask'>"
-        + "    <timer name='reminder'"
-        + "           duedate='1 business minutes'"
-        + "           repeat='1 business minutes'"
-        + "           transition='time-out-transition' >"
-        + "      <action class='my-action-handler-class-name' />"
-        + "    </timer>"
-        + "    <task name='do something'/>"
-        + "    <transition name='time-out-transition' to='sometask' />"
-        + "  </task-node>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='sometask' />"
+      + "  </start-state>"
+      + "  <task-node name='sometask'>"
+      + "    <timer name='reminder'"
+      + "           duedate='1 business minutes'"
+      + "           repeat='1 business minutes'"
+      + "           transition='time-out-transition' >"
+      + "      <action class='my-action-handler-class-name' />"
+      + "    </timer>"
+      + "    <task name='do something'/>"
+      + "    <transition name='time-out-transition' to='sometask' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    graphSession.saveProcessDefinition(processDefinition);
-    try {
-      Node node = processDefinition.getNode("sometask");
+    Node node = processDefinition.getNode("sometask");
+    List actions = node.getEvent(Event.EVENTTYPE_NODE_ENTER).getActions();
+    assertEquals(1, actions.size());
 
-      List actions = node.getEvent(Event.EVENTTYPE_NODE_ENTER).getActions();
-      assertEquals(1, actions.size());
+    actions = node.getEvent(Event.EVENTTYPE_NODE_LEAVE).getActions();
+    assertEquals(1, actions.size());
 
-      actions = node.getEvent(Event.EVENTTYPE_NODE_LEAVE).getActions();
-      assertEquals(1, actions.size());
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
-
-      newTransaction();
-
-      assertEquals(1, getTimerCount());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    newTransaction();
+    assertEquals(1, getTimerCount());
   }
 
   public void testTaskTimerExecution() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='timed task' />"
-        + "  </start-state>"
-        + "  <task-node name='timed task'>"
-        + "    <task>"
-        + "      <timer duedate='23 business seconds'>"
-        + "        <action class='geftem-eu-shuppe-oender-ze-konte'/>"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='timed task' />"
+      + "  </start-state>"
+      + "  <task-node name='timed task'>"
+      + "    <task>"
+      + "      <timer duedate='23 business seconds'>"
+      + "        <action class='geftem-eu-shuppe-oender-ze-konte'/>"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      newTransaction();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      assertEquals(1, getTimerCount());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    newTransaction();
+    assertEquals(1, getTimerCount());
   }
 
   public void testTimerCancellationAtProcessEnd() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='s' />"
-        + "  </start-state>"
-        + "  <state name='s'>"
-        + "    <event type='node-enter'>"
-        + "      <create-timer duedate='52 seconds'>"
-        + "        <action class='claim.you.are.Innocent' />"
-        + "      </create-timer>"
-        + "    </event>"
-        + "    <transition to='end' />"
-        + "  </state>"
-        + "  <end-state name='end' />"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='s' />"
+      + "  </start-state>"
+      + "  <state name='s'>"
+      + "    <event type='node-enter'>"
+      + "      <create-timer duedate='52 seconds'>"
+      + "        <action class='claim.you.are.Innocent' />"
+      + "      </create-timer>"
+      + "    </event>"
+      + "    <transition to='end' />"
+      + "  </state>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      assertEquals(1, getTimerCount());
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      newTransaction();
+    processInstance = saveAndReload(processInstance);
+    assertEquals(1, getTimerCount());
+    processInstance.signal();
 
-      assertEquals(1, getTimerCount());
+    newTransaction();
+    assertEquals(1, getTimerCount());
 
-      processJobs(20000);
-
-      assertEquals(0, getTimerCount());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processJobs(20000);
+    assertEquals(0, getTimerCount());
   }
 
   public void testFindTimersByName() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='timed task' />"
-        + "  </start-state>"
-        + "  <task-node name='timed task'>"
-        + "    <task name='find the hole in the market'>"
-        + "      <timer name='reminder' duedate='23 business seconds'>"
-        + "        <action class='geftem-eu-shuppe-oender-ze-konte'/>"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='timed task' />"
+      + "  </start-state>"
+      + "  <task-node name='timed task'>"
+      + "    <task name='find the hole in the market'>"
+      + "      <timer name='reminder' duedate='23 business seconds'>"
+      + "        <action class='geftem-eu-shuppe-oender-ze-konte'/>"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      List timersByName = session.createCriteria(Timer.class)
-          .add(Restrictions.eq("name", "reminder"))
-          .list();
-      assertNotNull(timersByName);
-      assertEquals(1, timersByName.size());
+    processInstance = saveAndReload(processInstance);
+    List timersByName = session.createCriteria(Timer.class)
+      .add(Restrictions.eq("name", "reminder"))
+      .list();
+    assertEquals(1, timersByName.size());
 
-      Timer timer = (Timer) timersByName.get(0);
-      assertEquals("geftem-eu-shuppe-oender-ze-konte", timer.getAction()
-          .getActionDelegation()
-          .getClassName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Timer timer = (Timer) timersByName.get(0);
+    assertEquals("geftem-eu-shuppe-oender-ze-konte", timer.getAction()
+      .getActionDelegation()
+      .getClassName());
   }
 
   public void testTimerRepeat() throws Exception {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <state name='a'>"
-        + "    <timer name='reminder' "
-        + "           duedate='0 seconds'"
-        + "           repeat='1 minute' >"
-        + "      <action class='org.jbpm.scheduler.exe.TimerDbTest$NoOp' />"
-        + "    </timer>"
-        + "    <transition to='b'/>"
-        + "    <transition name='back' to='a'/>"
-        + "  </state>"
-        + "  <state name='b'/>"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <state name='a'>"
+      + "    <timer name='reminder' "
+      + "           duedate='0 seconds'"
+      + "           repeat='1 minute' >"
+      + "      <action class='"
+      + NoOp.class.getName()
+      + "'/>"
+      + "    </timer>"
+      + "    <transition to='b'/>"
+      + "    <transition name='back' to='a'/>"
+      + "  </state>"
+      + "  <state name='b'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      newTransaction();
-      Timer timer = (Timer) jobSession.getFirstAcquirableJob(null);
-      assertNotNull(timer);
-      Date dueDate = timer.getDueDate();
-      assertNotNull(dueDate);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      timer.execute(jbpmContext);
+    newTransaction();
+    Timer timer = (Timer) jobSession.getFirstAcquirableJob(null);
+    assertNotNull(timer);
+    Date dueDate = timer.getDueDate();
+    assertNotNull(dueDate);
 
-      newTransaction();
-      timer = jobSession.loadTimer(timer.getId());
-      assertEquals(dueDate.getTime() + 60 * 1000, timer.getDueDate().getTime());
+    timer.execute(jbpmContext);
 
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      processInstance.signal("back");
-      jbpmContext.save(processInstance);
+    newTransaction();
+    timer = jobSession.loadTimer(timer.getId());
+    assertEquals(dueDate.getTime() + 60 * 1000, timer.getDueDate().getTime());
 
-      newTransaction();
-      timer = (Timer) jobSession.getFirstAcquirableJob(null);
-      assertNotNull(timer);
-      dueDate = timer.getDueDate();
-      assertNotNull(dueDate);
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    processInstance.signal("back");
+    jbpmContext.save(processInstance);
 
-      newTransaction();
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    newTransaction();
+    timer = (Timer) jobSession.getFirstAcquirableJob(null);
+    assertNotNull(timer);
+    dueDate = timer.getDueDate();
+    assertNotNull(dueDate);
 
-      newTransaction();
-      assertEquals(0, getTimerCount());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    newTransaction();
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
+    newTransaction();
+    assertEquals(0, getTimerCount());
   }
 
   public void testTimerUpdatingProcessVariables() throws Exception {
     // variable a will be a task instance local variable
     // variable b will be a process instance variable
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='wait for var updates'>"
-        + "      <controller>"
-        + "        <variable name ='a' />"
-        + "      </controller>"
-        + "      <timer name='update variables' "
-        + "             duedate='0 seconds'"
-        + "             repeat='5 seconds' >"
-        + "        <action class='org.jbpm.scheduler.exe.TimerDbTest$UpdateVariables' />"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      ContextInstance contextInstance = processInstance.getContextInstance();
-      contextInstance.setVariable("a", "value a");
-      contextInstance.setVariable("b", "value b");
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='wait for var updates'>"
+      + "      <controller>"
+      + "        <variable name ='a' />"
+      + "      </controller>"
+      + "      <timer name='update variables' "
+      + "             duedate='0 seconds'"
+      + "             repeat='5 seconds' >"
+      + "        <action class='"
+      + UpdateVariables.class.getName()
+      + "'/>"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      newTransaction();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    ContextInstance contextInstance = processInstance.getContextInstance();
+    contextInstance.setVariable("a", "value a");
+    contextInstance.setVariable("b", "value b");
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      Timer timer = (Timer) jobSession.getFirstAcquirableJob(null);
-      timer.execute(jbpmContext);
+    newTransaction();
+    Timer timer = (Timer) jobSession.getFirstAcquirableJob(null);
+    timer.execute(jbpmContext);
 
-      newTransaction();
+    newTransaction();
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    contextInstance = processInstance.getContextInstance();
+    assertEquals("value a", contextInstance.getVariable("a"));
+    assertEquals("value b updated", contextInstance.getVariable("b"));
 
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      contextInstance = processInstance.getContextInstance();
-      assertEquals("value a", contextInstance.getVariable("a"));
-      assertEquals("value b updated", contextInstance.getVariable("b"));
-
-      TaskInstance taskInstance = (TaskInstance) processInstance.getTaskMgmtInstance()
-          .getTaskInstances()
-          .iterator()
-          .next();
-      assertEquals("value a updated", taskInstance.getVariable("a"));
-      assertEquals("value b updated", taskInstance.getVariable("b"));
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    TaskInstance taskInstance = (TaskInstance) processInstance.getTaskMgmtInstance()
+      .getTaskInstances()
+      .iterator()
+      .next();
+    assertEquals("value a updated", taskInstance.getVariable("a"));
+    assertEquals("value b updated", taskInstance.getVariable("b"));
   }
 
   public static class ConcurrentUpdateAction implements ActionHandler {
-
     private static final long serialVersionUID = 1L;
 
     public void execute(ExecutionContext executionContext) throws Exception {
@@ -417,16 +381,13 @@
   }
 
   public static class NoOp implements ActionHandler {
-
     private static final long serialVersionUID = 1L;
 
     public void execute(ExecutionContext executionContext) throws Exception {
-      isNoOpExecuted = true;
     }
   }
 
   public static class UpdateVariables implements ActionHandler {
-
     private static final long serialVersionUID = 1L;
 
     public void execute(ExecutionContext executionContext) throws Exception {
@@ -434,5 +395,4 @@
       executionContext.setVariable("b", "value b updated");
     }
   }
-
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/UnsafeSessionUsageTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/UnsafeSessionUsageTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/scheduler/exe/UnsafeSessionUsageTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -7,32 +7,29 @@
 public class UnsafeSessionUsageTest extends AbstractDbTestCase {
 
   public void testTimerRepeat() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <start-state>" +
-      "    <transition to='a' />" +
-      "  </start-state>" +
-      "  <state name='a'>" +
-      "    <timer name='reminder' duedate='0 seconds' >" +
-      "      <action class='org.jbpm.scheduler.exe.TimerDbTest$NoOp' />" +
-      "    </timer>" +
-      "    <transition to='b'/>" +
-      "    <transition name='back' to='a'/>" +
-      "  </state>" +
-      "  <state name='b'/>" +
-      "</process-definition>"
-    );
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <state name='a'>"
+      + "    <timer name='reminder' duedate='0 seconds' >"
+      + "      <action class='org.jbpm.scheduler.exe.TimerDbTest$NoOp' />"
+      + "    </timer>"
+      + "    <transition to='b'/>"
+      + "    <transition name='back' to='a'/>"
+      + "  </state>"
+      + "  <state name='b'/>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      jbpmContext.save(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      processJobs(60 * 1000);
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processJobs(60 * 1000);
+    processInstance = graphSession.loadProcessInstance(processInstance.getId());
+    assertEquals("a", processInstance.getRootToken().getNode().getName());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/SwimlaneDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/SwimlaneDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/SwimlaneDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -37,19 +37,14 @@
   protected void setUp() throws Exception {
     super.setUp();
 
-    processDefinition = new ProcessDefinition();
     taskMgmtDefinition = new TaskMgmtDefinition();
+    processDefinition = new ProcessDefinition();
     processDefinition.addDefinition(taskMgmtDefinition);
     buyer = new Swimlane("buyer");
     laundry = new Task("laundry");
     dishes = new Task("dishes");
   }
 
-  protected void tearDown() throws Exception {
-    jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    super.tearDown();
-  }
-
   public void testSwimlaneAddTask() {
     buyer.addTask(laundry);
     buyer.addTask(dishes);
@@ -92,14 +87,14 @@
 
   public void testSwimlaneAssignment() {
     processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <swimlane name='boss'>"
-        + "    <assignment class='org.jbpm.TheOneAndOnly' />"
-        + "  </swimlane>"
-        + "</process-definition>");
+      + "  <swimlane name='boss'>"
+      + "    <assignment class='org.jbpm.TheOneAndOnly' />"
+      + "  </swimlane>"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-
     taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
+
     Swimlane boss = taskMgmtDefinition.getSwimlane("boss");
     assertNotNull(boss);
     Delegation bossAssignmentDelegation = boss.getAssignmentDelegation();
@@ -111,14 +106,14 @@
 
   public void testSwimlaneTaskMgmtTest() {
     processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <swimlane name='boss'>"
-        + "    <assignment class='org.jbpm.TheOneAndOnly' />"
-        + "  </swimlane>"
-        + "</process-definition>");
+      + "  <swimlane name='boss'>"
+      + "    <assignment class='org.jbpm.TheOneAndOnly' />"
+      + "  </swimlane>"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-
     taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
+
     Swimlane boss = taskMgmtDefinition.getSwimlane("boss");
     assertNotNull(boss);
     assertSame(taskMgmtDefinition, boss.getTaskMgmtDefinition());
@@ -126,16 +121,15 @@
 
   public void testTaskToSwimlane() {
     processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <swimlane name='boss'>"
-        + "    <assignment class='org.jbpm.TheOneAndOnly' />"
-        + "  </swimlane>"
-        + "  <task-node name='work'>"
-        + "    <task name='manage' swimlane='boss' />"
-        + "  </task-node>"
-        + "</process-definition>");
+      + "  <swimlane name='boss'>"
+      + "    <assignment class='org.jbpm.TheOneAndOnly' />"
+      + "  </swimlane>"
+      + "  <task-node name='work'>"
+      + "    <task name='manage' swimlane='boss' />"
+      + "  </task-node>"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-
     taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
 
     TaskNode work = (TaskNode) processDefinition.getNode("work");

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskControllerDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskControllerDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskControllerDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -33,97 +33,71 @@
 public class TaskControllerDbTest extends AbstractDbTestCase {
 
   public void testTaskControllerWithVariableAccesses() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString( 
-      "<process-definition>" +
-      "  <task-node name='t'>" +
-      "    <task name='clean ceiling'>" +
-      "      <controller>" +
-      "        <variable name='a' access='read,write' mapped-name='x' />" +
-      "        <variable name='b' access='read,write' mapped-name='y' />" +
-      "        <variable name='c' access='read,write' />" +
-      "      </controller>" +
-      "    </task>" +
-      "  </task-node>" +
-      "</process-definition>" 
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task-node name='t'>"
+      + "    <task name='clean ceiling'>"
+      + "      <controller>"
+      + "        <variable name='a' access='read,write' mapped-name='x' />"
+      + "        <variable name='b' access='read,write' mapped-name='y' />"
+      + "        <variable name='c' access='read,write' />"
+      + "      </controller>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("t");
-      Task task = taskNode.getTask("clean ceiling");
-      TaskController taskController = task.getTaskController();
-      assertNotNull(taskController);
-      assertNull(taskController.getTaskControllerDelegation());
-      List variableAccesses = taskController.getVariableAccesses();
-      assertNotNull(variableAccesses);
-      assertEquals(3, variableAccesses.size());
-      VariableAccess variableAccess = (VariableAccess) variableAccesses.get(0);
-      assertNotNull(variableAccesses);
-      assertEquals("a", variableAccess.getVariableName());
-      assertEquals(new Access("read,write"), variableAccess.getAccess());
-      assertEquals("x", variableAccess.getMappedName());
-      variableAccess = (VariableAccess) variableAccesses.get(2);
-      assertNotNull(variableAccesses);
-      assertEquals("c", variableAccess.getMappedName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("t");
+    Task task = taskNode.getTask("clean ceiling");
+    TaskController taskController = task.getTaskController();
+    assertNotNull(taskController);
+    assertNull(taskController.getTaskControllerDelegation());
+
+    List variableAccesses = taskController.getVariableAccesses();
+    assertEquals(3, variableAccesses.size());
+
+    VariableAccess variableAccess = (VariableAccess) variableAccesses.get(0);
+    assertEquals("a", variableAccess.getVariableName());
+    assertEquals(new Access("read,write"), variableAccess.getAccess());
+    assertEquals("x", variableAccess.getMappedName());
+
+    variableAccess = (VariableAccess) variableAccesses.get(2);
+    assertEquals("c", variableAccess.getMappedName());
   }
-  
+
   public void testTaskControllerWithDelegation() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString( 
-      "<process-definition>" +
-      "  <task-node name='t'>" +
-      "    <task name='clean ceiling'>" +
-      "      <controller class='my-own-task-controller-handler-class'>" +
-      "        --here comes the configuration of the task controller handler--" +
-      "      </controller>" +
-      "    </task>" +
-      "  </task-node>" +
-      "</process-definition>" 
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task-node name='t'>"
+      + "    <task name='clean ceiling'>"
+      + "      <controller class='my-own-task-controller-handler-class'>"
+      + "        --here comes the configuration of the task controller handler--"
+      + "      </controller>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("t");
-      Task task = taskNode.getTask("clean ceiling");
-      TaskController taskController = task.getTaskController();
-      assertTrue( (taskController.getVariableAccesses()==null)
-                  || (taskController.getVariableAccesses().isEmpty()) );
-      Delegation taskControllerDelegation = taskController.getTaskControllerDelegation();
-      assertNotNull(taskControllerDelegation);
-      assertEquals("my-own-task-controller-handler-class", taskControllerDelegation.getClassName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("t");
+    Task task = taskNode.getTask("clean ceiling");
+    TaskController taskController = task.getTaskController();
+    assertTrue((taskController.getVariableAccesses() == null)
+      || (taskController.getVariableAccesses().isEmpty()));
+
+    Delegation taskControllerDelegation = taskController.getTaskControllerDelegation();
+    assertNotNull(taskControllerDelegation);
+    assertEquals("my-own-task-controller-handler-class", taskControllerDelegation.getClassName());
   }
-  
+
   public void testStartTaskController() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString( 
-      "<process-definition>" +
-      "  <start-state name='t'>" +
-      "    <task name='task to start this process'>" +
-      "      <controller />" +
-      "    </task>" +
-      "  </start-state>" +
-      "</process-definition>" 
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <start-state name='t'>"
+      + "    <task name='task to start this process'>"
+      + "      <controller />"
+      + "    </task>"
+      + "  </start-state>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Task task = processDefinition.getTaskMgmtDefinition().getStartTask();
-      assertNotNull(task.getTaskController());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Task task = processDefinition.getTaskMgmtDefinition().getStartTask();
+    assertNotNull(task.getTaskController());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/def/TaskDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -30,209 +30,118 @@
 public class TaskDbTest extends AbstractDbTestCase {
 
   public void testTaskName() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task name='wash car' />" +
-      "</process-definition>"
-    );
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task name='wash car' />"
+      + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskMgmtDefinition taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
-      Task task = taskMgmtDefinition.getTask("wash car");
-      assertNotNull(task);
-      assertEquals("wash car", task.getName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    TaskMgmtDefinition taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
+    Task task = taskMgmtDefinition.getTask("wash car");
+    assertEquals("wash car", task.getName());
   }
-  
+
   public void testTaskDescription() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task name='wash car' description='wash the car till the paint is all gone' />" +
-      "</process-definition>"
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task name='wash car' description='wash the car till the paint is all gone' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
-      assertEquals("wash the car till the paint is all gone", task.getDescription());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
+    assertEquals("wash the car till the paint is all gone", task.getDescription());
   }
 
   public void testTaskBlocking() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task name='wash car' blocking='true' />" +
-      "</process-definition>"
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task name='wash car' blocking='true' />"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
-      assertTrue(task.isBlocking());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
+    assertTrue(task.isBlocking());
   }
 
   public void testTaskNode() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task-node name='saturday afternoon'>" +
-      "    <task name='wash car' />" +
-      "  </task-node>" +
-      "</process-definition>"
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
-      Task task = taskNode.getTask("wash car");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task-node name='saturday afternoon'>"
+      + "    <task name='wash car' />"
+      + "  </task-node>"
+      + "</process-definition>");
 
-      assertNotNull(task.getTaskNode());
-      assertSame(taskNode, task.getTaskNode());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processDefinition = saveAndReload(processDefinition);
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
+    Task task = taskNode.getTask("wash car");
+    assertSame(taskNode, task.getTaskNode());
   }
 
   public void testTaskMgmtDefinition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task-node name='saturday afternoon'>" +
-      "    <task name='wash car' />" +
-      "  </task-node>" +
-      "</process-definition>"
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
-      Task task = taskNode.getTask("wash car");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task-node name='saturday afternoon'>"
+      + "    <task name='wash car' />"
+      + "  </task-node>"
+      + "</process-definition>");
 
-      assertNotNull(task.getTaskMgmtDefinition());
-      assertSame(processDefinition.getTaskMgmtDefinition(), task.getTaskMgmtDefinition());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processDefinition = saveAndReload(processDefinition);
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
+    Task task = taskNode.getTask("wash car");
+    assertSame(processDefinition.getTaskMgmtDefinition(), task.getTaskMgmtDefinition());
   }
 
   public void testTaskSwimlane() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <swimlane name='butler' />" +
-      "  <task-node name='saturday afternoon'>" +
-      "    <task name='wash car' swimlane='butler' />" +
-      "  </task-node>" +
-      "</process-definition>"
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskMgmtDefinition taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
-      Swimlane butler = taskMgmtDefinition.getSwimlane("butler");
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
-      Task task = taskNode.getTask("wash car");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <swimlane name='butler' />"
+      + "  <task-node name='saturday afternoon'>"
+      + "    <task name='wash car' swimlane='butler' />"
+      + "  </task-node>"
+      + "</process-definition>");
 
-      assertNotNull(task.getSwimlane());
-      assertSame(butler, task.getSwimlane());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processDefinition = saveAndReload(processDefinition);
+    TaskMgmtDefinition taskMgmtDefinition = processDefinition.getTaskMgmtDefinition();
+    Swimlane butler = taskMgmtDefinition.getSwimlane("butler");
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
+    Task task = taskNode.getTask("wash car");
+    assertSame(butler, task.getSwimlane());
   }
 
   public void testTaskAssignmentDelegation() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task-node name='saturday afternoon'>" +
-      "    <task name='wash car'>" +
-      "      <assignment class='the-wash-car-assignment-handler-class-name' />" +
-      "    </task>" +
-      "  </task-node>" +
-      "</process-definition>"
-    );
-    
-    processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
-      Task task = taskNode.getTask("wash car");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task-node name='saturday afternoon'>"
+      + "    <task name='wash car'>"
+      + "      <assignment class='the-wash-car-assignment-handler-class-name' />"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
 
-      assertNotNull(task.getAssignmentDelegation());
-      assertEquals("the-wash-car-assignment-handler-class-name", task.getAssignmentDelegation().getClassName());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processDefinition = saveAndReload(processDefinition);
+    TaskNode taskNode = (TaskNode) processDefinition.getNode("saturday afternoon");
+    Task task = taskNode.getTask("wash car");
+    assertEquals("the-wash-car-assignment-handler-class-name", task.getAssignmentDelegation()
+      .getClassName());
   }
 
   public void testTaskEvent() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task name='wash car'>" +
-      "    <event type='task-create' />" +
-      "  </task>" +
-      "</process-definition>"
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task name='wash car'>"
+      + "    <event type='task-create' />"
+      + "  </task>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
-      Event event = task.getEvent("task-create");
-      assertNotNull(event);
-      assertSame(task, event.getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
+    Event event = task.getEvent("task-create");
+    assertSame(task, event.getGraphElement());
   }
 
   public void testTaskExceptionHandler() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
-      "<process-definition>" +
-      "  <task name='wash car'>" +
-      "    <exception-handler exception-class='TooIntelligentException' />" +
-      "  </task>" +
-      "</process-definition>"
-    );
-    
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
+      + "  <task name='wash car'>"
+      + "    <exception-handler exception-class='TooIntelligentException' />"
+      + "  </task>"
+      + "</process-definition>");
+
     processDefinition = saveAndReload(processDefinition);
-    try
-    {
-      Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
-      ExceptionHandler exceptionHandler = (ExceptionHandler) task.getExceptionHandlers().get(0);
-      assertNotNull(exceptionHandler);
-      assertEquals("TooIntelligentException",exceptionHandler.getExceptionClassName());
-      assertSame(task, exceptionHandler.getGraphElement());
-    }
-    finally
-    {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Task task = processDefinition.getTaskMgmtDefinition().getTask("wash car");
+    ExceptionHandler exceptionHandler = (ExceptionHandler) task.getExceptionHandlers().get(0);
+    assertEquals("TooIntelligentException", exceptionHandler.getExceptionClassName());
+    assertSame(task, exceptionHandler.getGraphElement());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskInstanceDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskInstanceDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskInstanceDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -50,220 +50,203 @@
   }
 
   public void testTaskInstanceBasicLifeCycle() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling' />"
-        + "    <transition to='end' />"
-        + "  </task-node>"
-        + "  <end-state name='end' />"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling' />"
+      + "    <transition to='end' />"
+      + "  </task-node>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      processInstance = saveAndReload(processInstance);
+    processInstance = saveAndReload(processInstance);
+    Token rootToken = processInstance.getRootToken();
+    List taskInstances = taskMgmtSession.findTaskInstancesByToken(rootToken.getId());
+    assertEquals(1, taskInstances.size());
 
-      long tokenId = processInstance.getRootToken().getId();
-      List taskInstances = taskMgmtSession.findTaskInstancesByToken(tokenId);
-      assertEquals(1, taskInstances.size());
+    TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
+    assertFalse(taskInstance.hasEnded());
+    assertEquals(rootToken, taskInstance.getToken());
+    // do some update
+    taskInstance.end();
 
-      TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
-      assertFalse(taskInstance.hasEnded());
-      assertEquals(tokenId, taskInstance.getToken().getId());
-      // do some updates
-      taskInstance.end();
-
-      processInstance = saveAndReload(processInstance);
-      taskInstance = taskMgmtSession.loadTaskInstance(taskInstance.getId());
-      assertTrue(taskInstance.hasEnded());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
-
+    processInstance = saveAndReload(processInstance);
+    taskInstance = taskMgmtSession.loadTaskInstance(taskInstance.getId());
+    assertTrue("expected " + taskInstance + " to have ended", taskInstance.hasEnded());
   }
 
   public void testTaskName() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling' />"
-        + "    <transition to='end' />"
-        + "  </task-node>"
-        + "  <end-state name='end' />"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling' />"
+      + "    <transition to='end' />"
+      + "  </task-node>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      processInstance = saveAndReload(processInstance);
-      List taskInstances = taskMgmtSession.findTaskInstancesByToken(processInstance.getRootToken()
-          .getId());
-      assertEquals(1, taskInstances.size());
+    processInstance = saveAndReload(processInstance);
+    List taskInstances = taskMgmtSession.findTaskInstancesByToken(processInstance.getRootToken()
+      .getId());
+    assertEquals(1, taskInstances.size());
 
-      TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
-      assertFalse(taskInstance.hasEnded());
-      assertEquals("clean ceiling", taskInstance.getName());
-      assertEquals("clean ceiling", taskInstance.getTask().getName());
-      // do some updates
-      taskInstance.setName("clean ceiling thoroughly");
+    TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
+    assertFalse(taskInstance.hasEnded());
+    assertEquals("clean ceiling", taskInstance.getName());
+    assertEquals("clean ceiling", taskInstance.getTask().getName());
+    // do some update
+    taskInstance.setName("clean ceiling thoroughly");
 
-      processInstance = saveAndReload(processInstance);
-      taskInstance = taskMgmtSession.loadTaskInstance(taskInstance.getId());
-      assertEquals("clean ceiling thoroughly", taskInstance.getName());
-      assertEquals("clean ceiling", taskInstance.getTask().getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    taskInstance = taskMgmtSession.loadTaskInstance(taskInstance.getId());
+    assertEquals("clean ceiling thoroughly", taskInstance.getName());
+    assertEquals("clean ceiling", taskInstance.getTask().getName());
   }
 
   public void testTaskComments() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling' />"
-        + "    <transition to='end' />"
-        + "  </task-node>"
-        + "  <end-state name='end' />"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling' />"
+      + "    <transition to='end' />"
+      + "  </task-node>"
+      + "  <end-state name='end' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      processInstance = saveAndReload(processInstance);
-      List taskInstances = taskMgmtSession.findTaskInstancesByToken(processInstance.getRootToken()
-          .getId());
-      assertEquals(1, taskInstances.size());
-      TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
-      taskInstance.addComment("please hurry!");
+    processInstance = saveAndReload(processInstance);
+    List taskInstances = taskMgmtSession.findTaskInstancesByToken(processInstance.getRootToken()
+      .getId());
+    assertEquals(1, taskInstances.size());
+    TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
+    taskInstance.addComment("please hurry!");
 
-      processInstance = saveAndReload(processInstance);
-      taskInstance = taskMgmtSession.loadTaskInstance(taskInstance.getId());
+    processInstance = saveAndReload(processInstance);
+    taskInstance = taskMgmtSession.loadTaskInstance(taskInstance.getId());
 
-      List comments = taskInstance.getComments();
-      assertEquals(1, comments.size());
+    List comments = taskInstance.getComments();
+    assertEquals(1, comments.size());
 
-      Comment comment = (Comment) comments.get(0);
-      assertEquals("please hurry!", comment.getMessage());
-      assertSame(taskInstance, comment.getTaskInstance());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    Comment comment = (Comment) comments.get(0);
+    assertEquals("please hurry!", comment.getMessage());
+    assertSame(taskInstance, comment.getTaskInstance());
   }
 
   public void testBlockingTask() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='laundry' blocking='true' />"
-        + "    <transition to='b' />"
-        + "  </task-node>"
-        + "  <state name='b' />"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      Token token = processInstance.getRootToken();
-      token.signal();
-      assertEquals("a", token.getNode().getName());
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='laundry' blocking='true' />"
+      + "    <transition to='b' />"
+      + "  </task-node>"
+      + "  <state name='b' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      try {
-        processInstance.signal();
-        fail("expected exception");
-      }
-      catch (IllegalStateException e) {
-        // OK
-      }
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    Token token = processInstance.getRootToken();
+    token.signal();
+    assertEquals("a", token.getNode().getName());
+
+    processInstance = saveAndReload(processInstance);
+    try {
+      processInstance.signal();
+      fail("expected exception");
     }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
+    catch (IllegalStateException e) {
+      // OK
     }
   }
 
   public void testConditionalTasksOne() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='release' />"
-        + "  </start-state>"
-        + "  <task-node name='release'>"
-        + "    <task name='updateWebsite' condition='#{user.admin}' />"
-        + "    <task name='addNewsItem' />"
-        + "    <task name='publishRelease' condition='#{user.releaseManager}' />"
-        + "  </task-node>"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.getContextInstance().setVariable("user", new User(true, false));
-      processInstance.signal();
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='release' />"
+      + "  </start-state>"
+      + "  <task-node name='release'>"
+      + "    <task name='updateWebsite' condition='#{user.admin}' />"
+      + "    <task name='addNewsItem' />"
+      + "    <task name='publishRelease' condition='#{user.releaseManager}' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      Collection taskInstances = processInstance.getTaskMgmtInstance().getTaskInstances();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.getContextInstance().setVariable("user", new User(true, false));
+    processInstance.signal();
 
-      Set taskNames = new HashSet();
-      for (Iterator i = taskInstances.iterator(); i.hasNext();) {
-        TaskInstance taskInstance = (TaskInstance) i.next();
-        taskNames.add(taskInstance.getName());
-      }
-      assertEquals(2, taskNames.size());
-      assert taskNames.contains("updateWebsite") : taskNames;
-      assert taskNames.contains("addNewsItem") : taskNames;
+    processInstance = saveAndReload(processInstance);
+    Collection taskInstances = processInstance.getTaskMgmtInstance().getTaskInstances();
+
+    Set taskNames = new HashSet();
+    for (Iterator i = taskInstances.iterator(); i.hasNext();) {
+      TaskInstance taskInstance = (TaskInstance) i.next();
+      taskNames.add(taskInstance.getName());
     }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertEquals(2, taskNames.size());
+    assert taskNames.contains("updateWebsite") : taskNames;
+    assert taskNames.contains("addNewsItem") : taskNames;
   }
 
   public void testConditionalTasksTwo() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='release' />"
-        + "  </start-state>"
-        + "  <task-node name='release'>"
-        + "    <task name='updateWebsite' condition='#{user.admin}' />"
-        + "    <task name='addNewsItem' />"
-        + "    <task name='publishRelease' condition='#{user.releaseManager}' />"
-        + "  </task-node>"
-        + "</process-definition>");
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.getContextInstance().setVariable("user", new User(false, true));
-      processInstance.signal();
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='release' />"
+      + "  </start-state>"
+      + "  <task-node name='release'>"
+      + "    <task name='updateWebsite' condition='#{user.admin}' />"
+      + "    <task name='addNewsItem' />"
+      + "    <task name='publishRelease' condition='#{user.releaseManager}' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      Collection taskInstances = processInstance.getTaskMgmtInstance().getTaskInstances();
-      Set taskNames = new HashSet();
-      for (Iterator i = taskInstances.iterator(); i.hasNext();) {
-        TaskInstance taskInstance = (TaskInstance) i.next();
-        taskNames.add(taskInstance.getName());
-      }
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.getContextInstance().setVariable("user", new User(false, true));
+    processInstance.signal();
 
-      assertEquals(2, taskNames.size());
-      assert taskNames.contains("addNewsItem") : taskNames;
-      assert taskNames.contains("publishRelease") : taskNames;
+    processInstance = saveAndReload(processInstance);
+    Collection taskInstances = processInstance.getTaskMgmtInstance().getTaskInstances();
+    Set taskNames = new HashSet();
+    for (Iterator i = taskInstances.iterator(); i.hasNext();) {
+      TaskInstance taskInstance = (TaskInstance) i.next();
+      taskNames.add(taskInstance.getName());
     }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+
+    assertEquals(2, taskNames.size());
+    assert taskNames.contains("addNewsItem") : taskNames;
+    assert taskNames.contains("publishRelease") : taskNames;
   }
 
   public static class User implements Serializable {

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskMgmtInstanceDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskMgmtInstanceDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskMgmtInstanceDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -32,10 +32,6 @@
 
 public class TaskMgmtInstanceDbTest extends AbstractDbTestCase {
 
-  ProcessDefinition processDefinition;
-  TaskMgmtDefinition taskMgmtDefinition;
-  Swimlane buyer;
-  Swimlane seller;
   Task laundry;
   Task dishes;
 
@@ -45,19 +41,19 @@
   protected void setUp() throws Exception {
     super.setUp();
 
-    processDefinition = new ProcessDefinition();
-    taskMgmtDefinition = new TaskMgmtDefinition();
+    ProcessDefinition processDefinition = new ProcessDefinition(getName());
+    TaskMgmtDefinition taskMgmtDefinition = new TaskMgmtDefinition();
     processDefinition.addDefinition(taskMgmtDefinition);
-    buyer = new Swimlane("buyer");
+    Swimlane buyer = new Swimlane("buyer");
     taskMgmtDefinition.addSwimlane(buyer);
-    seller = new Swimlane("seller");
+    Swimlane seller = new Swimlane("seller");
     taskMgmtDefinition.addSwimlane(seller);
     laundry = new Task("laundry");
     taskMgmtDefinition.addTask(laundry);
     dishes = new Task("dishes");
     taskMgmtDefinition.addTask(dishes);
 
-    graphSession.saveProcessDefinition(processDefinition);
+    deployProcessDefinition(processDefinition);
 
     processInstance = new ProcessInstance(processDefinition);
     processInstance = saveAndReload(processInstance);
@@ -71,11 +67,6 @@
     taskMgmtInstance = processInstance.getTaskMgmtInstance();
   }
 
-  protected void tearDown() throws Exception {
-    jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    super.tearDown();
-  }
-
   public void testTaskMgmtInstanceTaskInstances() {
     taskMgmtInstance.createTaskInstance(laundry, processInstance.getRootToken());
     taskMgmtInstance.createTaskInstance(dishes, processInstance.getRootToken());
@@ -86,7 +77,7 @@
   }
 
   public void testTaskMgmtInstanceSwimlaneInstances() {
-    SwimlaneInstance swimlaneInstance = taskMgmtInstance.createSwimlaneInstance(buyer);
+    SwimlaneInstance swimlaneInstance = taskMgmtInstance.createSwimlaneInstance("buyer");
     swimlaneInstance.setActorId("john doe");
 
     swimlaneInstance = taskMgmtInstance.createSwimlaneInstance("seller");
@@ -99,10 +90,10 @@
   }
 
   public static class MultipleAssignmentHandler implements AssignmentHandler {
-
     private static final long serialVersionUID = 1L;
 
-    public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception {
+    public void assign(Assignable assignable, ExecutionContext executionContext)
+      throws Exception {
       assignable.setPooledActors(new String[] { "me", "you", "them" });
     }
   }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -45,222 +45,204 @@
   }
 
   public void testTimerCreation() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling'>"
-        + "      <timer name='ceiling-timer' duedate='0 seconds'>"
-        + "        <action class='" + PlusPlus.class.getName() + "' />"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling'>"
+      + "      <timer name='ceiling-timer' duedate='0 seconds'>"
+      + "        <action class='"
+      + PlusPlus.class.getName()
+      + "' />"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
 
-      processInstance = saveAndReload(processInstance);
-
-      Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
-      assertEquals("ceiling-timer", timer.getName());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
+    assertEquals("ceiling-timer", timer.getName());
   }
 
   public void testTimerDeletion() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling'>"
-        + "      <timer name='ceiling-timer' duedate='0 seconds'>"
-        + "        <action class='" + PlusPlus.class.getName() + "' />"
-        + "      </timer>"
-        + "    </task>"
-        + "    <transition to='b' />"
-        + "  </task-node>"
-        + "  <state name='b' />"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling'>"
+      + "      <timer name='ceiling-timer' duedate='0 seconds'>"
+      + "        <action class='"
+      + PlusPlus.class.getName()
+      + "' />"
+      + "      </timer>"
+      + "    </task>"
+      + "    <transition to='b' />"
+      + "  </task-node>"
+      + "  <state name='b' />"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      newTransaction();
+    newTransaction();
+    List taskInstances = taskMgmtSession.findTaskInstancesByToken(processInstance.getRootToken()
+      .getId());
+    assertEquals(1, taskInstances.size());
 
-      List taskInstances = taskMgmtSession.findTaskInstancesByToken(processInstance.getRootToken()
-          .getId());
-      assertEquals(1, taskInstances.size());
+    TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
+    taskInstance.end();
+    jbpmContext.save(taskInstance);
 
-      TaskInstance taskInstance = (TaskInstance) taskInstances.get(0);
-      taskInstance.end();
-      jbpmContext.save(taskInstance);
-
-      newTransaction();
-
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      assertNull("expected variable 'count' to be null", processInstance.getContextInstance()
-        .getVariable("count"));
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    newTransaction();
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    assertNull("expected variable 'count' to be null", processInstance.getContextInstance()
+      .getVariable("count"));
   }
 
   public void testTimerExecution() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling'>"
-        + "      <timer name='ceiling-timer' duedate='0 seconds'>"
-        + "        <action class='" + PlusPlus.class.getName() + "' />"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling'>"
+      + "      <timer name='ceiling-timer' duedate='0 seconds'>"
+      + "        <action class='"
+      + PlusPlus.class.getName()
+      + "' />"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      processJobs(60 * 1000);
-
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      assertEquals(new Integer(1), processInstance.getContextInstance()
-        .getVariable("count"));
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processJobs(60 * 1000);
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    assertEquals(new Integer(1), processInstance.getContextInstance().getVariable("count"));
   }
 
   public void testTaskNodeTimerExecution() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <timer name='ceiling-timer' duedate='0 seconds'>"
-        + "      <action class='" + PlusPlus.class.getName() + "' />"
-        + "    </timer>"
-        + "    <task name='clean ceiling' />"
-        + "  </task-node>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <timer name='ceiling-timer' duedate='0 seconds'>"
+      + "      <action class='"
+      + PlusPlus.class.getName()
+      + "' />"
+      + "    </timer>"
+      + "    <task name='clean ceiling' />"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      processJobs(60 * 1000);
-
-      processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
-      assertEquals(new Integer(1), processInstance.getContextInstance()
-        .getVariable("count"));
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    processJobs(60 * 1000);
+    processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
+    assertEquals(new Integer(1), processInstance.getContextInstance().getVariable("count"));
   }
 
   public void testTimerExecutionRepeat() throws Exception {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling'>"
-        + "      <timer name='ceiling-timer' duedate='0 seconds' repeat='60 second'>"
-        + "        <action class='" + PlusPlus.class.getName() + "' />"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling'>"
+      + "      <timer name='ceiling-timer' duedate='0 seconds' repeat='60 second'>"
+      + "        <action class='"
+      + PlusPlus.class.getName()
+      + "' />"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      jbpmContext.save(processInstance);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    jbpmContext.save(processInstance);
 
-      newTransaction();
+    newTransaction();
+    // fetch the original duedate
+    Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
+    long originalDueDate = timer.getDueDate().getTime();
 
-      // fetch the original duedate
-      Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
-      assertNotNull(timer);
-      long originalDueDate = timer.getDueDate().getTime();
+    timer.execute(jbpmContext);
+    processInstance = timer.getProcessInstance();
+    assertEquals(new Integer(1), processInstance.getContextInstance().getVariable("count"));
 
-      timer.execute(jbpmContext);
-
-      processInstance = timer.getProcessInstance();
-      assertEquals(new Integer(1), processInstance.getContextInstance().getVariable("count"));
-
-      // check if the timer has be re-scheduled because of the repeat.
-      timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
-      assertNotNull(timer);
-      // check that the timer was rescheduled with a duedate 60 seconds after the original duedate.
-      assertEquals(originalDueDate + 60000, timer.getDueDate().getTime());
-    }
-    finally {
-      newTransaction();
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    // check whether timer has been re-scheduled due to repeat
+    timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
+    assertNotNull(timer);
+    // verify timer was rescheduled 60 seconds after original duedate
+    assertEquals(originalDueDate + 60000, timer.getDueDate().getTime());
   }
 
   public void testTimerELCreation() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state>"
-        + "    <transition to='a' />"
-        + "  </start-state>"
-        + "  <task-node name='a'>"
-        + "    <task name='clean ceiling'>"
-        + "      <timer name='ceiling-timer' duedate='#{baseDate} + 2 days'>"
-        + "        <action class='" + PlusPlus.class.getName() + "' />"
-        + "      </timer>"
-        + "    </task>"
-        + "  </task-node>"
-        + "</process-definition>");
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='"
+      + getName()
+      + "'>"
+      + "  <start-state>"
+      + "    <transition to='a' />"
+      + "  </start-state>"
+      + "  <task-node name='a'>"
+      + "    <task name='clean ceiling'>"
+      + "      <timer name='ceiling-timer' duedate='#{baseDate} + 2 days'>"
+      + "        <action class='"
+      + PlusPlus.class.getName()
+      + "' />"
+      + "      </timer>"
+      + "    </task>"
+      + "  </task-node>"
+      + "</process-definition>");
+    deployProcessDefinition(processDefinition);
 
-    processDefinition = saveAndReload(processDefinition);
-    try {
-      Calendar baseDate = Calendar.getInstance();
-      Date dateTestDate = new Date();
-      baseDate.setTime(dateTestDate);
-      baseDate.clear(Calendar.MILLISECOND);
+    Calendar baseDate = Calendar.getInstance();
+    Date dateTestDate = new Date();
+    baseDate.setTime(dateTestDate);
+    baseDate.clear(Calendar.MILLISECOND);
 
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.getContextInstance().setVariable("baseDate", baseDate.getTime());
-      processInstance.signal();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.getContextInstance().setVariable("baseDate", baseDate.getTime());
+    processInstance.signal();
 
-      processInstance = saveAndReload(processInstance);
+    processInstance = saveAndReload(processInstance);
+    Calendar baseDateTest = Calendar.getInstance();
+    baseDateTest.setTime(dateTestDate);
+    baseDateTest.clear(Calendar.MILLISECOND);
+    baseDateTest.add(Calendar.DAY_OF_YEAR, 2);
 
-      Calendar baseDateTest = Calendar.getInstance();
-      baseDateTest.setTime(dateTestDate);
-      baseDateTest.clear(Calendar.MILLISECOND);
-      baseDateTest.add(Calendar.DAY_OF_YEAR, 2);
+    Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
+    assertEquals("ceiling-timer", timer.getName());
 
-      Timer timer = (Timer) session.createCriteria(Timer.class).uniqueResult();
-      assertEquals("ceiling-timer", timer.getName());
-
-      assertNotNull(timer.getDueDate());
-      assertEquals(baseDateTest.getTime(), timer.getDueDate());
-    }
-    finally {
-      jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
-    }
+    assertNotNull(timer.getDueDate());
+    assertEquals(baseDateTest.getTime(), timer.getDueDate());
   }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/modules/identity/src/test/java/org/jbpm/identity/assignment/ExpressionAssignmentHandlerTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/identity/src/test/java/org/jbpm/identity/assignment/ExpressionAssignmentHandlerTest.java	2010-03-30 07:26:14 UTC (rev 6238)
+++ jbpm3/branches/jbpm-3.2-soa/modules/identity/src/test/java/org/jbpm/identity/assignment/ExpressionAssignmentHandlerTest.java	2010-03-31 08:20:39 UTC (rev 6239)
@@ -80,8 +80,6 @@
     identitySession.saveEntity(john);
     identitySession.saveEntity(bill);
     identitySession.saveEntity(hellsangels);
-    identitySession.saveEntity(membershipJohn);
-    identitySession.saveEntity(membershipBill);
   }
 
   private void setUpProcessInstance() {



More information about the jbpm-commits mailing list