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

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Nov 10 17:14:08 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-10 17:14:07 -0500 (Mon, 10 Nov 2008)
New Revision: 2873

Added:
   jbpm3/trunk/modules/db/src/main/resources/hibernate.extra.hbm.xml
   jbpm3/trunk/modules/db/src/main/resources/hibernate.identity.hbm.xml
   jbpm3/trunk/modules/db/src/main/resources/log4j.xml
   jbpm3/trunk/modules/distribution/src/main/etc/release.notes.html
Removed:
   jbpm3/trunk/modules/core/scripts/antrun-jbpm-schema.xml
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/SystemPropertyTask.java
   jbpm3/trunk/modules/core/src/main/resources/org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml
   jbpm3/trunk/modules/identity/scripts/antrun-jbpm-schema.xml
   jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/ws.xml
Modified:
   jbpm3/trunk/hudson/hudson-home/command.sh
   jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-Matrix/config.xml
   jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-ShortMatrix/config.xml
   jbpm3/trunk/modules/core/pom.xml
   jbpm3/trunk/modules/core/scripts/antrun-jbpm-config.xml
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmContext.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/AntHelper.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/JbpmSchemaTask.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/TokenVariableMap.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/variableinstance/ByteArrayInstance.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/persistence/db/DbPersistenceServiceFactory.java
   jbpm3/trunk/modules/core/src/main/resources/hibernate.cache.xml
   jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml
   jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml
   jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.mysql.xml
   jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.postgresql.xml
   jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.sybase.xml
   jbpm3/trunk/modules/core/src/main/resources/jbpm-sybase-ds.xml
   jbpm3/trunk/modules/core/src/main/resources/org/jbpm/ant/jbpm.ant.tasks.properties
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/SerializabilityTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/DeleteProcessInstanceDbTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm522/JBPM522Test.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessArchiveDeploymentDbTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/xml/XmlSchemaTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java
   jbpm3/trunk/modules/core/src/test/resources/log4j.xml
   jbpm3/trunk/modules/db/pom.xml
   jbpm3/trunk/modules/db/scripts/antrun-jbpmschema.xml
   jbpm3/trunk/modules/distribution/pom.xml
   jbpm3/trunk/modules/distribution/scripts/antrun-installer.xml
   jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml
   jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml
   jbpm3/trunk/modules/distribution/src/main/resources/installer/target-panel-dir.txt
   jbpm3/trunk/modules/distribution/src/main/resources/installer/user-input-spec.xml
   jbpm3/trunk/modules/enterprise/ear/pom.xml
   jbpm3/trunk/modules/enterprise/jar/pom.xml
   jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java
   jbpm3/trunk/modules/enterprise/pom.xml
   jbpm3/trunk/modules/examples/pom.xml
   jbpm3/trunk/modules/identity/pom.xml
   jbpm3/trunk/modules/simulation/pom.xml
   jbpm3/trunk/modules/userguide/pom.xml
   jbpm3/trunk/modules/userguide/src/main/docbook/en/master.xml
   jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/gettingstarted.xml
   jbpm3/trunk/pom.xml
   jbpm3/trunk/profiles.xml.example
Log:
merge -r2808:HEAD from jbpm3/branches/jbpm-3.3.0.GA

Modified: jbpm3/trunk/hudson/hudson-home/command.sh
===================================================================
--- jbpm3/trunk/hudson/hudson-home/command.sh	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/hudson/hudson-home/command.sh	2008-11-10 22:14:07 UTC (rev 2873)
@@ -58,7 +58,7 @@
 # Deploy distro
 #
 AUTO_INSTALL=modules/distribution/target/resources/auto-install-template.xml; cat $AUTO_INSTALL;
-JAVA_CMD="java -jar $DISTRODIR/jbpm-distribution-$JBPM_VERSION-izpack.jar $AUTO_INSTALL"
+JAVA_CMD="java -jar $DISTRODIR/jbpm-installer-$JBPM_VERSION.jar $AUTO_INSTALL"
 echo $JAVA_CMD; $JAVA_CMD 
 
 # FIXME: Autoinstall does not respect conditions

Modified: jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-Matrix/config.xml
===================================================================
--- jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-Matrix/config.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-Matrix/config.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -44,7 +44,7 @@
       <values>
         <string>hsqldb</string>
         <string>mysql</string>
-        <!-- string>postgresql</string -->
+        <string>sybase</string>
       </values>
     </axis>
     <axis>

Modified: jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-ShortMatrix/config.xml
===================================================================
--- jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-ShortMatrix/config.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/hudson/hudson-home/jobs/jBPM3-ShortMatrix/config.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -25,11 +25,7 @@
   </scm>
   <canRoam>true</canRoam>
   <disabled>false</disabled>
-  <triggers class="vector">
-    <hudson.triggers.TimerTrigger>
-      <spec>0 0 * * *</spec>
-    </hudson.triggers.TimerTrigger>
-  </triggers>
+  <triggers class="vector"/>
   <axes>
     <axis>
       <name>container</name>
@@ -42,7 +38,7 @@
       <values>
         <string>hsqldb</string>
         <string>mysql</string>
-        <!-- string>postgresql</string -->
+        <string>sybase</string>
       </values>
     </axis>
     <axis>

Modified: jbpm3/trunk/modules/core/pom.xml
===================================================================
--- jbpm3/trunk/modules/core/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -170,7 +170,6 @@
         <artifactId>maven-antrun-plugin</artifactId>
         <executions>
           <execution>
-            <id>config</id>
             <phase>compile</phase>
             <goals>
               <goal>run</goal>
@@ -182,22 +181,6 @@
               </tasks>
             </configuration>
           </execution>
-          <!-- 
-          <execution>
-            <id>schema</id>
-            <phase>process-test-resources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <property name="test.classpath" refid="maven.test.classpath" />
-                <property name="log4j.output.dir" location="${basedir}/target" />
-                <ant antfile="scripts/antrun-jbpm-schema.xml" target="create" />
-              </tasks>
-            </configuration>
-          </execution>
-          -->
         </executions>
       </plugin>
       <plugin>
@@ -363,6 +346,17 @@
                 <exclude>org/jbpm/job/executor/JobExecutorDbTest</exclude>
                 <!-- [JBPM-1810] Fix clean, drop, create schema with JbpmSchema  -->
                 <exclude>org/jbpm/db/JbpmSchemaDbTest.java</exclude>
+
+                <!-- [JBPM-1824] Investigate core test failures against Sybase -->
+                <exclude>org/jbpm/db/DeleteProcessInstanceDbTest.java</exclude>
+                <exclude>org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java</exclude>
+                <exclude>org/jbpm/jbpm1072/JBPM1072Test.java</exclude>
+                <exclude>org/jbpm/jbpm1755/JBPM1755Test.java</exclude>
+                <exclude>org/jbpm/jbpm983/JBPM983Test.java</exclude>
+                <exclude>org/jbpm/job/executor/JobExecutorDbTest.java</exclude>
+                <exclude>org/jbpm/optimisticlocking/LockingTest.java</exclude>
+                <exclude>org/jbpm/scheduler/exe/UnsafeSessionUsageTest.java</exclude>
+                <exclude>org/jbpm/seam/JobExecutorCustomizationTest.java</exclude>
               </excludes>
             </configuration>
           </plugin>

Modified: jbpm3/trunk/modules/core/scripts/antrun-jbpm-config.xml
===================================================================
--- jbpm3/trunk/modules/core/scripts/antrun-jbpm-config.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/scripts/antrun-jbpm-config.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -14,21 +14,47 @@
 <project default="concat">
 
   <property name="project.build.directory" value="${basedir}/target"/>
-  <property name="project.resources.directory" value="${basedir}/target/classes"/>
+  <property name="build.resources.directory" value="${basedir}/target/classes"/>
 
-  <!--
-    macrodef: macro-database-cfg
-    Concatenates the various db specific hibernate files to produce hibernate.cfg.[database].xml
-  -->
+  <macrodef name="macro-disable">
+    <attribute name="file" />
+    <attribute name="section" />
+    <sequential>
+      <replace file="@{file}" summary="true">
+        <replacetoken><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) -->]]></replacetoken>
+        <replacevalue><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) ===]]></replacevalue>
+      </replace>
+      <replace file="@{file}" summary="true">
+        <replacetoken><![CDATA[<!-- ]]>@{section}<![CDATA[ (end) -->]]></replacetoken>
+        <replacevalue><![CDATA[==== ]]>@{section}<![CDATA[ (end) -->]]></replacevalue>
+      </replace>
+    </sequential>
+  </macrodef>
+
+  <macrodef name="macro-enable">
+    <attribute name="file" />
+    <attribute name="section" />
+    <sequential>
+      <replace file="@{file}" summary="true">
+        <replacetoken><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) ===]]></replacetoken>
+        <replacevalue><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) -->]]></replacevalue>
+      </replace>
+      <replace file="@{file}" summary="true">
+        <replacetoken><![CDATA[==== ]]>@{section}<![CDATA[ (end) -->]]></replacetoken>
+        <replacevalue><![CDATA[<!-- ]]>@{section}<![CDATA[ (end) -->]]></replacevalue>
+      </replace>
+    </sequential>
+  </macrodef>
+
   <macrodef name="macro-database-cfg">
     <attribute name="database" />
     <sequential>
 
-      <available property="@{database}.properties.available" file="${project.resources.directory}/hibernate.properties.@{database}.xml"/>
+      <available property="@{database}.properties.available" file="${build.resources.directory}/hibernate.properties.@{database}.xml"/>
       <fail message="hibernate.properties.@{database}.xml not available" unless="@{database}.properties.available"/>
       
       <condition property="hibernate.mapping.@{database}.xml" value="hibernate.mapping.@{database}.xml" else="hibernate.mapping.default.xml">
-        <available property="@{database}.mapping.available" file="${project.resources.directory}/hibernate.mapping.@{database}.xml"/>
+        <available property="@{database}.mapping.available" file="${build.resources.directory}/hibernate.mapping.@{database}.xml"/>
       </condition>
       
       <echo message="Concat hibernate.cfg.@{database}.xml using hibernate.properties.@{database}.xml, ${hibernate.mapping.@{database}.xml}" />
@@ -44,10 +70,10 @@
         <hibernate-configuration>
           <session-factory>
         ]]></header>
-        <fileset file="${project.resources.directory}/hibernate.properties.@{database}.xml" />
-        <fileset file="${project.resources.directory}/hibernate.common.xml" />
-        <fileset file="${project.resources.directory}/${hibernate.mapping.@{database}.xml}" />
-        <fileset file="${project.resources.directory}/hibernate.cache.xml" />
+        <fileset file="${build.resources.directory}/hibernate.properties.@{database}.xml" />
+        <fileset file="${build.resources.directory}/hibernate.common.xml" />
+        <fileset file="${build.resources.directory}/${hibernate.mapping.@{database}.xml}" />
+        <fileset file="${build.resources.directory}/hibernate.cache.xml" />
         <footer trimleading="yes"><![CDATA[
           </session-factory>
         </hibernate-configuration>
@@ -56,18 +82,13 @@
     </sequential>
   </macrodef>
 
-  <!--
-    Target: concat
-    Invokes the database config macro for all supported databases
-  -->
-  <target name="concat">
-  
+  <target name="concat" >
     <macro-database-cfg database="hsqldb"/>
     <macro-database-cfg database="mysql"/>
     <macro-database-cfg database="postgresql"/>
     <macro-database-cfg database="sybase"/>
-    
     <echo message="Copy hibernate.cfg.${database}.xml to hibernate.cfg.xml" />
     <copy file="${project.build.directory}/classes/hibernate.cfg.${database}.xml" tofile="${project.build.directory}/classes/hibernate.cfg.xml"/>
   </target>
+  
 </project>
\ No newline at end of file

Deleted: jbpm3/trunk/modules/core/scripts/antrun-jbpm-schema.xml
===================================================================
--- jbpm3/trunk/modules/core/scripts/antrun-jbpm-schema.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/scripts/antrun-jbpm-schema.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!--                                                                        -->
-<!--  JBoss, the OpenSource J2EE webOS                                      -->
-<!--                                                                        -->
-<!--  Distributable under LGPL license.                                     -->
-<!--  See terms of license at http://www.gnu.org.                           -->
-<!--                                                                        -->
-<!-- ====================================================================== -->
-
-<!-- $Id: antrun-jbpm-config.xml 2611 2008-10-24 15:25:58Z thomas.diesler at jboss.com $ -->
-
-<project default="create">
-
-  <target name="create">
-    <taskdef resource="org/jbpm/ant/jbpm.ant.tasks.properties">
-      <classpath path="${test.classpath}" />
-    </taskdef>
-    <systemproperty key="log4j.output.dir" value="${log4j.output.dir}"/>
-    <jbpmschema />
-  </target>
-
-</project>
\ No newline at end of file

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmContext.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmContext.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/JbpmContext.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -524,81 +524,81 @@
 
   /**
    * gets the hibernate session factory from the default configured persistence service.
-   * @return the hibernate session factory, or <code>null</code> if a nonstandard
-   * persistence service is configured
+   * 
+   * @throws ClassCastException if another persistence service is configured then the default.
    */
   public SessionFactory getSessionFactory()
   {
-    PersistenceService persistenceService = getPersistenceService();
-    return persistenceService instanceof DbPersistenceService
-      ? ((DbPersistenceService) persistenceService).getSessionFactory()
-      : null;
+    DbPersistenceService persistenceService = (DbPersistenceService)getPersistenceService();
+    if (persistenceService == null)
+      return null;
+    return persistenceService.getSessionFactory();
   }
 
   /**
    * sets the hibernate session factory into the default configured persistence service, overwriting the configured session factory (if there is one configured).
-   * if a nonstandard persistence service is configured, then this call has no effect.
+   * 
+   * @throws ClassCastException if another persistence service is configured then the default.
    */
   public void setSessionFactory(SessionFactory sessionFactory)
   {
-    PersistenceService persistenceService = getPersistenceService();
-    if (persistenceService instanceof DbPersistenceService) {
-      DbPersistenceService dbPersistenceService = (DbPersistenceService) persistenceService;
-      dbPersistenceService.setSessionFactory(sessionFactory);
-    }
+    DbPersistenceService persistenceService = (DbPersistenceService)getPersistenceService();
+    if (persistenceService == null)
+      return;
+    persistenceService.setSessionFactory(sessionFactory);
   }
 
   /**
    * gets the hibernate session from the default configured persistence service.
-   * @return the hibernate session, or <code>null</code> if a nonstandard
-   * persistence service is configured.
+   * 
+   * @throws ClassCastException if another persistence service is configured then the default.
    */
   public Session getSession()
   {
-    PersistenceService persistenceService = getPersistenceService();
-    return persistenceService instanceof DbPersistenceService
-      ? ((DbPersistenceService) persistenceService).getSession()
-      : null;
+    DbPersistenceService persistenceService = (DbPersistenceService)getPersistenceService();
+    if (persistenceService == null)
+      return null;
+    return persistenceService.getSession();
   }
 
   /**
    * sets the hibernate session into the default configured persistence service, preventing the creation of a session from the configured session factory (if there is
    * one configured).
-   * if a nonstandard persistence service is configured, then this call has no effect.
+   * 
+   * @throws ClassCastException if another persistence service is configured then the default.
    */
   public void setSession(Session session)
   {
-    PersistenceService persistenceService = getPersistenceService();
-    if (persistenceService instanceof DbPersistenceService) {
-      DbPersistenceService dbPersistenceService = (DbPersistenceService) persistenceService;
-      dbPersistenceService.setSession(session);
-    }
+    DbPersistenceService persistenceService = (DbPersistenceService)getPersistenceService();
+    if (persistenceService == null)
+      return;
+    persistenceService.setSession(session);
   }
 
   /**
    * gets the jdbc connection from the default configured persistence service.
-   * @return the jdbc connectoin, or <code>null</code> if a nonstandard
-   * persistence service is configured.
+   * 
+   * @throws ClassCastException if another persistence service is configured then the default.
    */
   public Connection getConnection()
   {
-    PersistenceService persistenceService = getPersistenceService();
-    return persistenceService instanceof DbPersistenceService
-      ? ((DbPersistenceService) persistenceService).getConnection()
-      : null;
+    DbPersistenceService persistenceService = (DbPersistenceService)getPersistenceService();
+    if (persistenceService == null)
+      return null;
+    return persistenceService.getConnection();
   }
 
   /**
    * allows users to provide a jdbc connection to be used when the hibernate session is created.
-   * if a nonstandard persistence service is configured, then this call has no effect.
+   * 
+   * @throws ClassCastException if another persistence service is configured then the default.
    */
   public void setConnection(Connection connection)
   {
-    PersistenceService persistenceService = getPersistenceService();
-    if (persistenceService instanceof DbPersistenceService) {
-      DbPersistenceService dbPersistenceService = (DbPersistenceService) persistenceService;
-      dbPersistenceService.setConnection(connection);
-    }
+    DbPersistenceService persistenceService = (DbPersistenceService)getPersistenceService();
+    if (persistenceService == null)
+      return;
+    persistenceService.setConnection(connection);
   }
 
   // jbpm database access sessions
@@ -704,7 +704,9 @@
 
   PersistenceService getPersistenceService()
   {
-    return services != null ? services.getPersistenceService() : null;
+    if (services == null)
+      return null;
+    return services.getPersistenceService();
   }
 
   public JbpmConfiguration getJbpmConfiguration()

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/AntHelper.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/AntHelper.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/AntHelper.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -42,10 +42,6 @@
   final static Map configurations = new HashMap();
   final static Map jbpmConfigurations = new HashMap();
 
-  private AntHelper() {
-    // prevent instantiation
-  }
-
   public static Configuration getConfiguration(String hibernateCfgResource, String hibernatePropertiesResource) {
     Object key = getKey(hibernateCfgResource,hibernatePropertiesResource);
     Configuration configuration = (Configuration) configurations.get(key);

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/JbpmSchemaTask.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/JbpmSchemaTask.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/JbpmSchemaTask.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -34,111 +34,151 @@
 import org.jbpm.persistence.db.DbPersistenceServiceFactory;
 import org.jbpm.svc.Services;
 
-public class JbpmSchemaTask extends Task {
+public class JbpmSchemaTask extends Task
+{
+  String jbpmCfg;
+  String hibernateCfg;
+  String hibernateProperties;
 
-  String jbpmCfg = null;
-  String hibernateCfg = null;
-  String hibernateProperties = null;
+  boolean quiet;
+  boolean text;
+  String output;
+  String delimiter;
 
-  boolean quiet = false;
-  boolean text = false;
-  String output = null;
-  String delimiter = null;
+  String actions;
 
-  String actions = null;
-
-  public void execute() throws BuildException {
-    if (actions==null) {
+  public void execute() throws BuildException
+  {
+    if (actions == null)
+    {
       // default action is create
       actions = "create";
     }
-    
+
     // we need a configuration
-    Configuration configuration = null; 
+    Configuration configuration = null;
 
     // if there is no jbpm nor hibernate configuration specified
-    if ( (jbpmCfg==null)
-         && (hibernateCfg==null) 
-       ) {
+    if ((jbpmCfg == null) && (hibernateCfg == null))
+    {
       // search for the default jbpm.cfg.xml
       URL defaultJbpmCfgUrl = getClass().getClassLoader().getResource("jbpm.cfg.xml");
-      if (defaultJbpmCfgUrl!=null) {
+      if (defaultJbpmCfgUrl != null)
+      {
         jbpmCfg = "jbpm.cfg.xml";
-      // if still not found, search for the default hibernate.cfg.xml
-      } else {
+        // if still not found, search for the default hibernate.cfg.xml
+      }
+      else
+      {
         URL defaultHibernateCfgUrl = getClass().getClassLoader().getResource("hibernate.cfg.xml");
-        if (defaultHibernateCfgUrl!=null) {
+        if (defaultHibernateCfgUrl != null)
+        {
           hibernateCfg = "hibernate.cfg.xml";
         }
       }
     }
-    
-    // first see if the jbpm cfg is specified cause that implies a hibernate configuration
-    if (jbpmCfg!=null) {
-      log("using jbpm configuration "+jbpmCfg);
+
+    // first see if the jbpm cfg is specified cause that implies a hibernate
+    // configuration
+    if (jbpmCfg != null)
+    {
+      log("using jbpm configuration " + jbpmCfg);
       JbpmConfiguration jbpmConfiguration = AntHelper.getJbpmConfiguration(jbpmCfg);
       JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
-      try {
-        DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory) jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+      try
+      {
+        DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration
+            .getServiceFactory(Services.SERVICENAME_PERSISTENCE);
         configuration = dbPersistenceServiceFactory.getConfiguration();
-      } finally {
+      }
+      finally
+      {
         jbpmContext.close();
       }
-      
-    // if there is no jbpm.cfg.xml specified, check if there is a hibernate.cfg.xml specified
-    } else if (hibernateCfg!=null) {
-      log("using hibernate configuration "+hibernateCfg);
+
+      // if there is no jbpm.cfg.xml specified, check if there is a
+      // hibernate.cfg.xml specified
+    }
+    else if (hibernateCfg != null)
+    {
+      log("using hibernate configuration " + hibernateCfg);
       configuration = AntHelper.getConfiguration(hibernateCfg, hibernateProperties);
 
-    // no hibernate configuration specified
-    } else {
+      // no hibernate configuration specified
+    }
+    else
+    {
       throw new BuildException("couldn't create schema.  no jbpm nor hibernate configuration specified.");
     }
 
     JbpmSchema jbpmSchema = new JbpmSchema(configuration);
 
     SchemaExport schemaExport = new SchemaExport(configuration);
-    if (output!=null) schemaExport.setOutputFile(output);
-    if (delimiter!=null) schemaExport.setDelimiter(delimiter);
+    if (output != null)
+    {
+      schemaExport.setOutputFile(output);
+    }
+    
+    if (delimiter != null)
+      schemaExport.setDelimiter(delimiter);
 
     StringTokenizer tokenizer = new StringTokenizer(actions, ",");
-    while (tokenizer.hasMoreTokens()) {
+    while (tokenizer.hasMoreTokens())
+    {
       String action = tokenizer.nextToken();
 
-      if ("drop".equalsIgnoreCase(action)) {
+      if ("drop".equalsIgnoreCase(action))
+      {
         schemaExport.drop(!quiet, !text);
-
-      } else if ("create".equalsIgnoreCase(action)) {
+      }
+      else if ("create".equalsIgnoreCase(action))
+      {
         schemaExport.create(!quiet, !text);
-        
-      } else if ("clean".equalsIgnoreCase(action)) {
+      }
+      else if ("clean".equalsIgnoreCase(action))
+      {
         jbpmSchema.cleanSchema();
       }
     }
   }
-  
-  public void setActions(String actions) {
+
+  public void setActions(String actions)
+  {
     this.actions = actions;
   }
-  public void setJbpmCfg(String jbpmCfg) {
+
+  public void setJbpmCfg(String jbpmCfg)
+  {
     this.jbpmCfg = jbpmCfg;
   }
-  public void setHibernateCfg(String hibernateCfg) {
+
+  public void setHibernateCfg(String hibernateCfg)
+  {
     this.hibernateCfg = hibernateCfg;
   }
-  public void setHibernateProperties(String hibernateProperties) {
+
+  public void setHibernateProperties(String hibernateProperties)
+  {
     this.hibernateProperties = hibernateProperties;
   }
-  public void setDelimiter(String delimiter) {
+
+  public void setDelimiter(String delimiter)
+  {
     this.delimiter = delimiter;
   }
-  public void setOutput(String output) {
+
+  public void setOutput(String output)
+  {
     this.output = output;
   }
-  public void setQuiet(boolean quiet) {
+
+  public void setQuiet(boolean quiet)
+  {
     this.quiet = quiet;
   }
-  public void setText(boolean text) {
+
+  public void setText(boolean text)
+  {
     this.text = text;
   }
 }

Deleted: jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/SystemPropertyTask.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/SystemPropertyTask.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/ant/SystemPropertyTask.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.ant;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-/**
- * @author Alejandro Guizar
- */
-public class SystemPropertyTask extends Task {
-
-  private String key;
-  private String value;
-
-  @Override
-  public void execute() throws BuildException {
-    System.setProperty(key, value);
-  }
-
-  public void setKey(String key) {
-    this.key = key;
-  }
-
-  public void setValue(String value) {
-    this.value = value;
-  }
-}

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/TokenVariableMap.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/TokenVariableMap.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/TokenVariableMap.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -54,7 +54,7 @@
   }
   
   public String toString() {
-    return "TokenVariableMap"+( (token!=null) ? "["+token.getFullName()+"]" : "@" + Integer.toHexString(System.identityHashCode(this)));
+    return "TokenVariableMap"+( (token!=null)&&(token.getName()!=null) ? "["+token.getName()+"]" : Integer.toHexString(System.identityHashCode(this)));
   }
 
   // protected ////////////////////////////////////////////////////////////////

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/variableinstance/ByteArrayInstance.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/variableinstance/ByteArrayInstance.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/context/exe/variableinstance/ByteArrayInstance.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -21,8 +21,6 @@
  */
 package org.jbpm.context.exe.variableinstance;
 
-import org.hibernate.Session;
-import org.jbpm.JbpmContext;
 import org.jbpm.bytes.ByteArray;
 import org.jbpm.context.exe.VariableInstance;
 import org.jbpm.context.log.variableinstance.ByteArrayUpdateLog;
@@ -44,15 +42,6 @@
 
   protected void setObject(Object value) {
     if (token!=null) token.addLog(new ByteArrayUpdateLog(this, this.value, (ByteArray) value));
-    // delete old value, otherwise it will be unreachable
-    if (this.value != null) {
-      JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
-      if (jbpmContext != null) {
-        Session session = jbpmContext.getSession();
-        if (session != null) session.delete(this.value);
-      }      
-    }
-    // set new value
     this.value = (ByteArray) value;
   }
 }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/JbpmSchema.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -29,6 +29,7 @@
 import java.io.InputStream;
 import java.io.PrintStream;
 import java.io.Serializable;
+import java.lang.reflect.Field;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -43,8 +44,9 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.hibernate.cfg.Configuration;
-import org.hibernate.cfg.Settings;
+import org.hibernate.cfg.Environment;
 import org.hibernate.connection.ConnectionProvider;
+import org.hibernate.connection.ConnectionProviderFactory;
 import org.hibernate.dialect.Dialect;
 import org.hibernate.engine.Mapping;
 import org.hibernate.mapping.ForeignKey;
@@ -62,7 +64,8 @@
   private static final long serialVersionUID = 1L;
 
   Configuration configuration = null;
-  Settings settings;
+  Properties properties = null;
+  Dialect dialect = null;
   Mapping mapping = null;
   String[] createSql = null;
   String[] dropSql = null;
@@ -75,15 +78,26 @@
   public JbpmSchema(Configuration configuration)
   {
     this.configuration = configuration;
-    this.settings = configuration.buildSettings();
-    this.mapping = configuration.buildMapping();
+    this.properties = configuration.getProperties();
+    this.dialect = Dialect.getDialect(properties);
+    try
+    {
+      // get the mapping field via reflection :-(
+      Field mappingField = Configuration.class.getDeclaredField("mapping");
+      mappingField.setAccessible(true);
+      this.mapping = (Mapping)mappingField.get(configuration);
+    }
+    catch (Exception e)
+    {
+      throw new JbpmException("couldn't get the hibernate mapping", e);
+    }
   }
 
   public String[] getCreateSql()
   {
     if (createSql == null)
     {
-      createSql = configuration.generateSchemaCreationScript(settings.getDialect());
+      createSql = configuration.generateSchemaCreationScript(dialect);
     }
     return createSql;
   }
@@ -92,7 +106,7 @@
   {
     if (dropSql == null)
     {
-      dropSql = configuration.generateDropSchemaScript(settings.getDialect());
+      dropSql = configuration.generateDropSchemaScript(dialect);
     }
     return dropSql;
   }
@@ -102,11 +116,10 @@
     if (cleanSql == null)
     {
       new SchemaExport(configuration);
+      
+      String catalog = properties.getProperty(Environment.DEFAULT_CATALOG);
+      String schema = properties.getProperty(Environment.DEFAULT_SCHEMA);
 
-      Dialect dialect = settings.getDialect();
-      String catalog = settings.getDefaultCatalogName();
-      String schema = settings.getDefaultSchemaName();
-
       // loop over all foreign key constraints
       List dropForeignKeysSql = new ArrayList();
       List createForeignKeysSql = new ArrayList();
@@ -338,7 +351,8 @@
   public void execute(String[] sqls)
   {
     String sql = null;
-    boolean showSql = settings.isShowSqlEnabled();
+    String showSqlText = properties.getProperty("hibernate.show_sql");
+    boolean showSql = ("true".equalsIgnoreCase(showSqlText));
 
     try
     {
@@ -396,7 +410,7 @@
 
   void createConnection() throws SQLException
   {
-    connectionProvider = settings.getConnectionProvider();
+    connectionProvider = ConnectionProviderFactory.newConnectionProvider(properties);
     connection = connectionProvider.getConnection();
     if (!connection.getAutoCommit())
     {
@@ -407,7 +421,7 @@
 
   public Properties getProperties()
   {
-    return configuration.getProperties();
+    return properties;
   }
 
   // sql delimiter ////////////////////////////////////////////////////////////
@@ -418,7 +432,7 @@
   {
     if (sqlDelimiter == null)
     {
-      sqlDelimiter = getProperties().getProperty("jbpm.sql.delimiter", ";");
+      sqlDelimiter = properties.getProperty("jbpm.sql.delimiter", ";");
     }
     return sqlDelimiter;
   }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -39,6 +39,13 @@
 
 public abstract class HibernateHelper {
 
+  /** maps SessionFactory's to Configurations.         */
+  /** by default, configuration lookup will be enabled */
+  static Map configurations = new HashMap();
+  public static void clearConfigurationsCache() {
+    configurations = new HashMap();
+  }
+
   public static SessionFactory createSessionFactory() {
     return createSessionFactory(null, null, true);
   }
@@ -57,7 +64,11 @@
   }
 
   public static SessionFactory createSessionFactory(Configuration configuration, boolean isConfigLookupEnabled) {
-    return configuration.buildSessionFactory();
+    SessionFactory sessionFactory = configuration.buildSessionFactory();
+    if (isConfigLookupEnabled) {
+      configurations.put(sessionFactory, configuration);
+    }
+    return sessionFactory;
   }
 
   public static Configuration createConfiguration(String cfgXmlResource, String propertiesResource) {
@@ -91,6 +102,23 @@
     return configuration;
   }
 
+  public static Configuration getConfiguration(SessionFactory sessionFactory) {
+    return (Configuration) configurations.get(sessionFactory);
+  }
+  
+  public static SchemaExport createSchemaExport(SessionFactory sessionFactory) {
+    return new SchemaExport(getConfiguration(sessionFactory));
+  }
+
+  public static boolean createSchemaExportScript(SessionFactory sessionFactory) {
+    boolean script = false;
+    String showSql = getConfiguration(sessionFactory).getProperty("hibernate.show_sql");
+    if ("true".equalsIgnoreCase(showSql)) {
+      script = true;
+    }
+    return script;
+  }
+
   public static void clearHibernateCache(SessionFactory sessionFactory) {
     sessionFactory.evictQueries();
     

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/persistence/db/DbPersistenceServiceFactory.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/persistence/db/DbPersistenceServiceFactory.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/persistence/db/DbPersistenceServiceFactory.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -156,11 +156,6 @@
     }
   }
 
-  public void finalize() throws Throwable
-  {
-    close();
-  }
-
   public String getDataSourceJndiName()
   {
     return dataSourceJndiName;

Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.cache.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.cache.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.cache.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,67 +1,62 @@
 
-    <!-- ################################### -->
-    <!-- # cache settings                  # -->
-    <!-- # strategy="nonstrict-read-write" # -->
-    <!-- # can be used with hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider # -->
-    <!-- ################################### -->
+  <!-- ################################### -->
+  <!-- # cache settings                  # -->
+  <!-- # strategy="nonstrict-read-write" # -->
+  <!-- # can be used with hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider # -->
+  <!-- ################################### -->
+  
+  <class-cache class="org.jbpm.context.def.VariableAccess" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.file.def.FileDefinition.processFiles" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.graph.action.Script.variableAccesses" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.graph.def.Action" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.graph.def.Event" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Event.actions" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.graph.def.ExceptionHandler" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.ExceptionHandler.actions" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.graph.def.Node" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Node.events" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Node.exceptionHandlers" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Node.leavingTransitions" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Node.arrivingTransitions" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.graph.def.ProcessDefinition" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.events" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.exceptionHandlers" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.nodes" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.actions" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.definitions" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.graph.def.SuperState.nodes" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.graph.def.Transition" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Transition.events" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.graph.def.Transition.exceptionHandlers" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.graph.node.Decision.decisionConditions" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.graph.node.ProcessState.variableAccesses" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.graph.node.TaskNode.tasks" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.instantiation.Delegation" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.module.def.ModuleDefinition" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.taskmgmt.def.Swimlane.tasks" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.taskmgmt.def.TaskController" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.taskmgmt.def.TaskController.variableAccesses" usage="nonstrict-read-write" />
+  
+  <class-cache class="org.jbpm.taskmgmt.def.Task" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.taskmgmt.def.Task.events" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.taskmgmt.def.Task.exceptionHandlers" usage="nonstrict-read-write" />
+  
+  <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.swimlanes" usage="nonstrict-read-write" />
+  <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.tasks" usage="nonstrict-read-write" />
 
-    <class-cache	class="org.jbpm.context.def.VariableAccess" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.file.def.FileDefinition.processFiles" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.graph.action.Script.variableAccesses" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.graph.def.Action"	usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.graph.def.Event"	usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Event.actions" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.graph.def.ExceptionHandler"	usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.ExceptionHandler.actions" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.graph.def.Node" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Node.events" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Node.exceptionHandlers" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Node.leavingTransitions" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Node.arrivingTransitions" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.graph.def.ProcessDefinition"	usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.events" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.exceptionHandlers" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.nodes" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.actions" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.definitions" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.graph.def.SuperState.nodes" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.graph.def.Transition"	usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Transition.events" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.graph.def.Transition.exceptionHandlers" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.graph.node.Decision.decisionConditions" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.graph.node.ProcessState.variableAccesses" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.graph.node.TaskNode.tasks" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.instantiation.Delegation"	usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.module.def.ModuleDefinition"	usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.taskmgmt.def.Swimlane.tasks" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.taskmgmt.def.TaskController"	usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.taskmgmt.def.TaskController.variableAccesses" usage="nonstrict-read-write" />
-
-    <class-cache 	class="org.jbpm.taskmgmt.def.Task"	usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.taskmgmt.def.Task.events" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.taskmgmt.def.Task.exceptionHandlers" usage="nonstrict-read-write" />
-
-    <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.swimlanes" usage="nonstrict-read-write" />
-    <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.tasks" usage="nonstrict-read-write" />
-
-  <!--
-     ==================================================================================
-     END org.jboss.jbpm:jbpm-jpdl-core hibernate.cfg.xml
-     ==================================================================================
-  -->

Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.common.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -17,11 +17,15 @@
     <!-- # common settings                 # -->
     <!-- ################################### -->
 
+    <!-- Automatic schema creation (begin) -->
+    <property name="hibernate.hbm2ddl.auto">create</property>
+    <!-- Automatic schema creation (end) -->
+
     <!-- Simple memory-only cache -->
     <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
 
     <!-- logging properties --> 
-    <property name="hibernate.format_sql">false</property>
+    <property name="hibernate.format_sql">true</property>
     <property name="hibernate.use_sql_comments">true</property>
 
     <!-- ############################################ -->
@@ -31,4 +35,4 @@
     <!-- Additional mappings defined per module go here -->
     <mapping resource="hibernate.extra.hbm.xml" />
     <mapping resource="hibernate.identity.hbm.xml" />
-    
\ No newline at end of file
+    

Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.hsqldb.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -9,6 +9,3 @@
     <property name="hibernate.connection.password"></property>
     <!-- JDBC connection properties (end) -->
 
-    <!-- Automatic schema creation (begin) -->
-    <property name="hibernate.hbm2ddl.auto">create</property>
-    <!-- Automatic schema creation (end) -->
\ No newline at end of file

Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.mysql.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.mysql.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.mysql.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -9,3 +9,4 @@
     <property name="hibernate.connection.password">${jdbc.mysql.password}</property>
     <property name="hibernate.query.substitutions">true 1, false 0</property>
     <!-- JDBC connection properties (end) -->
+

Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.postgresql.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.postgresql.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.postgresql.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -8,3 +8,4 @@
     <property name="hibernate.connection.username">${jdbc.postgresql.username}</property>
     <property name="hibernate.connection.password">${jdbc.postgresql.password}</property>
     <!-- JDBC connection properties (end) -->
+

Modified: jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.sybase.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.sybase.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/hibernate.properties.sybase.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -4,15 +4,18 @@
        
        System Service QA Database Sybase
        https://wiki.corp.jboss.com/bin/view/IT/SystemServiceQaDatabaseSybase
+       
+       Install Sybase ASE 15.0.2 on Fedora9
+       https://www.jboss.org/community/docs/DOC-12932
     -->
 
     <!-- hibernate dialect -->
     <property name="hibernate.dialect">org.hibernate.dialect.SybaseDialect</property>
 
     <!-- JDBC connection properties (begin) -->
-    <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
+    <property name="hibernate.connection.driver_class">${jdbc.sybase.driver}</property>
     <property name="hibernate.connection.url">${jdbc.sybase.url}</property>
     <property name="hibernate.connection.username">${jdbc.sybase.username}</property>
     <property name="hibernate.connection.password">${jdbc.sybase.password}</property>
     <!-- JDBC connection properties (end) -->
-    
+

Modified: jbpm3/trunk/modules/core/src/main/resources/jbpm-sybase-ds.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/jbpm-sybase-ds.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/jbpm-sybase-ds.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -4,7 +4,7 @@
 
   <xa-datasource>
     <jndi-name>JbpmDS</jndi-name>
-
+    
     <xa-datasource-class>net.sourceforge.jtds.jdbcx.JtdsDataSource</xa-datasource-class>
     <xa-datasource-property name="ServerName">${jdbc.sybase.server}</xa-datasource-property>
     <xa-datasource-property name="PortNumber">${jdbc.sybase.port}</xa-datasource-property>
@@ -12,9 +12,6 @@
     <xa-datasource-property name="User">${jdbc.sybase.username}</xa-datasource-property>
     <xa-datasource-property name="Password">${jdbc.sybase.password}</xa-datasource-property>
 
-    <!-- disable transaction interleaving -->
-    <track-connection-by-tx />
-
     <exception-sorter-class-name>
       org.jboss.resource.adapter.jdbc.vendor.SybaseExceptionSorter
     </exception-sorter-class-name>

Modified: jbpm3/trunk/modules/core/src/main/resources/org/jbpm/ant/jbpm.ant.tasks.properties
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/org/jbpm/ant/jbpm.ant.tasks.properties	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/org/jbpm/ant/jbpm.ant.tasks.properties	2008-11-10 22:14:07 UTC (rev 2873)
@@ -3,5 +3,4 @@
 startjboss=org.jbpm.ant.StartJBossTask
 starthsqldb=org.jbpm.ant.StartHsqldbTask
 shutdownhsqldb=org.jbpm.ant.ShutDownHsqldb
-systemproperty=org.jbpm.ant.SystemPropertyTask
-!loadidentities=org.jbpm.identity.ant.LoadIdentitiesTask
+loadidentities=org.jbpm.identity.ant.LoadIdentitiesTask

Deleted: jbpm3/trunk/modules/core/src/main/resources/org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml
===================================================================
--- jbpm3/trunk/modules/core/src/main/resources/org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/main/resources/org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE hibernate-mapping PUBLIC
-    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
-    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping auto-import="false" default-access="field">
-  <subclass name="org.jbpm.context.exe.variableinstance.JcrNodeInstance" 
-            extends="org.jbpm.context.exe.VariableInstance" 
-            discriminator-value="J">
-
-    <!-- 
-    NOTE: these propertynames don't match the column names very well.
-    The motivation for this was to keep the database schema unchanged 
-    between jBPM 3.1 and jBPM 3.2
-    -->
-
-    <property name="repository" column="LONGIDCLASS_" />
-    <property name="workspace" column="STRINGIDCLASS_" />
-    <property name="path" column="STRINGVALUE_" type="text" />
-
-  </subclass>
-</hibernate-mapping>

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/SerializabilityTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/SerializabilityTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/SerializabilityTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -37,7 +37,12 @@
   String testRootDir = FileDefinitionFileSystemConfigTest.class.getProtectionDomain().getCodeSource().getLocation().getFile().toString();
   
   static Set excusedClasses = new HashSet(Arrays.asList(new String[] {
-      "org.jbpm.ant",
+      "org.jbpm.ant.DeployProcessTask",
+      "org.jbpm.ant.JbpmSchemaTask",
+      "org.jbpm.ant.Launcher",
+      "org.jbpm.ant.ShutDownHsqldb",
+      "org.jbpm.ant.StartHsqldbTask",
+      "org.jbpm.ant.StartJBossTask",
       "org.jbpm.context.exe.JbpmType",
       "org.jbpm.db.hibernate.ConverterEnumType",
       "org.jbpm.db.hibernate.Converters",

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/context/exe/CustomVariableStringIdDbTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -95,6 +95,5 @@
     {
       jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
     }
-
   }
-}
\ No newline at end of file
+}

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/DeleteProcessInstanceDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/DeleteProcessInstanceDbTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/DeleteProcessInstanceDbTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,10 +1,6 @@
 package org.jbpm.db;
 
-import java.util.Iterator;
-import java.util.List;
-
 import org.jbpm.context.exe.ContextInstance;
-import org.jbpm.context.exe.VariableInstance;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.graph.exe.Token;
@@ -120,8 +116,6 @@
   }
 
   public void testDeleteProcessInstanceWithConcurrentPathsOfExecution() {
-    ensureCleanVariableInstanceTable();
-
     ProcessDefinition makeFondue = ProcessDefinition.parseXmlString(
       "<process-definition name='make fondue'>" +
       "  <start-state>" +
@@ -173,16 +167,4 @@
       jbpmContext.getGraphSession().deleteProcessDefinition(makeFondue.getId());
     }
   }
-
-  private void ensureCleanVariableInstanceTable() {
-    List variableInstances = session.createCriteria(VariableInstance.class).list();
-    if (!variableInstances.isEmpty()) {
-      System.err.println("FIXME: "+ getClass().getName() + "." + getName() +
-          " found " + variableInstances.size() + " variable instances left over");
-      for (Iterator i = variableInstances.iterator(); i.hasNext();) {
-        VariableInstance variableInstance = (VariableInstance) i.next();
-        session.delete(variableInstance);
-      }
-    }
-  }
 }

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/db/GraphSessionDbTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -29,14 +29,17 @@
 import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.graph.exe.Token;
 
-public class GraphSessionDbTest extends AbstractDbTestCase {
+public class GraphSessionDbTest extends AbstractDbTestCase
+{
 
-  public void testProcessDefinitionSaveAndLoad() {
+  public void testProcessDefinitionSaveAndLoad()
+  {
     // create a process definition
     ProcessDefinition processDefinition = new ProcessDefinition("auction");
     // save it in the database
     graphSession.saveProcessDefinition(processDefinition);
-    try {
+    try
+    {
       // get the assigned id
       long processDefinitionId = processDefinition.getId();
       // start a new transaction
@@ -46,15 +49,16 @@
       // check the result
       assertEquals("auction", processDefinition.getName());
     }
-    finally {
-      // cleanup
+    finally
+    {
+      // cleanup 
       jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
     }
   }
 
-  public void testFindProcessDefinitionByNameAndVersion() {
-    // put 3 process definitions in the database with the same name, but
-    // different versions
+  public void testFindProcessDefinitionByNameAndVersion()
+  {
+    // put 3 process definitions in the database with the same name, but different versions
     ProcessDefinition processDefinitionOne = new ProcessDefinition("auction");
     processDefinitionOne.setVersion(1);
     graphSession.saveProcessDefinition(processDefinitionOne);
@@ -77,11 +81,11 @@
     assertEquals(secondVersionProcessDefinitionId, processDefinitionTwo.getId());
     assertEquals("auction", processDefinitionTwo.getName());
     assertEquals(2, processDefinitionTwo.getVersion());
-
+    
     // start a new transaction
     newTransaction();
 
-    // cleanup
+    // cleanup 
     graphSession.deleteProcessDefinition(processDefinitionOne.getId());
     newTransaction();
     graphSession.deleteProcessDefinition(processDefinitionTwo.getId());
@@ -89,9 +93,9 @@
     graphSession.deleteProcessDefinition(processDefinitionThree.getId());
   }
 
-  public void testFindLatestProcessDefinition() throws Exception {
-    // put 3 process definitions in the database with the same name, but
-    // different versions
+  public void testFindLatestProcessDefinition() throws Exception
+  {
+    // put 3 process definitions in the database with the same name, but different versions
     ProcessDefinition processDefinition = new ProcessDefinition("auction");
     processDefinition.setVersion(1);
     graphSession.saveProcessDefinition(processDefinition);
@@ -115,7 +119,7 @@
 
     newTransaction();
 
-    // cleanup
+    // cleanup 
     processDefinition = graphSession.findProcessDefinition("auction", 1);
     graphSession.deleteProcessDefinition(processDefinition.getId());
 
@@ -126,11 +130,9 @@
     graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testFindAllProcessDefinitions() throws Exception {
-    ensureCleanProcessDefinitionTable();
-
-    // put 3 process definitions in the database with the same name, but
-    // different versions
+  public void testFindAllProcessDefinitions() throws Exception
+  {
+    // put 3 process definitions in the database with the same name, but different versions
     ProcessDefinition processDefinition = new ProcessDefinition("auction");
     processDefinition.setVersion(1);
     graphSession.saveProcessDefinition(processDefinition);
@@ -153,43 +155,41 @@
 
     newTransaction();
 
-    try {
-      List allProcessDefinitions = graphSession.findAllProcessDefinitions();
-      assertEquals(5, allProcessDefinitions.size());
-      assertEquals(3, ((ProcessDefinition) allProcessDefinitions.get(0)).getVersion());
-      assertEquals("auction", ((ProcessDefinition) allProcessDefinitions.get(0)).getName());
-      assertEquals(2, ((ProcessDefinition) allProcessDefinitions.get(1)).getVersion());
-      assertEquals("auction", ((ProcessDefinition) allProcessDefinitions.get(1)).getName());
-      assertEquals(1, ((ProcessDefinition) allProcessDefinitions.get(2)).getVersion());
-      assertEquals("auction", ((ProcessDefinition) allProcessDefinitions.get(2)).getName());
-      assertEquals(2, ((ProcessDefinition) allProcessDefinitions.get(3)).getVersion());
-      assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitions.get(3)).getName());
-      assertEquals(1, ((ProcessDefinition) allProcessDefinitions.get(4)).getVersion());
-      assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitions.get(4)).getName());
+    List allProcessDefinitions = graphSession.findAllProcessDefinitions();
+    assertEquals(5, allProcessDefinitions.size());
+    assertEquals(3, ((ProcessDefinition)allProcessDefinitions.get(0)).getVersion());
+    assertEquals("auction", ((ProcessDefinition)allProcessDefinitions.get(0)).getName());
+    assertEquals(2, ((ProcessDefinition)allProcessDefinitions.get(1)).getVersion());
+    assertEquals("auction", ((ProcessDefinition)allProcessDefinitions.get(1)).getName());
+    assertEquals(1, ((ProcessDefinition)allProcessDefinitions.get(2)).getVersion());
+    assertEquals("auction", ((ProcessDefinition)allProcessDefinitions.get(2)).getName());
+    assertEquals(2, ((ProcessDefinition)allProcessDefinitions.get(3)).getVersion());
+    assertEquals("bake cake", ((ProcessDefinition)allProcessDefinitions.get(3)).getName());
+    assertEquals(1, ((ProcessDefinition)allProcessDefinitions.get(4)).getVersion());
+    assertEquals("bake cake", ((ProcessDefinition)allProcessDefinitions.get(4)).getName());
 
-      newTransaction();
-    }
-    finally {
-      processDefinition = graphSession.findProcessDefinition("auction", 1);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    newTransaction();
 
-      processDefinition = graphSession.findProcessDefinition("auction", 2);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    // cleanup 
+    processDefinition = graphSession.findProcessDefinition("auction", 1);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
-      processDefinition = graphSession.findProcessDefinition("auction", 3);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    processDefinition = graphSession.findProcessDefinition("auction", 2);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
-      processDefinition = graphSession.findProcessDefinition("bake cake", 1);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    processDefinition = graphSession.findProcessDefinition("auction", 3);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
-      processDefinition = graphSession.findProcessDefinition("bake cake", 2);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    processDefinition = graphSession.findProcessDefinition("bake cake", 1);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
+
+    processDefinition = graphSession.findProcessDefinition("bake cake", 2);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testFindAllProcessDefinitionVersions() throws Exception {
-    // put 3 process definitions in the database with the same name, but
-    // different versions
+  public void testFindAllProcessDefinitionVersions() throws Exception
+  {
+    // put 3 process definitions in the database with the same name, but different versions
     ProcessDefinition processDefinition = new ProcessDefinition("auction");
     processDefinition.setVersion(1);
     graphSession.saveProcessDefinition(processDefinition);
@@ -212,213 +212,184 @@
 
     newTransaction();
 
-    try {
-      List allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("auction");
-      assertEquals(3, allProcessDefinitionVersions.size());
-      assertEquals(3, ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getVersion());
-      assertEquals("auction", ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getName());
-      assertEquals(2, ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getVersion());
-      assertEquals("auction", ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getName());
-      assertEquals(1, ((ProcessDefinition) allProcessDefinitionVersions.get(2)).getVersion());
-      assertEquals("auction", ((ProcessDefinition) allProcessDefinitionVersions.get(2)).getName());
+    List allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("auction");
+    assertEquals(3, allProcessDefinitionVersions.size());
+    assertEquals(3, ((ProcessDefinition)allProcessDefinitionVersions.get(0)).getVersion());
+    assertEquals("auction", ((ProcessDefinition)allProcessDefinitionVersions.get(0)).getName());
+    assertEquals(2, ((ProcessDefinition)allProcessDefinitionVersions.get(1)).getVersion());
+    assertEquals("auction", ((ProcessDefinition)allProcessDefinitionVersions.get(1)).getName());
+    assertEquals(1, ((ProcessDefinition)allProcessDefinitionVersions.get(2)).getVersion());
+    assertEquals("auction", ((ProcessDefinition)allProcessDefinitionVersions.get(2)).getName());
 
-      allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("bake cake");
-      assertEquals(2, allProcessDefinitionVersions.size());
-      assertEquals(2, ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getVersion());
-      assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitionVersions.get(0)).getName());
-      assertEquals(1, ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getVersion());
-      assertEquals("bake cake", ((ProcessDefinition) allProcessDefinitionVersions.get(1)).getName());
+    allProcessDefinitionVersions = graphSession.findAllProcessDefinitionVersions("bake cake");
+    assertEquals(2, allProcessDefinitionVersions.size());
+    assertEquals(2, ((ProcessDefinition)allProcessDefinitionVersions.get(0)).getVersion());
+    assertEquals("bake cake", ((ProcessDefinition)allProcessDefinitionVersions.get(0)).getName());
+    assertEquals(1, ((ProcessDefinition)allProcessDefinitionVersions.get(1)).getVersion());
+    assertEquals("bake cake", ((ProcessDefinition)allProcessDefinitionVersions.get(1)).getName());
 
-      newTransaction();
-    }
-    finally {
-      processDefinition = graphSession.findProcessDefinition("auction", 1);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    newTransaction();
 
-      processDefinition = graphSession.findProcessDefinition("auction", 2);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    // cleanup 
+    processDefinition = graphSession.findProcessDefinition("auction", 1);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
-      processDefinition = graphSession.findProcessDefinition("auction", 3);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    processDefinition = graphSession.findProcessDefinition("auction", 2);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
-      processDefinition = graphSession.findProcessDefinition("bake cake", 1);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
+    processDefinition = graphSession.findProcessDefinition("auction", 3);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
-      processDefinition = graphSession.findProcessDefinition("bake cake", 2);
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    processDefinition = graphSession.findProcessDefinition("bake cake", 1);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
+
+    processDefinition = graphSession.findProcessDefinition("bake cake", 2);
+    graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testSaveAndLoadProcessInstance() {
+  public void testSaveAndLoadProcessInstance()
+  {
     ProcessInstance processInstance = new ProcessInstance();
     processInstance = saveAndReload(processInstance);
-    try {
-      assertNotNull(processInstance);
-    }
-    finally {
-      graphSession.deleteProcessInstance(processInstance);
-    }
+    assertNotNull(processInstance);
+    
+    // cleanup 
+    session.delete(processInstance);
   }
 
-  public void testUpdateProcessInstance() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state name='s' />"
-        + "  <node name='n' />"
+  public void testUpdateProcessInstance()
+  {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>" + "  <start-state name='s' />" + "  <node name='n' />"
         + "</process-definition>");
 
     processDefinition = saveAndReload(processDefinition);
-    
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
 
-      processInstance = saveAndReload(processInstance);
-      long pid = processInstance.getId();
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
 
-      assertEquals("s", processInstance.getRootToken().getNode().getName());
-      processInstance.getRootToken().setNode(processInstance.getProcessDefinition().getNode("n"));
+    processInstance = saveAndReload(processInstance);
+    long pid = processInstance.getId();
 
-      processInstance = saveAndReload(processInstance);
-      assertEquals("n", processInstance.getRootToken().getNode().getName());
-      assertEquals(pid, processInstance.getId());
+    assertEquals("s", processInstance.getRootToken().getNode().getName());
+    processInstance.getRootToken().setNode(processInstance.getProcessDefinition().getNode("n"));
 
-      newTransaction();
-    }
-    finally {
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    processInstance = saveAndReload(processInstance);
+    assertEquals("n", processInstance.getRootToken().getNode().getName());
+    assertEquals(pid, processInstance.getId());
+
+    newTransaction();
+
+    // cleanup 
+    graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testFindProcessInstancesByProcessDefinition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state name='s' />"
-        + "  <node name='n' />"
+  public void testFindProcessInstancesByProcessDefinition()
+  {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>" + "  <start-state name='s' />" + "  <node name='n' />"
         + "</process-definition>");
 
     graphSession.saveProcessDefinition(processDefinition);
 
-    try {
-      jbpmContext.save(new ProcessInstance(processDefinition));
-      jbpmContext.save(new ProcessInstance(processDefinition));
-      jbpmContext.save(new ProcessInstance(processDefinition));
+    jbpmContext.save(new ProcessInstance(processDefinition));
+    jbpmContext.save(new ProcessInstance(processDefinition));
+    jbpmContext.save(new ProcessInstance(processDefinition));
 
-      newTransaction();
+    newTransaction();
 
-      List processInstances = graphSession.findProcessInstances(processDefinition.getId());
-      assertEquals(3, processInstances.size());
+    List processInstances = graphSession.findProcessInstances(processDefinition.getId());
+    assertEquals(3, processInstances.size());
 
-      // process instances should be ordered from recent to old
-      long previousStart = System.currentTimeMillis();
-      Iterator iter = processInstances.iterator();
-      while (iter.hasNext()) {
-        ProcessInstance processInstance = (ProcessInstance) iter.next();
-        long processStart = processInstance.getStart().getTime();
-        assertTrue(previousStart >= processStart);
-        previousStart = processStart;
-      }
-
-      newTransaction();
+    // process instances should be ordered from recent to old
+    long previousStart = System.currentTimeMillis();
+    Iterator iter = processInstances.iterator();
+    while (iter.hasNext())
+    {
+      ProcessInstance processInstance = (ProcessInstance)iter.next();
+      long processStart = processInstance.getStart().getTime();
+      assertTrue(previousStart >= processStart);
+      previousStart = processStart;
     }
-    finally {
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    
+    newTransaction();
+
+    // cleanup 
+    graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testDeleteProcessInstance() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state name='s' />"
-        + "  <node name='n' />"
+  public void testDeleteProcessInstance()
+  {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>" + "  <start-state name='s' />" + "  <node name='n' />"
         + "</process-definition>");
     graphSession.saveProcessDefinition(processDefinition);
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    jbpmContext.save(processInstance);
 
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      jbpmContext.save(processInstance);
+    newTransaction();
 
-      newTransaction();
+    graphSession.deleteProcessInstance(processInstance.getId());
 
-      graphSession.deleteProcessInstance(processInstance.getId());
+    newTransaction();
 
-      newTransaction();
+    assertEquals(0, graphSession.findProcessInstances(processDefinition.getId()).size());
+    
+    newTransaction();
 
-      assertEquals(0, graphSession.findProcessInstances(processDefinition.getId()).size());
-
-      newTransaction();
-    }
-    finally {
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    // cleanup 
+    graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testDeleteProcessInstanceWithVariables() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
-        + "  <start-state name='start'>"
-        + "    <transition to='fork' />"
-        + "  </start-state>"
-        + "  <fork name='fork'>"
-        + "    <transition name='a' to='a' />"
-        + "    <transition name='b' to='b' />"
-        + "  </fork>"
-        + "  <state name='a' />"
-        + "  <state name='b' />"
-        + "</process-definition>");
+  public void testDeleteProcessInstanceWithVariables()
+  {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>" + "  <start-state name='start'>" + "    <transition to='fork' />"
+        + "  </start-state>" + "  <fork name='fork'>" + "    <transition name='a' to='a' />" + "    <transition name='b' to='b' />" + "  </fork>"
+        + "  <state name='a' />" + "  <state name='b' />" + "</process-definition>");
 
     graphSession.saveProcessDefinition(processDefinition);
 
-    try {
-      ProcessInstance processInstance = new ProcessInstance(processDefinition);
-      processInstance.signal();
-      Token tokenA = processInstance.findToken("/a");
-      Token tokenB = processInstance.findToken("/b");
+    ProcessInstance processInstance = new ProcessInstance(processDefinition);
+    processInstance.signal();
+    Token tokenA = processInstance.findToken("/a");
+    Token tokenB = processInstance.findToken("/b");
 
-      ContextInstance contextInstance = processInstance.getContextInstance();
-      contextInstance.setVariable("r", "rrrrrr");
-      contextInstance.createVariable("a", "aaaaaa", tokenA);
-      contextInstance.createVariable("b", "bbbbbb", tokenB);
+    ContextInstance contextInstance = processInstance.getContextInstance();
+    contextInstance.setVariable("r", "rrrrrr");
+    contextInstance.createVariable("a", "aaaaaa", tokenA);
+    contextInstance.createVariable("b", "bbbbbb", tokenB);
 
-      processInstance = saveAndReload(processInstance);
+    processInstance = saveAndReload(processInstance);
 
-      graphSession.deleteProcessInstance(processInstance);
+    graphSession.deleteProcessInstance(processInstance);
 
-      newTransaction();
+    newTransaction();
 
-      List processInstances = graphSession.findProcessInstances(processDefinition.getId());
-      assertEquals(0, processInstances.size());
-
-      newTransaction();
-    }
-    finally {
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    List processInstances = graphSession.findProcessInstances(processDefinition.getId());
+    assertEquals(0, processInstances.size());
+    
+    newTransaction();
+    graphSession.deleteProcessDefinition(processDefinition.getId());
   }
 
-  public void testDeleteProcessDefinition() {
-    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition name='deleteme'>"
-        + "  <start-state name='s' />"
-        + "  <node name='n' />"
+  public void testDeleteProcessDefinition()
+  {
+    ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>" + "  <start-state name='s' />" + "  <node name='n' />"
         + "</process-definition>");
     graphSession.saveProcessDefinition(processDefinition);
+    jbpmContext.save(new ProcessInstance(processDefinition));
+    jbpmContext.save(new ProcessInstance(processDefinition));
+    jbpmContext.save(new ProcessInstance(processDefinition));
+    jbpmContext.save(new ProcessInstance(processDefinition));
 
-    try {
-      jbpmContext.save(new ProcessInstance(processDefinition));
-      jbpmContext.save(new ProcessInstance(processDefinition));
-      jbpmContext.save(new ProcessInstance(processDefinition));
-      jbpmContext.save(new ProcessInstance(processDefinition));
+    newTransaction();
 
-      newTransaction();
-    }
-    finally {
-      graphSession.deleteProcessDefinition(processDefinition.getId());
-    }
+    graphSession.deleteProcessDefinition(processDefinition.getId());
 
     newTransaction();
 
-    assertEquals(0, graphSession.findAllProcessDefinitionVersions(processDefinition.getName()).size());
+    assertEquals(0, graphSession.findAllProcessDefinitions().size());
     assertEquals(0, graphSession.findProcessInstances(processDefinition.getId()).size());
   }
 
-  public void testLatestProcessDefinitions() {
-    ensureCleanProcessDefinitionTable();
-
+  public void testLatestProcessDefinitions()
+  {
     ProcessDefinition websale = new ProcessDefinition("websale");
     jbpmContext.deployProcessDefinition(websale);
     jbpmContext.deployProcessDefinition(websale);
@@ -442,23 +413,14 @@
     graphSession.deleteProcessDefinition(changeNappy.getId());
   }
 
-  private void ensureCleanProcessDefinitionTable() {
-    List processDefinitions = session.createCriteria(ProcessDefinition.class).list();
-    if (!processDefinitions.isEmpty()) {
-      System.err.println("FIXME: "+ getClass().getName() + "." + getName() +
-          " found " + processDefinitions.size() + " process definitions left over");
-      for (Iterator i = processDefinitions.iterator(); i.hasNext();) {
-        ProcessDefinition processDefinition = (ProcessDefinition) i.next();
-        graphSession.deleteProcessDefinition(processDefinition);
-      }
-    }
-  }
-
-  private int getVersionOfProcess(String name, List latestProcessDefinitions) {
+  private int getVersionOfProcess(String name, List latestProcessDefinitions)
+  {
     Iterator iter = latestProcessDefinitions.iterator();
-    while (iter.hasNext()) {
-      ProcessDefinition processDefinition = (ProcessDefinition) iter.next();
-      if (name.equals(processDefinition.getName())) {
+    while (iter.hasNext())
+    {
+      ProcessDefinition processDefinition = (ProcessDefinition)iter.next();
+      if (name.equals(processDefinition.getName()))
+      {
         return processDefinition.getVersion();
       }
     }

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm522/JBPM522Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm522/JBPM522Test.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm522/JBPM522Test.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -45,47 +45,38 @@
   public void testDeployProcess()
   {
     runTarget("deploy.process");
-    List processDefinitions = graphSession.findAllProcessDefinitionVersions("timerProcess");
+    List processDefinitions = graphSession.findAllProcessDefinitions();
     assertEquals(1, processDefinitions.size());
     ProcessDefinition processDefinition = (ProcessDefinition)processDefinitions.get(0);
     assertEquals("timerProcess", processDefinition.getName());
-    graphSession.deleteProcessDefinition(processDefinition);
+    session.delete(processDefinition);
   }
 
   public void testDeployBadProcess()
   {
     runTarget("deploy.bad.process");
-    List processDefinitions = graphSession.findAllProcessDefinitionVersions("sequential process");
+    List processDefinitions = graphSession.findAllProcessDefinitions();
     assertEquals(0, processDefinitions.size());
   }
 
   public void testDeployProcesses()
   {
     runTarget("deploy.processes");
-    List processDefinitions = graphSession.findAllProcessDefinitionVersions("classLoadingProcess");
-    assertEquals(1, processDefinitions.size());
+    List processDefinitions = graphSession.findAllProcessDefinitions();
+    assertEquals(2, processDefinitions.size());
     ProcessDefinition processDefinition = (ProcessDefinition)processDefinitions.get(0);
     assertEquals("classLoadingProcess", processDefinition.getName());
-    graphSession.deleteProcessDefinition(processDefinition);
-
-    processDefinitions = graphSession.findAllProcessDefinitionVersions("timerProcess");
-    assertEquals(1, processDefinitions.size());
-    processDefinition = (ProcessDefinition)processDefinitions.get(0);
+    session.delete(processDefinition);
+    processDefinition = (ProcessDefinition)processDefinitions.get(1);
     assertEquals("timerProcess", processDefinition.getName());
-    graphSession.deleteProcessDefinition(processDefinition);
+    session.delete(processDefinition);
   }
 
   public void testDeployProcessesIncludingBad()
   {
     runTarget("deploy.processes.including.bad");
-    List processDefinitions = graphSession.findAllProcessDefinitionVersions("timerProcess");
+    List processDefinitions = graphSession.findAllProcessDefinitions();
     assertEquals(0, processDefinitions.size());
-
-    processDefinitions = graphSession.findAllProcessDefinitionVersions("sequential process");
-    assertEquals(0, processDefinitions.size());
-
-    processDefinitions = graphSession.findAllProcessDefinitionVersions("classLoadingProces");
-    assertEquals(0, processDefinitions.size());
   }
 
   private static void runTarget(String target)

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessArchiveDeploymentDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessArchiveDeploymentDbTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/par/ProcessArchiveDeploymentDbTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -23,6 +23,10 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
@@ -33,6 +37,10 @@
 
 import org.jbpm.db.AbstractDbTestCase;
 import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.instantiation.ProcessClassLoader;
+import org.jbpm.taskmgmt.def.Task;
+import org.jbpm.taskmgmt.def.TaskMgmtDefinition;
 import org.jbpm.util.ClassLoaderUtil;
 import org.jbpm.util.IoUtil;
 
@@ -62,7 +70,7 @@
     {
       newTransaction();
 
-      List allProcessDefinitions = graphSession.findAllProcessDefinitionVersions(processDefinition.getName()); 
+      List allProcessDefinitions = graphSession.findAllProcessDefinitions();
       assertEquals(1, allProcessDefinitions.size());
       
       processDefinition = (ProcessDefinition)allProcessDefinitions.get(0);
@@ -92,7 +100,7 @@
     {
       newTransaction();
 
-      List allProcessDefinitions = graphSession.findAllProcessDefinitionVersions(processDefinition.getName());
+      List allProcessDefinitions = graphSession.findAllProcessDefinitions();
       assertEquals(1, allProcessDefinitions.size());
       processDefinition = (ProcessDefinition)allProcessDefinitions.get(0);
       byte[] processBytes = processDefinition.getFileDefinition().getBytes("classes/org/jbpm/jpdl/par/ProcessArchiveDeploymentDbTest.class");
@@ -127,15 +135,12 @@
     ProcessDefinition processDefinitionTwo = ProcessDefinition.parseParZipInputStream(zipInputStream);
     jbpmContext.deployProcessDefinition(processDefinitionTwo);
 
-    String processDefinitionName = processDefinitionTwo.getName();
-    assertEquals(processDefinitionName, processDefinitionOne.getName());
-
     newTransaction();
 
     try
     {
-      assertEquals(2, graphSession.findAllProcessDefinitionVersions(processDefinitionName).size());
-      assertEquals(2, graphSession.findLatestProcessDefinition(processDefinitionName).getVersion());
+      assertEquals(2, graphSession.findAllProcessDefinitions().size());
+      assertEquals(2, graphSession.findLatestProcessDefinition("the deployable process").getVersion());
     }
     finally
     {

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/xml/XmlSchemaTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/xml/XmlSchemaTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jpdl/xml/XmlSchemaTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -70,7 +70,7 @@
   }
 
   public void testMultipleNamespaces() {
-    JpdlParser.addSchemaResource("org/jbpm/jpdl/xml/sitemap.xsd");
+    JpdlParser.addSchemaResource("org/jbpm/jpdl/xml/files/sitemap.xsd");
     try {
       parseXmlForThisMethod();
       fail("expected exception");

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -3,6 +3,8 @@
 import java.util.Arrays;
 import java.util.Iterator;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.jbpm.AbstractJbpmTestCase;
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmContext;
@@ -14,15 +16,21 @@
 import com.dumbster.smtp.SimpleSmtpServer;
 import com.dumbster.smtp.SmtpMessage;
 
-public class MailTest extends AbstractJbpmTestCase {
-  
-  public static class TestAddressResolver implements AddressResolver {
+public class MailTest extends AbstractJbpmTestCase
+{
+  private static Log log = LogFactory.getLog(MailTest.class);
+
+  public static class TestAddressResolver implements AddressResolver
+  {
     private static final long serialVersionUID = 1L;
-    public Object resolveAddress(String actorId) {
-      if ("ghost".equals(actorId)) {
+
+    public Object resolveAddress(String actorId)
+    {
+      if ("ghost".equals(actorId))
+      {
         return null;
       }
-      return actorId+"@example.domain";
+      return actorId + "@example.domain";
     }
   }
 
@@ -44,23 +52,31 @@
     jbpmContext = jbpmConfiguration.createJbpmContext();
   }
 
-  static SimpleSmtpServer startSmtpServer(int port) {
-    /* SimpleSmtpServer.start(int) blocks the calling thread until the server socket is created.
-     * If the socket is created too quickly (seems to happen on Linux and Mac) then the 
-     * notification is sent too early and the calling thread blocks forever. */
+  static SimpleSmtpServer startSmtpServer(int port)
+  {
+    /*
+     * SimpleSmtpServer.start(int) blocks the calling thread until the server socket is created. If the socket is
+     * created too quickly (seems to happen on Linux and Mac) then the notification is sent too early and the calling
+     * thread blocks forever.
+     */
     // return SimpleSmtpServer.start(port);
-
-    /* The code below corresponds to SimpleSmtpServer.start(int) except that the
-     * thread start has been moved inside of the synchronized block. */    
+    /*
+     * The code below corresponds to SimpleSmtpServer.start(int) except that the thread start has been moved inside of
+     * the synchronized block.
+     */
     SimpleSmtpServer server = new SimpleSmtpServer(port);
     Thread serverThread = new Thread(server);
 
     // Block until the server socket is created
-    synchronized (server) {
+    synchronized (server)
+    {
       serverThread.start();
-      try {
+      try
+      {
         server.wait(10 * 1000);
-      } catch (InterruptedException e) {
+      }
+      catch (InterruptedException e)
+      {
         // Ignore don't care.
       }
     }
@@ -70,59 +86,71 @@
   protected void tearDown() throws Exception
   {
     jbpmContext.close();
-    server.stop();
+    try
+    {
+      server.stop();
+    }
+    catch (RuntimeException rte)
+    {
+      // This is an intermittent issue that we can safely ignore
+      log.error("Cannot stop server: " + rte);
+    }
     super.tearDown();
   }
 
-  public void testWithoutAddressResolving() {
+  public void testWithoutAddressResolving()
+  {
     String to = "sample.shipper at example.domain";
     String subject = "latest news";
     String text = "roy is assurancetourix";
-    
+
     Mail mail = new Mail(null, null, to, subject, text);
     mail.send();
-    
+
     assertTrue(server.getReceivedEmailSize() == 1);
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("latest news", email.getHeaderValue("Subject"));
     assertEquals("roy is assurancetourix", email.getBody());
     assertEquals("sample.shipper at example.domain", email.getHeaderValue("To"));
   }
 
-  public void testMailWithAddressResolving() {
+  public void testMailWithAddressResolving()
+  {
     String actors = "manager";
     String subject = "latest news";
     String text = "roy is assurancetourix";
-    
+
     Mail mail = new Mail(null, actors, null, subject, text);
     mail.send();
-    
+
     assertTrue(server.getReceivedEmailSize() == 1);
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("latest news", email.getHeaderValue("Subject"));
     assertEquals("roy is assurancetourix", email.getBody());
     assertEquals("manager at example.domain", email.getHeaderValue("To"));
   }
-  
-  public void testMailWithBccAddress() {
+
+  public void testMailWithBccAddress()
+  {
     String bcc = "bcc at example.domain";
     String subject = "latest news";
     String text = "roy is assurancetourix";
-    
+
     Mail mail = new Mail(null, null, null, null, bcc, subject, text);
     mail.send();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email1 = (SmtpMessage) emailIter.next();
+    SmtpMessage email1 = (SmtpMessage)emailIter.next();
     assertEquals("latest news", email1.getHeaderValue("Subject"));
     assertEquals("roy is assurancetourix", email1.getBody());
     assertNull(email1.getHeaderValue("To"));
   }  
   
-  public void testMailNodeAttributes() {
+  public void testMailNodeAttributes() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -136,16 +164,17 @@
     );
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
-    
+
     assertTrue(server.getReceivedEmailSize() == 1);
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("readmylips", email.getHeaderValue("Subject"));
     assertEquals("nomoretaxes", email.getBody());
     assertEquals("george at example.domain", email.getHeaderValue("To"));
   }
   
-  public void testMailNodeElements() {
+  public void testMailNodeElements() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -161,16 +190,17 @@
     );
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
-    
+
     assertTrue(server.getReceivedEmailSize() == 1);
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("readmylips", email.getHeaderValue("Subject"));
     assertEquals("nomoretaxes", email.getBody());
     assertEquals("george at example.domain", email.getHeaderValue("To"));
   }
 
-  public void testMailActionAttributes() {
+  public void testMailActionAttributes() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -183,16 +213,17 @@
     );
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
-    
+
     assertTrue(server.getReceivedEmailSize() == 1);
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("readmylips", email.getHeaderValue("Subject"));
     assertEquals("nomoretaxes", email.getBody());
     assertEquals("george at example.domain", email.getHeaderValue("To"));
   }
 
-  public void testMailActionElements() {
+  public void testMailActionElements() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -209,16 +240,17 @@
     );
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
-    
+
     assertTrue(server.getReceivedEmailSize() == 1);
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("readmylips", email.getHeaderValue("Subject"));
     assertEquals("nomoretaxes", email.getBody());
     assertEquals("george at example.domain", email.getHeaderValue("To"));
   }
 
-  public void testMultipleRecipients() {
+  public void testMultipleRecipients() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -231,16 +263,18 @@
     );
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("readmylips", email.getHeaderValue("Subject"));
     assertEquals("nomoretaxes", email.getBody());
-    assertEquals(Arrays.asList(new String[]{"george at example.domain", "barbara at example.domain", "suzy at example.domain"}), Arrays.asList(email.getHeaderValues("To")));
+    assertEquals(Arrays.asList(new String[] { "george at example.domain", "barbara at example.domain", "suzy at example.domain" }), Arrays.asList(email
+        .getHeaderValues("To")));
   }
 
-  public void testMailWithoutAddressResolving() {
+  public void testMailWithoutAddressResolving() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -253,24 +287,30 @@
     );
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.signal();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
-    assertEquals(Arrays.asList(new String[]{"george at humpydumpy.gov", "spiderman at hollywood.ca.us"}), Arrays.asList(email.getHeaderValues("To")));
+    SmtpMessage email = (SmtpMessage)emailIter.next();
+    assertEquals(Arrays.asList(new String[] { "george at humpydumpy.gov", "spiderman at hollywood.ca.us" }), Arrays.asList(email.getHeaderValues("To")));
   }
-  
-  public static class User {
-	String email;
-	public User(String email) {
+
+  public static class User
+  {
+    String email;
+
+    public User(String email)
+    {
       this.email = email;
-	}
-	public String getEmail() {
-	  return email;
-	}
+    }
+
+    public String getEmail()
+    {
+      return email;
+    }
   }
 
-  public void testToVariableExpression() {
+  public void testToVariableExpression() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -283,18 +323,19 @@
     );
     
     User mrNobody = new User("hucklebuck at example.domain");
-    
+
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.getContextInstance().setVariable("user", mrNobody);
     processInstance.signal();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("hucklebuck at example.domain", email.getHeaderValue("To"));
   }
 
-  public void testToSwimlaneExpression() {
+  public void testToSwimlaneExpression() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -312,14 +353,15 @@
     initiatorInstance.setActorId("huckelberry");
     processInstance.getTaskMgmtInstance().addSwimlaneInstance(initiatorInstance);
     processInstance.signal();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("huckelberry at example.domain", email.getHeaderValue("To"));
   }
 
-  public void testSubjectExpression() {
+  public void testSubjectExpression() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -334,14 +376,15 @@
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.getContextInstance().setVariable("item", "cookies");
     processInstance.signal();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("your cookies order", email.getHeaderValue("Subject"));
   }
 
-  public void testTextExpression() {
+  public void testTextExpression() 
+  {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -356,10 +399,10 @@
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
     processInstance.getContextInstance().setVariable("item", "cookies");
     processInstance.signal();
-    
+
     assertEquals(1, server.getReceivedEmailSize());
     Iterator emailIter = server.getReceivedEmail();
-    SmtpMessage email = (SmtpMessage) emailIter.next();
+    SmtpMessage email = (SmtpMessage)emailIter.next();
     assertEquals("your cookies order", email.getBody());
   }
 }

Modified: jbpm3/trunk/modules/core/src/test/resources/log4j.xml
===================================================================
--- jbpm3/trunk/modules/core/src/test/resources/log4j.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/core/src/test/resources/log4j.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -32,35 +32,18 @@
   <!-- Limit categories -->
   <!-- ================ -->
 
-  <category name="org.jbpm">
-    <priority value="DEBUG" />
-  </category>
-
   <category name="org.hibernate">
     <priority value="INFO" />
   </category>
-
-  <!-- hide optimistic locking failures
-  <category name="org.hibernate.event.def.AbstractFlushingEventListener">
-    <priority value="FATAL" />
-  </category>
-  -->
-
-  <!-- hide proxy narrowing warns -->
-  <category name="org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog">
-    <priority value="ERROR" />
-  </category>
-
-  <!-- show SQL DML statements as they are executed -->
   <category name="org.hibernate.SQL">
     <priority value="DEBUG" />
   </category>
-
-  <!-- show JDBC parameters
   <category name="org.hibernate.type">
     <priority value="TRACE" />
   </category>
-  -->
+  <category name="org.hibernate.connection">
+    <priority value="TRACE" />
+  </category>
 
   <!-- ======================= -->
   <!-- Setup the Root category -->

Modified: jbpm3/trunk/modules/db/pom.xml
===================================================================
--- jbpm3/trunk/modules/db/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/db/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -36,15 +36,17 @@
       <artifactId>jbpm-jpdl</artifactId>
       <version>${version}</version>
     </dependency>
-    
-    <!-- Test Dependencies -->
     <dependency>
       <groupId>org.jbpm.jbpm3</groupId>
       <artifactId>jbpm-jpdl</artifactId>
       <classifier>config</classifier>
       <version>${version}</version>
-      <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <scope>runtime</scope>
+    </dependency>
   </dependencies>
 
   <!-- Plugins -->
@@ -62,7 +64,7 @@
             <configuration>
               <tasks>
                 <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
-                <!-- ant antfile="scripts/antrun-jbpmschema.xml" target="jbpmschema" /-->
+                <ant antfile="scripts/antrun-jbpmschema.xml" target="jbpmschema" />
               </tasks>
             </configuration>
           </execution>
@@ -72,10 +74,10 @@
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
           <includes>
-            <include>ddl/*</include>
+            <include>jbpm.jpdl.*.sql</include>
           </includes>
         </configuration>
       </plugin>
     </plugins>
   </build>
-</project>
\ No newline at end of file
+</project>

Modified: jbpm3/trunk/modules/db/scripts/antrun-jbpmschema.xml
===================================================================
--- jbpm3/trunk/modules/db/scripts/antrun-jbpmschema.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/db/scripts/antrun-jbpmschema.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -20,25 +20,27 @@
       <classpath path="${maven.runtime.classpath}" />
     </taskdef>
 
-    <property name="scriptsdir" value="${basedir}/target/classes/ddl" />
+    <property name="scriptsdir" value="${basedir}/target/classes" />
     <mkdir dir="${scriptsdir}" />
-    
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.db2.sql"        jbpmCfg="jbpm/db2.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.derby.sql"      jbpmCfg="jbpm/derby.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.firebird.sql"   jbpmCfg="jbpm/firebird.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.hsqldb.sql"     jbpmCfg="jbpm/hsqldb.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.informix.sql"   jbpmCfg="jbpm/informix.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.ingres.sql"     jbpmCfg="jbpm/ingres.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.interbase.sql"  jbpmCfg="jbpm/interbase.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.mckoi.sql"      jbpmCfg="jbpm/mckoi.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.mssql.sql"      jbpmCfg="jbpm/mssql.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.mysql.sql"      jbpmCfg="jbpm/mysql.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.oracle.sql"     jbpmCfg="jbpm/oracle.jbpm.cfg.xml" delimiter=";" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.pointbase.sql"  jbpmCfg="jbpm/pointbase.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.postgresql.sql" jbpmCfg="jbpm/postgresql.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.progress.sql"   jbpmCfg="jbpm/progress.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.sapdb.sql"      jbpmCfg="jbpm/sapdb.jbpm.cfg.xml" actions="create" text="true"/>
-    <jbpmschema output="${scriptsdir}/jbpm.jpdl.sybase.sql"     jbpmCfg="jbpm/sybase.jbpm.cfg.xml" actions="create" text="true"/>
+
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.db2.sql" jbpmCfg="jbpm/db2.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.derby.sql" jbpmCfg="jbpm/derby.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.firebird.sql" jbpmCfg="jbpm/firebird.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.hsqldb.sql" hibernateCfg="hibernate.cfg.hsqldb.xml" jbpmCfg="jbpm/hsqldb.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.ingres.sql" jbpmCfg="jbpm/ingres.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.interbase.sql" jbpmCfg="jbpm/interbase.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.mckoi.sql" jbpmCfg="jbpm/mckoi.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.mssql.sql" jbpmCfg="jbpm/mssql.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.mysql.sql" hibernateCfg="hibernate.cfg.mysql.xml" jbpmCfg="jbpm/mysql.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.oracle.sql" jbpmCfg="jbpm/oracle.jbpm.cfg.xml" delimiter=";" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.postgresql.sql" hibernateCfg="hibernate.cfg.postgresql.xml" jbpmCfg="jbpm/postgresql.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.sapdb.sql" jbpmCfg="jbpm/sapdb.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+    <jbpmschema output="${scriptsdir}/jbpm.jpdl.sybase.sql" hibernateCfg="hibernate.cfg.sybase.xml" jbpmCfg="jbpm/sybase.jbpm.cfg.xml" actions="create" text="true" quiet="true" />
+  	
+  	<!--[JBPM-1813] Fix create schema generation -->
+    <!--jbpmschema output="${scriptsdir}/jbpm.jpdl.informix.sql" jbpmCfg="jbpm/informix.jbpm.cfg.xml" actions="create" text="true" quiet="true"/-->
+    <!--jbpmschema output="${scriptsdir}/jbpm.jpdl.pointbase.sql" jbpmCfg="jbpm/pointbase.jbpm.cfg.xml" actions="create" text="true" quiet="true"/-->
+    <!--jbpmschema output="${scriptsdir}/jbpm.jpdl.progress.sql" jbpmCfg="jbpm/progress.jbpm.cfg.xml" actions="create" text="true" quiet="true"/-->
   </target>
 
 </project>

Copied: jbpm3/trunk/modules/db/src/main/resources/hibernate.extra.hbm.xml (from rev 2872, jbpm3/branches/jbpm-3.3.0.GA/modules/db/src/main/resources/hibernate.extra.hbm.xml)
===================================================================
--- jbpm3/trunk/modules/db/src/main/resources/hibernate.extra.hbm.xml	                        (rev 0)
+++ jbpm3/trunk/modules/db/src/main/resources/hibernate.extra.hbm.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+</hibernate-mapping>

Copied: jbpm3/trunk/modules/db/src/main/resources/hibernate.identity.hbm.xml (from rev 2872, jbpm3/branches/jbpm-3.3.0.GA/modules/db/src/main/resources/hibernate.identity.hbm.xml)
===================================================================
--- jbpm3/trunk/modules/db/src/main/resources/hibernate.identity.hbm.xml	                        (rev 0)
+++ jbpm3/trunk/modules/db/src/main/resources/hibernate.identity.hbm.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+</hibernate-mapping>

Copied: jbpm3/trunk/modules/db/src/main/resources/log4j.xml (from rev 2872, jbpm3/branches/jbpm-3.3.0.GA/modules/db/src/main/resources/log4j.xml)
===================================================================
--- jbpm3/trunk/modules/db/src/main/resources/log4j.xml	                        (rev 0)
+++ jbpm3/trunk/modules/db/src/main/resources/log4j.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+  <!-- ================================= -->
+  <!-- Preserve messages in a local file -->
+  <!-- ================================= -->
+
+  <appender name="FILE" class="org.apache.log4j.FileAppender">
+    <param name="File" value="./target/jbpmschema.log"/>
+    <param name="Append" value="false"/>
+    <layout class="org.apache.log4j.PatternLayout">
+      <!-- The default pattern: Date Priority [Category] Message\n -->
+      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+    </layout>
+  </appender>
+  
+  <!-- ============================== -->
+  <!-- Append messages to the console -->
+  <!-- ============================== -->
+
+  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+    <param name="Target" value="System.out" />
+    <param name="Threshold" value="INFO" />
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n" />
+    </layout>
+  </appender>
+
+  <!-- ================ -->
+  <!-- Limit categories -->
+  <!-- ================ -->
+
+  <category name="org.hibernate">
+    <priority value="DEBUG" />
+  </category>
+
+  <!-- ======================= -->
+  <!-- Setup the Root category -->
+  <!-- ======================= -->
+
+  <root>
+    <!--appender-ref ref="CONSOLE"/-->
+    <appender-ref ref="FILE"/>
+  </root>
+
+</log4j:configuration>

Modified: jbpm3/trunk/modules/distribution/pom.xml
===================================================================
--- jbpm3/trunk/modules/distribution/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/distribution/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -87,6 +87,11 @@
       <version>${version}</version>
       <type>jdocbook</type>
     </dependency>
+    <dependency>
+      <groupId>org.jbpm.jbpm3</groupId>
+      <artifactId>jbpm-db</artifactId>
+      <version>${version}</version>
+    </dependency>
     
     <!-- jBPM Projects -->
     <dependency>

Modified: jbpm3/trunk/modules/distribution/scripts/antrun-installer.xml
===================================================================
--- jbpm3/trunk/modules/distribution/scripts/antrun-installer.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/distribution/scripts/antrun-installer.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -142,7 +142,7 @@
 
     <!-- Run installer build -->
     <echo message="Running IzPack to build the installer..." />
-    <izpack input="${resources.dir}/installer/install-definition.xml" output="${output.dir}/jbpm-jpdl-${product.version}-installer.jar"
+    <izpack input="${resources.dir}/installer/install-definition.xml" output="${output.dir}/jbpm-installer-${product.version}.jar"
       installerType="standard" inheritAll="true" basedir="${izpack.temp.dir}" />
 
     <!-- Clean working directory -->

Modified: jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml
===================================================================
--- jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/distribution/scripts/assembly-deploy-artifacts.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -80,6 +80,7 @@
       <outputDirectory>/etc</outputDirectory>
       <includes>
         <include>JBossORG-EULA.txt</include>
+        <include>release.notes.html</include>
         <include>version.info.xml</include>
       </includes>
     </fileSet>

Copied: jbpm3/trunk/modules/distribution/src/main/etc/release.notes.html (from rev 2872, jbpm3/branches/jbpm-3.3.0.GA/modules/distribution/src/main/etc/release.notes.html)
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/etc/release.notes.html	                        (rev 0)
+++ jbpm3/trunk/modules/distribution/src/main/etc/release.notes.html	2008-11-10 22:14:07 UTC (rev 2873)
@@ -0,0 +1,897 @@
+<html>
+<body>
+
+<h1 style="color:red;">3.3.0.GA DB Migration warning</h1>
+
+<p>In the hibernate mappings, all the properties that were mapped 
+as <code>string</code> with <code>length="4000"</code> were replaced 
+with the hibernate <code>text</code> type.
+</p>
+
+<p>For many DB's this means a big improvement.  But for some, 
+this might introduce a backwards incompatible change if the 
+hibernate <code>text</code> type is not compatible with the 
+hibernate <code>string</code> type.
+</p>
+
+<p>If you do encounter a problem with this, please "Create New Issue" 
+for it in <a href="https://jira.jboss.org/jira/browse/JBPM">our jBPM JIRA</a>.</p>
+
+<p>If you do want to revert to the old style mappings,
+you'll have to unjar your jbpm-jpdl.jar, apply
+<a href="http://www.jboss.org/community/servlet/JiveServlet/download/12860-5-6021/mapping.patch.txt">this patch
+file</a> and then re-jar the jbpm-jpdl.jar file.</p>
+
+<p>Apart from this potential issue, there is the normal DB 
+migration as described <a href="#330gadbmigration">below</a></p>
+
+<h1>Known limitations</h1>
+
+<h3>XML editing in the process designer</h3>
+
+<p>Direct editing of XML can lead to crashes in the graphical designer.
+This will be fixed in one of the next releases.  Before you start
+editing the process XML source, make sure you create a backup copy.
+</p>
+
+<h3>Transition buttons in task forms</h3>
+
+<p>When generating a task form for a task, the transitions are not 
+automatically populated in the generation dialog.  Users have to 
+enter the transition names and the button labels manually.  If you 
+don't do this no transition buttons will be generated to complete the 
+task in the task form.
+</p>
+
+<p><b>Workaround</b>: First option is to add the transition buttons 
+in the task form generation dialog.  If you generated a task form without
+transition buttons, you still can complete the task with the console.  
+Just save the variables in the task form and then in the 'Views' menu, 
+select 'Transitions'.  There you can click the 'end task' link for 
+each of the available transitions.
+</p>
+
+<h3>Security vulnerability for GPD deployment</h3>
+
+<p>In the suite distribution, the console that is deployed in the server
+contains a servlet that allows the designer to deploy processes directly 
+to a running server.  This servlet is unprotected and people could load 
+any process into a default installation.  Security constraints will be 
+added in 3.2.2  See also http://jira.jboss.com/jira/browse/JBPM-991
+</p>
+
+<h3>Excluded test cases</h3>
+
+<p><b>core test suite, no-database</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-983">JBPM-983</a>] concurrent process execution fails<br />
+<code>org/jbpm/jbpm983/JBPM983Test.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1072">JBPM-1072</a>] Concurrent JobExecutors can process the same job in parallel<br />
+<code>org/jbpm/jbpm1072/JBPM1072Test.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1810">JBPM-1810</a>] Fix clean, drop, create schema with JbpmSchema<br />
+<code>org/jbpm/db/JbpmSchemaDbTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1811">JBPM-1811</a>] JmsMessageTest fails intermitently on HSQLDB<br />
+<code>org/jbpm/msg/jms/JmsMessageTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>core test suite, hsqldb</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-983">JBPM-983</a>] concurrent process execution fails<br />
+<code>org/jbpm/jbpm983/JBPM983Test.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1072">JBPM-1072</a>] Concurrent JobExecutors can process the same job in parallel<br />
+<code>org/jbpm/jbpm1072/JBPM1072Test.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1810">JBPM-1810</a>] Fix clean, drop, create schema with JbpmSchema <br />
+<code>org/jbpm/db/JbpmSchemaDbTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1811">JBPM-1811</a>] JmsMessageTest fails intermitently on HSQLDB <br />
+<code>org/jbpm/msg/jms/JmsMessageTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>core test suite, mysql</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1166">JBPM-1166</a>] SEAM timer transaction integration<br />
+<code>org/jbpm/seam/JobExecutorCustomizationTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1810">JBPM-1810</a>] Fix clean, drop, create schema with JbpmSchema <br />
+<code>org/jbpm/db/JbpmSchemaDbTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>core test suite, postgresql</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1782">JBPM-1782</a>] Fix JoinExecutionDbTest on postgresql<br />
+<code>org/jbpm/jpdl/exe/JoinExecutionDbTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1810">JBPM-1810</a>] Fix clean, drop, create schema with JbpmSchema <br />
+<code>org/jbpm/db/JbpmSchemaDbTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>core test suite, sybase</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1764">JBPM-1764</a>] JobExecutorDbTest does not work on Sybase<br />
+<code>org/jbpm/job/executor/JobExecutorDbTest</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1810">JBPM-1810</a>] Fix clean, drop, create schema with JbpmSchema <br />
+<code>org/jbpm/db/JbpmSchemaDbTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1811">JBPM-1824</a>] Investigate core test failures against Sybase<br />
+<code>org/jbpm/db/DeleteProcessInstanceDbTest.java</code><br />
+<code>org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java</code><br />
+<code>org/jbpm/jbpm1072/JBPM1072Test.java</code><br />
+<code>org/jbpm/jbpm1755/JBPM1755Test.java</code><br />
+<code>org/jbpm/jbpm983/JBPM983Test.java</code><br />
+<code>org/jbpm/job/executor/JobExecutorDbTest.java</code><br />
+<code>org/jbpm/optimisticlocking/LockingTest.java</code><br />
+<code>org/jbpm/scheduler/exe/UnsafeSessionUsageTest.java</code><br />
+<code>org/jbpm/seam/JobExecutorCustomizationTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>enterprise test suite, no-database</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1708">JBPM-1708</a>] Enterprise EjbSchedulerTest fails<br />
+<code>org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1811">JBPM-1811</a>] JmsMessageTest fails intermitently on HSQLDB<br />
+<code>org/jbpm/msg/jms/JmsMessageTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>enterprise test suite, hsqldb</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1708">JBPM-1708</a>] Enterprise EjbSchedulerTest fails<br />
+<code>org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1811">JBPM-1811</a>] JmsMessageTest fails intermitently on HSQLDB<br />
+<code>org/jbpm/msg/jms/JmsMessageTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>enterprise test suite, sybase</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1818">JBPM-1818</a>] Use Sybase instance that supports XA Transaction<br />
+<code>org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java</code><br />
+<code>org/jbpm/persistence/jta/JtaDbPersistenceTest.java</code><br />
+<code>org/jbpm/msg/jms/JmsMessageTest.java</code><br /><br />
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1830">JBPM-1830</a>] Fix AppServerConfigurationsTest for sybase on jboss500<br />
+<code>org/jbpm/enterprise/AppServerConfigurationsTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<p><b>examples test suite, sybase</b><blockquote>
+[<a href="https://jira.jboss.org/jira/browse/JBPM-1827">JBPM-1827</a>] Investigate example test failures against Sybase<br />
+org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java</code><br /><br />
+</blockquote>
+</p>
+
+<h1>Changes from 3.2.3 to 3.3.0.GA</h1>
+
+<h2 id="330gadbmigration">DB Migration</h2>
+
+One column got added.  To upgrade, translate the following line of DDL to your database dialect:
+
+<pre>alter table JBPM_NODE add column PARENTLOCKMODE_ varchar(255)</pre>
+
+<h2>Bug</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1166'>JBPM-1166</a>] -         SEAM timer transaction integration
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1404'>JBPM-1404</a>] -         jBPM classloader does not define package information
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1448'>JBPM-1448</a>] -         jBPM does not initialise thread context classloader
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1689'>JBPM-1689</a>] -         Update '8.2. Database upgrades' section of JBPM Users Guide
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1707'>JBPM-1707</a>] -         pageflow parsing is slow
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1708'>JBPM-1708</a>] -         Enterprise EjbSchedulerTest fails
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1709'>JBPM-1709</a>] -         Enterprise JmsMessageTest fails sporadically
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1711'>JBPM-1711</a>] -         Pass testsuite against mysql
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1713'>JBPM-1713</a>] -         Fix Sybase issues Goldman Sachs
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1718'>JBPM-1718</a>] -         Pass testsuite against postgresql
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1719'>JBPM-1719</a>] -         Pass testsuite against sybase
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1755'>JBPM-1755</a>] -         make field Join.parentLockMode persistent
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1779'>JBPM-1779</a>] -         Resolve dependency on gwt-console for enterprise 
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1807'>JBPM-1807</a>] -         JSF Console: Complete task fails
+</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-700'>JBPM-700</a>] -         Out-of-the-box compatibility with Sybase
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1176'>JBPM-1176</a>] -         Document the Sybase related issue - page size
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1754'>JBPM-1754</a>] -         StaleObjectLog verbosity control code should be added to flushSession()
+</li>
+</ul>
+    
+<h2>Patch</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-850'>JBPM-850</a>] -         Tasks with mail notification (notify=&quot;yes&quot;) fail if the assigned actor has no e-mail address.
+</li>
+</ul>
+                
+<h2>Task</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1181'>JBPM-1181</a>] -         document 'end-complete-process' attribute on end-state
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1205'>JBPM-1205</a>] -         Cleanup stale core tests from the testsuite
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1290'>JBPM-1290</a>] -         Integrate example tests in automated testrun
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1297'>JBPM-1297</a>] -         Integrate all tests in automated QA
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1355'>JBPM-1355</a>] -         Add integration with supported target containers
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1372'>JBPM-1372</a>] -         Verify that IzPack based distribution is complete
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1691'>JBPM-1691</a>] -         document how to run jBPM tests against DBs in the QA lab
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1727'>JBPM-1727</a>] -         Update UserGuide to be in line with jbpm-3.3.x
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1728'>JBPM-1728</a>] -         Cleanup jboss.org Wiki
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1729'>JBPM-1729</a>] -         Update to jbpm-gpd-3.1.5
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1732'>JBPM-1732</a>] -         Clarify the unit test strategy
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1734'>JBPM-1734</a>] -         Cleanup ProcessInstanceDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1735'>JBPM-1735</a>] -         Cleanup ProcessStateDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1736'>JBPM-1736</a>] -         Cleanup JBPM983Test
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1737'>JBPM-1737</a>] -         Cleanup SubProcessPlusConcurrencyDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1738'>JBPM-1738</a>] -         Cleanup JbpmContextGetDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1739'>JBPM-1739</a>] -         Cleanup GraphSessionDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1740'>JBPM-1740</a>] -         Cleanup TaskVariablesDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1741'>JBPM-1741</a>] -         Cleanup BusinessKeyDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1742'>JBPM-1742</a>] -         Cleanup ExpressionAssignmentHandlerTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1762'>JBPM-1762</a>] -         Fix JIRA config for subversion/fisheye views
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1763'>JBPM-1763</a>] -         JIRA integration test issue
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1764'>JBPM-1764</a>] -         Deadlocks make job execution tests fail on Sybase
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1767'>JBPM-1767</a>] -         jBPM jPDL User Guide: Documentation flaw regarding timers
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1771'>JBPM-1771</a>] -         Fix JobExecutorDbTest on postgresql
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1772'>JBPM-1772</a>] -         Fix JoinDbTest on postgresql
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1783'>JBPM-1783</a>] -         Update to GWT Console 1.0.0.Beta1
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1785'>JBPM-1785</a>] -         Release jBPM 3.3.0 GA
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1802'>JBPM-1802</a>] -         Add sybase database option to installer
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1804'>JBPM-1804</a>] -         Fix regression on HSQLDB
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1806'>JBPM-1806</a>] -         Document unsupported functionality on PostgreSQL
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1816'>JBPM-1816</a>] -         Sanitize tests that leak JDBC connections
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1817'>JBPM-1817</a>] -         change name jbpm-core to jbpm-jpdl where applicable
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1821'>JBPM-1821</a>] -         add database scripts to installation
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1822'>JBPM-1822</a>] -         add release notes to the installation
+</li>
+</ul>
+            
+<h2>Sub-task</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-701'>JBPM-701</a>] -         Do not truncate long messages/exceptions
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-702'>JBPM-702</a>] -         Use non-nullable binary fields instead of varbinary on Sybase
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1294'>JBPM-1294</a>] -         Integrate console tests in automated testrun
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1720'>JBPM-1720</a>] -         Fix or Remove JcrDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1721'>JBPM-1721</a>] -         Fix or Remove JobLoadJoinTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1722'>JBPM-1722</a>] -         Fix or Remove MailTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1723'>JBPM-1723</a>] -         Fix or Remove PerfWithoutDbTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1724'>JBPM-1724</a>] -         Fix or Remove SeamPageFlowTest
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1743'>JBPM-1743</a>] -         Fix tests for examples/assignment
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1744'>JBPM-1744</a>] -         Fix tests for examples/businesstrip
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1745'>JBPM-1745</a>] -         Fix tests for examples/door
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1746'>JBPM-1746</a>] -         Fix tests for examples/mail
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1747'>JBPM-1747</a>] -         Fix tests for examples/raise
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1748'>JBPM-1748</a>] -         Fix tests for examples/rulesAction
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1749'>JBPM-1749</a>] -         Fix tests for examples/taskinstance
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1750'>JBPM-1750</a>] -         Fix tests for examples/taskmgmt
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1751'>JBPM-1751</a>] -         Fix tests for examples/websale
+</li>
+</ul>
+
+
+<h1>Changes from 3.2.2 to 3.2.3</h1>
+
+<h2>Bug</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1022'>JBPM-1022</a>] -         3.2.1 Admin Console: Any user sees all users tasks 
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1024'>JBPM-1024</a>] -         Serializable variables are not being deserialized when retrieved from process
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1045'>JBPM-1045</a>] -         test suite has to trow a runtime exception on error so meaningful report is generated
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1046'>JBPM-1046</a>] -         JobExecutorServlet cannot use local JNDI name to access datasource
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1072'>JBPM-1072</a>] -         Concurrent JobExecutors can process the same job in parallel
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1073'>JBPM-1073</a>] -         Allow mail attribute 'to' resolve EL Expressions
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1084'>JBPM-1084</a>] -         NPE in VariableAccess with Oracle persistence
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1085'>JBPM-1085</a>] -         Join of new process instance fails in Oracle
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1098'>JBPM-1098</a>] -         businesscalendar is unaware of leapyears
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1109'>JBPM-1109</a>] -         StringInstance hbm configuration column length of 4000 is ignored when generating the DDL
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1112'>JBPM-1112</a>] -         &lt;mail&gt; action not allowed in &lt;timer&gt;
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1119'>JBPM-1119</a>] -         Timers using EjbSchedulerService are not persisted across JBoss restarts
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1154'>JBPM-1154</a>] -         jBPM example &quot;action&quot; - wrong package name referenced in JUnit tests
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1155'>JBPM-1155</a>] -         jBPM example &quot;mail&quot; - missing import statements, etc.
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1156'>JBPM-1156</a>] -         jBPM example:  customTaskInstance fails with classcast exception
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1157'>JBPM-1157</a>] -         Broken links in jBPM examples/readme.html
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1167'>JBPM-1167</a>] -         JMS message service fails under WebSphere 6.1
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1184'>JBPM-1184</a>] -         add end-task attribute to schema
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1186'>JBPM-1186</a>] -         jobexecutor (threads) not stopped when JobExecutorServlet is destroyed
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1190'>JBPM-1190</a>] -         Allow only one action element in a node
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1438'>JBPM-1438</a>] -         Task assigned to different actor-id can be seen and manipulated in jBPM console
+</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-639'>JBPM-639</a>] -         Support Forward Reference in process-state
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-742'>JBPM-742</a>] -         Reimplement JobExecutorServlet as a ServletContextListener
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-751'>JBPM-751</a>] -         unnecessary warning on valid process definition
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-787'>JBPM-787</a>] -         centralize cache configurations
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-886'>JBPM-886</a>] -         change ejb timers from SLSB to an entity bean approach
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1097'>JBPM-1097</a>] -         Make duedate accept EL in addition to the already existing businesscalendar
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1144'>JBPM-1144</a>] -         Calculate dates for timers
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1179'>JBPM-1179</a>] -         JtaDbPersistenceService.getUserTransaction()
+</li>
+</ul>
+    
+<h2>Patch</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1059'>JBPM-1059</a>] -         Minor patch to avoid possible integer overflow in DayPart.add() in case of crazy Calendar values
+</li>
+</ul>
+                
+<h2>Task</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1086'>JBPM-1086</a>] -         In FlushDbTest get the connection details from the hibernate configuration
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1180'>JBPM-1180</a>] -         describe in detail the ejb components and the enterprise service factories
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1187'>JBPM-1187</a>] -         verify code completion in designer
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1191'>JBPM-1191</a>] -         Enterprise console error: No CurrentSessionContext configured
+</li>
+</ul>
+            
+<h2>Sub-task</h2>
+<ul>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1099'>JBPM-1099</a>] -         Create documentation for EL addition to duedate
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1100'>JBPM-1100</a>] -         EL duedate extension should also accept Calendar 
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBPM-1101'>JBPM-1101</a>] -         task duedate should also accept an EL as basedate
+</li>
+</ul>
+
+
+<h1>Changes from 3.2.1 to 3.2.2</h1>
+
+<h3>Loading process archive resources</h3>
+<p>Loading process archive resources changed.  Loading process archive classes remained the same.
+If you load a resource with the process classloader, it will look into the /classes directory
+in the process archive instead of loading it from the root of the classpath.
+</p>
+
+<p>From the docs:</p>
+<pre>
+Delegation classes are loaded with the process class loader of their respective process 
+definition. The process class loader is a class loader that has the jBPM classloader as 
+a parent. The process class loader adds all the classes of one particular process definition. 
+You can add classes to a process definition by putting them in the /classes folder in the 
+process archive. Note that this is only useful when you want to version the classes that 
+you add to the process definition. If versioning is not necessary, it is much more efficient 
+to make the classes available to the jBPM class loader.
+
+If the resource name doesn't start with a slash, resources are also loaded from the /classes 
+directory in the process archive. If you want to load resources outside of the classes 
+directory, start with a double slash ( <code><b>//</b></code> ). For example to load resource 
+data.xml wich is located next to the processdefinition.xml on the root of the process archive 
+file, you can do <code>clazz.getResource("//data.xml")</code> or 
+<code>classLoader.getResourceAsStream("//data.xml")</code> or any of those getResource* variants. 
+</pre>
+
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-288'>JBPM-288</a>] - Fork/Join and child token deactivation</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-429'>JBPM-429</a>] - Support for external security systems</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-681'>JBPM-681</a>] - GraphElement.raiseException results in Exception with Java EE</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-821'>JBPM-821</a>] - ProcessClassLoader.getResourceAsStream throws JbpmException when the resource is not found in DB</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-910'>JBPM-910</a>] - XML schema urn:jbpm.org:jpdl-3.2 incomplete (atrtibute missing in sub-process; documentation referring to old version)</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-930'>JBPM-930</a>] - jpdl-3.2.xsd doesnt describe "notify" attribute.(used for mailing) - validaiton error using notify attribute in task element</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-962'>JBPM-962</a>] - SuperState.nodes Mapping causes serious problems</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-965'>JBPM-965</a>] - configuring DbPersistenceServiceFactory is not working</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-972'>JBPM-972</a>] - org.jbpm.graph.action.Script does not provide specific (correct) handling for bsh.TargetError</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-980'>JBPM-980</a>] - superstate-enter not fired when taking a transition directly to the super state</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-983'>JBPM-983</a>] - concurrent process execution fails</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-988'>JBPM-988</a>] - JpdlXmlReader fails to readProcessDefinition if process contains nodes with same name inside different containers</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-990'>JBPM-990</a>] - Delete subprocess instances fails if super process token is not in process state</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-992'>JBPM-992</a>] - ProcessClassLoader : cannot load resource from code deployed inside a process archive</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-995'>JBPM-995</a>] - CLONE -concurrent job acquirement fails</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1002'>JBPM-1002</a>] - Process instance delete fails from process definition screen</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1006'>JBPM-1006</a>] - Concurrent use of 'repeat' and 'transition' in a timer declaration will result in an execution of a non existing timer.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1015'>JBPM-1015</a>] - ProcessLogs that represent changes of process intance that take place within Timer.Execute are not saved in DB</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1017'>JBPM-1017</a>] - Wrong transition taken after ending a task with the taskform button</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1033'>JBPM-1033</a>] - string_max parameterization doesn't work </li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1038'>JBPM-1038</a>] - getNodeTypes() and getNodeNames() are switched in org.jbpm.graph.node.NodeTypes</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1042'>JBPM-1042</a>] - org.jbpm.JbpmException: token '1' can't be locked by 'job[1]' cause it's already locked by 'token[1]'</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1043'>JBPM-1043</a>] - ProcessDefinition delete throws HibernateException: null index column for collection: org. jbpm.graph.def.ProcessDefinition.actions </li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1044'>JBPM-1044</a>] - TaskMgmtInstance.removeSignalling(Token token) - Remove signalling capabilities from all task instances related to the given token</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1048'>JBPM-1048</a>] - Userguide Section 18.1.1 is missleading when describing ant task for deploment of par archive</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-691'>JBPM-691</a>] - Decision class does not allow setting of Decision Delegation</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-979'>JBPM-979</a>] - Documentation enhancement for sub-process (fix error; add binding attribute)</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-981'>JBPM-981</a>] - Whitespace and line endings in script elements are not preserved - fix?</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1004'>JBPM-1004</a>] - add dynamic (late) subprocessresolving based on EL</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1036'>JBPM-1036</a>] - config-type schema declaration doesnt accept custom instantiator classes</li>
+</ul>
+    
+<h2>Patch</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-848'>JBPM-848</a>] - Incorrect mail.smtp.host property + configurable mail from address</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1010'>JBPM-1010</a>] - jpdl/examples/build.xml not recognizing user properties</li>
+</ul>
+                
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-908'>JBPM-908</a>] - in the suite, use the original loggin in the server</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-1003'>JBPM-1003</a>] - update docs and xsd for late binding of subprocess</li>
+</ul>
+
+
+<h1>Changes from 3.2.GA to 3.2.1</h1>
+
+
+Release Notes - JBoss jBPM - Version  jBPM jPDL 3.2.1
+    
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-444'>JBPM-444</a>] - jbpm Identity :  cascade=all in membership.hbm.xml sets.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-619'>JBPM-619</a>] - outofmemory during ant test suite run</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-783'>JBPM-783</a>] - isPropagated calculation for event is not correct</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-837'>JBPM-837</a>] - Doesn't support eastern character because the wrong specified font</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-847'>JBPM-847</a>] - When a suspended workflow is resumed, all its finished tasks are getting opened.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-853'>JBPM-853</a>] - Attribute 'expression' not taken from Condition element</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-854'>JBPM-854</a>] - Condition in transition not retrieved from database JBPM_TRANSITIONS#DECISION_</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-894'>JBPM-894</a>] - EL implementation in jBPM does not find inherited methods </li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-904'>JBPM-904</a>] - task notify attribute and reminder element not right in schema</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-913'>JBPM-913</a>] - ProcessBean.startInstance does not set ProcessInstance.key, causing second process start for any user to fail</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-925'>JBPM-925</a>] - taskInstance.setPooledActors(Set) throws exception</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-928'>JBPM-928</a>] - ProcessDefinition.hbm maps Nodes incorrectly</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-929'>JBPM-929</a>] - Missing hibernate mapping file(org/jbpm/graph/action/MailAction.hbm.xml) for MailAction class.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-947'>JBPM-947</a>] - timer repeat='true' not repeating from within EAR</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-953'>JBPM-953</a>] - Token.getAvailableTransitions doesn't return transitions in superstates</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-957'>JBPM-957</a>] - Event Propagation not working correctly</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-964'>JBPM-964</a>] - NullPointerException in ContextInstance.setVariable(java.lang.String name, java.lang.Object value) method.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-968'>JBPM-968</a>] - NPE in Decision.java</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-969'>JBPM-969</a>] - tuesday spelled thuesday in Calendar</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-504'>JBPM-504</a>] - improve sub process variable handling and make variable method names consistent</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-828'>JBPM-828</a>] - Add accessor methods to TaskNode.java</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-885'>JBPM-885</a>] - User supplied date/time with comment </li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-949'>JBPM-949</a>] - added new constructor for ProcessInstance incl business key</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-951'>JBPM-951</a>] - change logging policy</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-976'>JBPM-976</a>] - The setting "resource.mail.properties" is never used.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-977'>JBPM-977</a>] - migrate to jboss-el</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-984'>JBPM-984</a>] - introduce possibility to intercept user code</li>
+</ul>
+    
+<h2>Patch</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-848'>JBPM-848</a>] - Incorrect mail.smtp.host property + configurable mail from address</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-849'>JBPM-849</a>] - Unassigning task fails when task mail notification is enabled (with notify="yes")</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-858'>JBPM-858</a>] - Avoid repeat SAXParserFactory instantiation</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-892'>JBPM-892</a>] - Forgotten e.printStackTrace()</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-927'>JBPM-927</a>] - enhance Calendar to make it more reusable</li>
+</ul>
+                
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-926'>JBPM-926</a>] - Add the identity scripts to the jpdl scripts</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-959'>JBPM-959</a>] - check dependencies on jta.jar</li>
+</ul>
+
+
+<h1>jPDL XML Schema Changes from 3.1.x to 3.2.x</h1>
+<ul>
+  <li>Added email node and action.  See user guide for more information.</li>
+  <li>Conditions are now allowed on all transitions, not only on decision transitions.</li>
+</ul>
+
+<h1>jPDL Database Schema Updates from 3.1.x to 3.2.x</h1>
+<pre>create table JBPM_JOB (
+  ID_ bigint generated by default as identity (start with 1), 
+  CLASS_ char(1) not null, 
+  VERSION_ integer not null, 
+  DUEDATE_ timestamp, 
+  PROCESSINSTANCE_ bigint, 
+  TOKEN_ bigint, 
+  TASKINSTANCE_ bigint, 
+  ISSUSPENDED_ bit, 
+  ISEXCLUSIVE_ bit, 
+  LOCKOWNER_ varchar(255), 
+  LOCKTIME_ timestamp, 
+  EXCEPTION_ varchar(4000), 
+  RETRIES_ integer, 
+  NAME_ varchar(255), 
+  REPEAT_ varchar(255),
+  TRANSITIONNAME_ varchar(255), 
+  ACTION_ bigint, 
+  GRAPHELEMENTTYPE_ varchar(255), 
+  GRAPHELEMENT_ bigint, 
+  NODE_ bigint, 
+  primary key (ID_)
+)
+
+alter table JBPM_MODULEINSTANCE add column VERSION_ integer
+alter table JBPM_NODE add column DESCRIPTION_ varchar(4000)
+alter table JBPM_NODE add column ISASYNCEXCL_ bit
+alter table JBPM_NODE add column SUBPROCNAME_ varchar(255)
+alter table JBPM_NODE add column SCRIPT_ bigint
+alter table JBPM_POOLEDACTOR add column VERSION_ integer
+alter table JBPM_PROCESSDEFINITION add column CLASS_ char(1)
+alter table JBPM_PROCESSDEFINITION add column DESCRIPTION_ varchar(4000)
+alter table JBPM_PROCESSINSTANCE add column KEY_ varchar(255)
+alter table JBPM_SWIMLANEINSTANCE add column VERSION_ integer
+alter table JBPM_TASK add column CONDITION_ varchar(255)
+alter table JBPM_TASK add column PRIORITY_ integer
+alter table JBPM_TASKINSTANCE add column VERSION_ integer
+alter table JBPM_TASKINSTANCE add column PROCINST_ bigint
+alter table JBPM_TOKEN add column LOCK_ varchar(255)
+alter table JBPM_TOKENVARIABLEMAP add column VERSION_ integer
+alter table JBPM_TRANSITION add column DESCRIPTION_ varchar(4000)
+alter table JBPM_TRANSITION add column CONDITION_ varchar(255)
+alter table JBPM_VARIABLEINSTANCE add column VERSION_ integer
+alter table JBPM_JOB add constraint FK_JOB_TOKEN foreign key (TOKEN_) references JBPM_TOKEN
+alter table JBPM_JOB add constraint FK_JOB_NODE foreign key (NODE_) references JBPM_NODE
+alter table JBPM_JOB add constraint FK_JOB_PRINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
+alter table JBPM_JOB add constraint FK_JOB_ACTION foreign key (ACTION_) references JBPM_ACTION
+alter table JBPM_JOB add constraint FK_JOB_TSKINST foreign key (TASKINSTANCE_) references JBPM_TASKINSTANCE
+alter table JBPM_NODE add constraint FK_NODE_SCRIPT foreign key (SCRIPT_) references JBPM_ACTION
+alter table JBPM_PROCESSINSTANCE add constraint FK_PROCIN_SPROCTKN foreign key (SUPERPROCESSTOKEN_) references JBPM_TOKEN
+alter table JBPM_RUNTIMEACTION add constraint FK_RTACTN_PROCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
+alter table JBPM_RUNTIMEACTION add constraint FK_RTACTN_ACTION foreign key (ACTION_) references JBPM_ACTION
+alter table JBPM_SWIMLANE add constraint FK_SWL_ASSDEL foreign key (ASSIGNMENTDELEGATION_) references JBPM_DELEGATION
+alter table JBPM_SWIMLANE add constraint FK_SWL_TSKMGMTDEF foreign key (TASKMGMTDEFINITION_) references JBPM_MODULEDEFINITION
+alter table JBPM_SWIMLANEINSTANCE add constraint FK_SWIMLANEINST_TM foreign key (TASKMGMTINSTANCE_) references JBPM_MODULEINSTANCE
+alter table JBPM_SWIMLANEINSTANCE add constraint FK_SWIMLANEINST_SL foreign key (SWIMLANE_) references JBPM_SWIMLANE
+alter table JBPM_TASK add constraint FK_TSK_TSKCTRL foreign key (TASKCONTROLLER_) references JBPM_TASKCONTROLLER
+alter table JBPM_TASK add constraint FK_TASK_ASSDEL foreign key (ASSIGNMENTDELEGATION_) references JBPM_DELEGATION
+alter table JBPM_TASK add constraint FK_TASK_TASKNODE foreign key (TASKNODE_) references JBPM_NODE
+alter table JBPM_TASK add constraint FK_TASK_PROCDEF foreign key (PROCESSDEFINITION_) references JBPM_PROCESSDEFINITION
+alter table JBPM_TASK add constraint FK_TASK_STARTST foreign key (STARTSTATE_) references JBPM_NODE
+alter table JBPM_TASK add constraint FK_TASK_TASKMGTDEF foreign key (TASKMGMTDEFINITION_) references JBPM_MODULEDEFINITION
+alter table JBPM_TASK add constraint FK_TASK_SWIMLANE foreign key (SWIMLANE_) references JBPM_SWIMLANE
+alter table JBPM_TASKACTORPOOL add constraint FK_TSKACTPOL_PLACT foreign key (POOLEDACTOR_) references JBPM_POOLEDACTOR
+alter table JBPM_TASKACTORPOOL add constraint FK_TASKACTPL_TSKI foreign key (TASKINSTANCE_) references JBPM_TASKINSTANCE
+alter table JBPM_TASKCONTROLLER add constraint FK_TSKCTRL_DELEG foreign key (TASKCONTROLLERDELEGATION_) references JBPM_DELEGATION
+alter table JBPM_TASKINSTANCE add constraint FK_TSKINS_PRCINS foreign key (PROCINST_) references JBPM_PROCESSINSTANCE
+alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_TMINST foreign key (TASKMGMTINSTANCE_) references JBPM_MODULEINSTANCE
+alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_TOKEN foreign key (TOKEN_) references JBPM_TOKEN
+alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_SLINST foreign key (SWIMLANINSTANCE_) references JBPM_SWIMLANEINSTANCE
+alter table JBPM_TASKINSTANCE add constraint FK_TASKINST_TASK foreign key (TASK_) references JBPM_TASK
+alter table JBPM_TOKEN add constraint FK_TOKEN_PARENT foreign key (PARENT_) references JBPM_TOKEN
+alter table JBPM_TOKEN add constraint FK_TOKEN_NODE foreign key (NODE_) references JBPM_NODE
+alter table JBPM_TOKEN add constraint FK_TOKEN_PROCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
+alter table JBPM_TOKEN add constraint FK_TOKEN_SUBPI foreign key (SUBPROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
+alter table JBPM_TOKENVARIABLEMAP add constraint FK_TKVARMAP_CTXT foreign key (CONTEXTINSTANCE_) references JBPM_MODULEINSTANCE
+alter table JBPM_TOKENVARIABLEMAP add constraint FK_TKVARMAP_TOKEN foreign key (TOKEN_) references JBPM_TOKEN
+alter table JBPM_TRANSITION add constraint FK_TRANSITION_TO foreign key (TO_) references JBPM_NODE
+alter table JBPM_TRANSITION add constraint FK_TRANS_PROCDEF foreign key (PROCESSDEFINITION_) references JBPM_PROCESSDEFINITION
+alter table JBPM_TRANSITION add constraint FK_TRANSITION_FROM foreign key (FROM_) references JBPM_NODE
+alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_TSKCTRL foreign key (TASKCONTROLLER_) references JBPM_TASKCONTROLLER
+alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_SCRIPT foreign key (SCRIPT_) references JBPM_ACTION
+alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_PROCST foreign key (PROCESSSTATE_) references JBPM_NODE
+alter table JBPM_VARIABLEINSTANCE add constraint FK_VARINST_TK foreign key (TOKEN_) references JBPM_TOKEN
+alter table JBPM_VARIABLEINSTANCE add constraint FK_VARINST_TKVARMP foreign key (TOKENVARIABLEMAP_) references JBPM_TOKENVARIABLEMAP
+alter table JBPM_VARIABLEINSTANCE add constraint FK_VARINST_PRCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
+alter table JBPM_VARIABLEINSTANCE add constraint FK_VAR_TSKINST foreign key (TASKINSTANCE_) references JBPM_TASKINSTANCE
+alter table JBPM_VARIABLEINSTANCE add constraint FK_BYTEINST_ARRAY foreign key (BYTEARRAYVALUE_) references JBPM_BYTEARRAY
+
+insert into JBPM_JOB
+    (ID_,
+    CLASS_,
+    VERSION_,
+    DUEDATE_,
+    PROCESSINSTANCE_,
+    TOKEN_,
+    TASKINSTANCE_,
+    ISSUSPENDED_,
+    ISEXCLUSIVE_,
+    LOCKOWNER_,
+    LOCKTIME_,
+    EXCEPTION_,
+    RETRIES_,
+    NAME_,
+    REPEAT_,
+    TRANSITIONNAME_,
+    ACTION_,
+    GRAPHELEMENTTYPE_,
+    GRAPHELEMENT_)
+select
+    ID_,
+    'T',
+    0,
+    DUEDATE_,
+    PROCESSINSTANCE_,
+    TOKEN_,
+    TASKINSTANCE_,
+    ISSUSPENDED_,
+    0,
+    NULL,
+    NULL,
+    EXCEPTION_,
+    0,
+    NAME_,
+    REPEAT_,
+    TRANSITIONNAME_,
+    ACTION_,
+    GRAPHELEMENTTYPE_,
+    GRAPHELEMENT_
+from JBPM_TIMER;
+
+drop table JBPM_MESSAGE
+</pre>
+
+
+<p>Since, 3.2, the table JBPM_DECISIONCONDITION is not used any more.  But
+it is still in the default generated schema because of backwards compatibility 
+reasons.  Newly deployed processes (even if they have decision conditions) 
+will not use that table any more.  So if your old processes don't have decision 
+conditions or if you only deploy new processes to your db, you can safely drop 
+the JBPM_DECISIONCONDITION table.  If you do that, don't forget to remove the line 
+that refers to the decision condition class in your hibernate.cfg.xml and also remove 
+the decisionConditions list entry in the org/jbpm/graph/node/Decision.hbm.xml file.
+</p>
+
+<hr />
+<h1>Changes from 3.2.Beta2 to 3.2.GA</h1>
+
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-450'>JBPM-450</a>] - webapp can't handle processes without an image file</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-619'>JBPM-619</a>] - outofmemory during ant test suite run</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-621'>JBPM-621</a>] - Decision 'otherwise' choice does not appear to work.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-732'>JBPM-732</a>] - remove process start link for processes without start task</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-839'>JBPM-839</a>] - Can't store JSR170 node.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-840'>JBPM-840</a>] - Fix Readme for GPD in the Starter's Kit</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-855'>JBPM-855</a>] - hibernate sessions might not be closed in case of exceptions</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-888'>JBPM-888</a>] - jBPM Suite web-console: user grover cannot login</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-896'>JBPM-896</a>] - reassign in console crashes</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-898'>JBPM-898</a>] - can't login using grover grover</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-900'>JBPM-900</a>] - starting processes without start task</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-152'>JBPM-152</a>] - ejb (SLSB) command based session facade interface</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-540'>JBPM-540</a>] - Standard VariableResolverImpl should search for transient variables</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-596'>JBPM-596</a>] - task forms based on facelets</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-609'>JBPM-609</a>] - create command based session facade</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-705'>JBPM-705</a>] - Provide monitoring for standalone applications</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-714'>JBPM-714</a>] - packaging just the webapp takes way to long</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-762'>JBPM-762</a>] - show processdefinition.xml in web console</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-820'>JBPM-820</a>] - free choice of initial node type</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-841'>JBPM-841</a>] - add a business key</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-851'>JBPM-851</a>] - Add a discriminator to ProcessDefinition O/R mapping</li>
+</ul>
+                    
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-598'>JBPM-598</a>] - fix javascript support in webapp unit testing</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-876'>JBPM-876</a>] - improved enterprise support</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-877'>JBPM-877</a>] - jta configuration for process deployment in enterprise environment</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-878'>JBPM-878</a>] - document enterprise support</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-891'>JBPM-891</a>] - db conversion script for timers</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-897'>JBPM-897</a>] - add feedback when navigating to the next task</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-901'>JBPM-901</a>] - change to JTA transaction configuration</li>
+</ul>
+
+
+<hr />
+<h1>Changes from 3.2.Beta1 to 3.2.Beta2</h1>
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-311'>JBPM-311</a>] - Propertys from inherited Actions not directly accessiblly</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-795'>JBPM-795</a>] - Webapp won't display box on process diagram for non-task nodes</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-806'>JBPM-806</a>] - document JTA integration</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-780'>JBPM-780</a>] - document how to replace hashtable with ehcache cacheprovider</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-824'>JBPM-824</a>] - separated JobListenerBean from CommandListenerBean</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-825'>JBPM-825</a>] - added StartProcessInstanceCommand</li>
+</ul>
+                    
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-829'>JBPM-829</a>] - added reference from task instance to process instance</li>
+</ul>
+
+
+<hr />
+<h1>Changes from 3.2.Alpha2 to 3.2.Beta1</h1>
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-813'>JBPM-813</a>] - GraphElement - hibernate - "this==runtimeAction.getGraphElement()"</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-814'>JBPM-814</a>] - depending on the isolation level of your JDBC connection join might not reactivate parent</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-454'>JBPM-454</a>] - conditional transitions</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-583'>JBPM-583</a>] - add jms support for the messaging service</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-778'>JBPM-778</a>] - form generation improvements</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-789'>JBPM-789</a>] - add finder methods for current tasks and current nodes</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-808'>JBPM-808</a>] - Conditional tasks</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-809'>JBPM-809</a>] - Conditional transitions</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-816'>JBPM-816</a>] - added description to node, transition, process and task</li>
+</ul>
+                    
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-815'>JBPM-815</a>] - upgrade to hibernate 3.2.1.GA</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-818'>JBPM-818</a>] - removed exception on request of unexisting process file</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-819'>JBPM-819</a>] - support processes without forms</li>
+</ul>
+
+
+<hr />
+<h1>Changes from 3.2.Alpha1 to 3.2.Alpha2</h1>
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-682'>JBPM-682</a>] - task forms are not reloaded when a process is reloaded</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-696'>JBPM-696</a>] - Field Instanciator problems</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-754'>JBPM-754</a>] - job scheduler persistence</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-757'>JBPM-757</a>] - Constraint violation during process deletion</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-758'>JBPM-758</a>] - DbPersistenceService needs update for new Hibernate version</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-759'>JBPM-759</a>] - Hibernate variable type matchers do not deal HibernateProxy objects.</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-765'>JBPM-765</a>] - wrong example in configuring persistence factory</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-766'>JBPM-766</a>] - cancelling a process instance doesn't propagate to subprocesses and tasks</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-767'>JBPM-767</a>] - ExpressionEvaluatorHandler has BeanInfo, which does not use the correct set of methods</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-776'>JBPM-776</a>] - invalid business calendar properties lead to java.lang.StackOverflowError</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-452'>JBPM-452</a>] - Refactor SchedulerThread.executeTimers() to execute Timers in seperate Transactions</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-617'>JBPM-617</a>] - keep the processdefinition.xml in the database</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-641'>JBPM-641</a>] - process end subprocess cascading</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-647'>JBPM-647</a>] - give service factory element precedence over the attribute</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-664'>JBPM-664</a>] - add documentation for configuration properties</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-671'>JBPM-671</a>] - add logs for sub process bindings</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-713'>JBPM-713</a>] - Schedule multiple events at once</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-717'>JBPM-717</a>] - cascade persistence operations from timer to action</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-733'>JBPM-733</a>] - late binding for sub processes</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-735'>JBPM-735</a>] - add indexes to foreign keys</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-737'>JBPM-737</a>] - use JbpmDS instead of the DefaultDS</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-760'>JBPM-760</a>] - Add indexes to foreign keys where appropriate</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-763'>JBPM-763</a>] - removed ehcache dependency</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-768'>JBPM-768</a>] - add getters and setters for action properties</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-774'>JBPM-774</a>] - Add JBoss EULA</li>
+</ul>
+                    
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-740'>JBPM-740</a>] - Document c3po configuration more explicitly </li>
+</ul>
+
+<hr />
+<h1>Changes from 3.1.2 to 3.2.Alpha1</h1>
+<h2>Bug</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-325'>JBPM-325</a>] - task priority not set properly</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-370'>JBPM-370</a>] - Documentation - misspelling</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-371'>JBPM-371</a>] - Documentation - misspelling</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-555'>JBPM-555</a>] - Bad exception message</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-562'>JBPM-562</a>] - added async attribute to action in schema and docs</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-568'>JBPM-568</a>] - throw ClassNotFoundException instead of JbpmException when a delegation class is not found</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-571'>JBPM-571</a>] - incorrect business calendar date addition</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-574'>JBPM-574</a>] - Unneccesarily slow performance</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-577'>JBPM-577</a>] - add better exception handling in JbpmContext.close</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-588'>JBPM-588</a>] - Add comments to TaskInstance does not processed correctly</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-614'>JBPM-614</a>] - delete sub process instances recursively</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-636'>JBPM-636</a>] - task local variables</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-645'>JBPM-645</a>] - task is not blocking after save of process-instance</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-654'>JBPM-654</a>] - Cancelling a TaskInstance "performs" the task</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-663'>JBPM-663</a>] - Incorrect resolution of process variable values in script when variable is defined (or redefined) in sub-token context</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-665'>JBPM-665</a>] - JVM hangs because of inappropriate error handling</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-667'>JBPM-667</a>] - jBPM unable to pass null variables to bsh scripts</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-669'>JBPM-669</a>] - end-tasks attribute on task-node causes all tasks to be ended, not just tasks for the current token</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-677'>JBPM-677</a>] - change identity expression language to use role instead of name</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-678'>JBPM-678</a>] - jbpm el expression exceptions are masked</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-710'>JBPM-710</a>] - Cancelling a task will signal token over default transition</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-748'>JBPM-748</a>] - check variable hibernatability before serializability</li>
+</ul>
+        
+<h2>Feature Request</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-113'>JBPM-113</a>] - support for document management</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-566'>JBPM-566</a>] - introduce jaas based security</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-579'>JBPM-579</a>] - add recursive lookup for delegation fields and methods</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-580'>JBPM-580</a>] - email support</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-582'>JBPM-582</a>] - make sub-process resolving pluggable at deployment</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-584'>JBPM-584</a>] - "overwriteSimlane" in TaskInstance.start()</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-585'>JBPM-585</a>] - add ProcessInstance.setProcessDefinition()</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-620'>JBPM-620</a>] - make byte block size configurable</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-661'>JBPM-661</a>] - storing a java 5 enum in a variable instance</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-684'>JBPM-684</a>] - added getXxxx for database loadXxxx methods</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-716'>JBPM-716</a>] - make the timer duedate optional</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-744'>JBPM-744</a>] - unify and improve the messaging and scheduler implementation</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-746'>JBPM-746</a>] - replace NullPointerExceptions with JbpmExceptions</li>
+</ul>
+                    
+<h2>Task</h2>
+<ul>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-622'>JBPM-622</a>] - document lists and maps for field-type injection</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-635'>JBPM-635</a>] - improve default configuration</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-638'>JBPM-638</a>] - renamed configuration property mail.smtp.host to jbpm.mail.smtp.host</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-658'>JBPM-658</a>] - correct equals comparison</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-659'>JBPM-659</a>] - added JbpmConfiguration.close()</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-662'>JBPM-662</a>] - check version attribute on all runtime objects</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-666'>JBPM-666</a>] - report expression exception properly</li>
+<li>[<a href='http://jira.jboss.com/jira/browse/JBPM-683'>JBPM-683</a>] - enlarged length of message exception property</li>
+</ul>
+
+</body>
+</html>

Modified: jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/distribution/src/main/resources/installer/install-definition.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -111,12 +111,20 @@
     <pack name="jBPM3 Standalone" required="yes" preselected="yes">
       <description>The jBPM3 Standalone Components</description>
 
+      <!-- jbpm3/ -->
+      <file src="@{deploy.artifacts.dir}/etc/release.notes.html" targetdir="$INSTALL_PATH" override="true" />
+      <file src="@{deploy.artifacts.dir}/etc/JBossORG-EULA.txt" targetdir="$INSTALL_PATH" override="true" />
+
       <!-- jbpm3/config -->
       <file src="@{deploy.artifacts.dir}/lib/jbpm-jpdl-config.zip" targetdir="$INSTALL_PATH/config"
         unpack="true" override="true" />
       <file src="@{deploy.artifacts.dir}/etc/version.info.xml" targetdir="$INSTALL_PATH/config"
         override="true" />
 
+      <!-- jbpm3/database -->
+      <file src="@{deploy.artifacts.dir}/lib/jbpm-db.jar" targetdir="$INSTALL_PATH/database"
+        unpack="true" override="true" />
+
       <!-- jbpm3/docs -->
       <file src="@{deploy.artifacts.dir}/lib/jbpm-userguide.zip" targetdir="$INSTALL_PATH/docs/userguide"
         unpack="true" override="true" />

Modified: jbpm3/trunk/modules/distribution/src/main/resources/installer/target-panel-dir.txt
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/installer/target-panel-dir.txt	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/distribution/src/main/resources/installer/target-panel-dir.txt	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1 +1 @@
-$USER_HOME/jbpm-jpdl- at product.version@
\ No newline at end of file
+$USER_HOME/jbpm- at product.version@

Modified: jbpm3/trunk/modules/distribution/src/main/resources/installer/user-input-spec.xml
===================================================================
--- jbpm3/trunk/modules/distribution/src/main/resources/installer/user-input-spec.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/distribution/src/main/resources/installer/user-input-spec.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -17,10 +17,10 @@
     <field type="radio" variable="dbSelection">
       <description align="left" txt="Please choose your target database" />
       <spec>
-        <choice txt="Hypersonic" value="hsqldb" set="true" />
-        <choice txt="MySQL" value="mysql" />
-        <!-- choice txt="PostgreSQL" value="postgresql" /-->
-        <!-- choice txt="Sybase" value="sybase" /-->
+        <choice txt="Hypersonic" value="hsqldb" set="true"/>
+        <choice txt="MySQL" value="mysql"/>
+        <!-- choice txt="PostgreSQL" value="postgresql"/-->
+        <choice txt="Sybase" value="sybase"/>
       </spec>
     </field>
   </panel>

Modified: jbpm3/trunk/modules/enterprise/ear/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/ear/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/enterprise/ear/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -22,7 +22,7 @@
    <parent>
       <groupId>org.jbpm.jbpm3</groupId>
       <artifactId>jbpm-enterprise</artifactId>
-      <version>3.3.0-SNAPSHOT</version>
+      <version>3.3.0.GA</version>
    </parent>
 
    <!-- Dependencies -->

Modified: jbpm3/trunk/modules/enterprise/jar/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/enterprise/jar/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm-enterprise</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
   </parent>
 
   <!-- Dependencies -->
@@ -258,8 +258,10 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
               <excludes>
-                <!-- xa datasource not available for hsqldb -->
+                <!-- [JBPM-1708] Enterprise EjbSchedulerTest fails -->
                 <exclude>org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java</exclude>
+                <!-- [JBPM-1811] JmsMessageTest fails intermitently on HSQLDB -->
+                <exclude>org/jbpm/msg/jms/JmsMessageTest.java</exclude>
               </excludes>
             </configuration>
           </plugin>
@@ -285,8 +287,10 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
               <excludes>
-                <!-- xa datasource not available for hsqldb -->
+                <!-- [JBPM-1708] Enterprise EjbSchedulerTest fails -->
                 <exclude>org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java</exclude>
+                <!-- [JBPM-1811] JmsMessageTest fails intermitently on HSQLDB -->
+                <exclude>org/jbpm/msg/jms/JmsMessageTest.java</exclude>
               </excludes>
             </configuration>
           </plugin>
@@ -352,6 +356,16 @@
         <plugins>
           <plugin>
             <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <!-- [JBPM-1818] Use Sybase instance that supports XA Transaction -->
+                <exclude>org/jbpm/scheduler/ejbtimer/EjbSchedulerTest.java</exclude>
+                <exclude>org/jbpm/persistence/jta/JtaDbPersistenceTest.java</exclude>
+                <exclude>org/jbpm/msg/jms/JmsMessageTest.java</exclude>
+                <!-- [JBPM-1830] Fix AppServerConfigurationsTest for sybase on jboss500 -->
+                <exclude>org/jbpm/enterprise/AppServerConfigurationsTest.java</exclude>
+              </excludes>
+            </configuration>
           </plugin>
         </plugins>
       </build>

Modified: jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/enterprise/jar/src/test/java/org/jbpm/msg/jms/JmsMessageTest.java	2008-11-10 22:14:07 UTC (rev 2873)
@@ -60,7 +60,8 @@
      return new IntegrationTestSetup(JmsMessageTest.class, "enterprise-test.war");
   }
 
-  protected void setUp() throws Exception {
+  protected void setUp() throws Exception 
+  {
     if (commandServiceHome == null) {
       Context initialContext = new InitialContext();
       try {
@@ -74,13 +75,15 @@
     log.info("### " + getName() + " started ###");
   }
 
-  protected void tearDown() throws Exception {
+  protected void tearDown() throws Exception 
+  {
     log.info("### " + getName() + " done ###");
     commandService = null;
     EventCallback.clear();
   }
 
-  public void testAsyncNode() {
+  public void testAsyncNode() 
+  {
     deployProcess("<process-definition name='node'>"
         + "  <event type='process-end'>"
         + "    <action expression='#{eventCallback.processEnd}'/>"
@@ -95,10 +98,11 @@
         + "</process-definition>");
     long processId = launchProcess("node").getId();
     EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
-    assertTrue(hasProcessEnded(processId));
+    assertTrue("Process has ended", hasProcessEnded(processId));
   }
 
-  public void testAsyncAction() {
+  public void testAsyncAction() 
+  {
     deployProcess("<process-definition name='action'>"
         + "  <start-state name='start'>"
         + "    <transition to='a' />"
@@ -120,10 +124,11 @@
     EventCallback.waitForEvent(Event.EVENTTYPE_NODE_ENTER);
     EventCallback.waitForEvent(Event.EVENTTYPE_NODE_LEAVE);
     EventCallback.waitForEvent(Event.EVENTTYPE_TRANSITION);
-    assertTrue(hasProcessEnded(processId));
+    assertTrue("Process has ended", hasProcessEnded(processId));
   }
 
-  public void testAsyncSequence() {
+  public void testAsyncSequence() 
+  {
     deployProcess("<process-definition name='sequence'>"
         + "  <event type='process-end'>"
         + "    <action expression='#{eventCallback.processEnd}'/>"
@@ -150,10 +155,11 @@
         + "</process-definition>");
     long processId = launchProcess("sequence").getId();
     EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
-    assertTrue(hasProcessEnded(processId));
+    assertTrue("Process has ended", hasProcessEnded(processId));
   }
 
-  public void testAsyncFork() {
+  public void testAsyncFork() throws Exception 
+  {
     deployProcess("<process-definition name='fork'>"
         + "  <event type='process-end'>"
         + "    <action expression='#{eventCallback.processEnd}'/>"
@@ -190,10 +196,12 @@
         + "</process-definition>");
     long processId = launchProcess("fork").getId();
     EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
+    Thread.sleep(1000);
     assertTrue("Process has ended", hasProcessEnded(processId));
   }
 
-  public void testAsyncExecutions() {
+  public void testAsyncExecutions() 
+  {
     deployProcess("<process-definition name='execution'>"
         + "  <event type='process-end'>"
         + "    <action expression='#{eventCallback.processEnd}' />"

Modified: jbpm3/trunk/modules/enterprise/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/enterprise/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 

Modified: jbpm3/trunk/modules/examples/pom.xml
===================================================================
--- jbpm3/trunk/modules/examples/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/examples/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -98,12 +98,36 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-        </configuration>
-      </plugin>
     </plugins>
   </build>
 
+  <profiles>
+    <!-- 
+    Name:  sybase
+    Descr: Sybase Database Setup   
+    -->
+    <profile>
+      <id>sybase</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>sybase</value>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <excludes>
+                <!-- [JBPM-1827] Investigate example test failures against Sybase -->
+                <exclude>org/jbpm/examples/taskinstance/CustomTaskInstanceTest.java</exclude>
+              </excludes>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+  
 </project>

Modified: jbpm3/trunk/modules/identity/pom.xml
===================================================================
--- jbpm3/trunk/modules/identity/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/identity/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 

Deleted: jbpm3/trunk/modules/identity/scripts/antrun-jbpm-schema.xml
===================================================================
--- jbpm3/trunk/modules/identity/scripts/antrun-jbpm-schema.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/identity/scripts/antrun-jbpm-schema.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!--                                                                        -->
-<!--  JBoss, the OpenSource J2EE webOS                                      -->
-<!--                                                                        -->
-<!--  Distributable under LGPL license.                                     -->
-<!--  See terms of license at http://www.gnu.org.                           -->
-<!--                                                                        -->
-<!-- ====================================================================== -->
-
-<!-- $Id: antrun-jbpm-config.xml 2611 2008-10-24 15:25:58Z thomas.diesler at jboss.com $ -->
-
-<project default="create">
-
-  <target name="create">
-    <taskdef resource="org/jbpm/ant/jbpm.ant.tasks.properties">
-      <classpath path="${test.classpath}" />
-    </taskdef>
-    <systemproperty key="log4j.output.dir" value="${log4j.output.dir}"/>
-    <jbpmschema />
-  </target>
-
-</project>
\ No newline at end of file

Modified: jbpm3/trunk/modules/simulation/pom.xml
===================================================================
--- jbpm3/trunk/modules/simulation/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/simulation/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
   
@@ -48,6 +48,10 @@
       <artifactId>jasperreports</artifactId>
       <exclusions>
         <exclusion>
+          <groupId>commons-digester</groupId>
+          <artifactId>commons-digester</artifactId>
+        </exclusion>
+        <exclusion>
           <groupId>jfree</groupId>
           <artifactId>jfreechart</artifactId>
         </exclusion>
@@ -60,7 +64,7 @@
     <dependency>
       <groupId>commons-digester</groupId>
       <artifactId>commons-digester</artifactId>
-      <version>[1.7]</version>
+      <version>1.6</version>
     </dependency>
     
     <!-- Test Dependencies -->

Modified: jbpm3/trunk/modules/userguide/pom.xml
===================================================================
--- jbpm3/trunk/modules/userguide/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/userguide/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jbpm</artifactId>
-    <version>3.3.0-SNAPSHOT</version>
+    <version>3.3.0.GA</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 

Modified: jbpm3/trunk/modules/userguide/src/main/docbook/en/master.xml
===================================================================
--- jbpm3/trunk/modules/userguide/src/main/docbook/en/master.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/userguide/src/main/docbook/en/master.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -16,7 +16,6 @@
 <!ENTITY async SYSTEM "modules/async.xml">
 <!ENTITY calendar SYSTEM "modules/calendar.xml">
 <!ENTITY mail SYSTEM "modules/mail.xml">
-<!ENTITY ws SYSTEM "modules/ws.xml">
 <!ENTITY logging SYSTEM "modules/logging.xml">
 <!ENTITY jpdl SYSTEM "modules/jpdl.xml">
 <!ENTITY security SYSTEM "modules/security.xml">

Modified: jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/gettingstarted.xml
===================================================================
--- jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/gettingstarted.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/gettingstarted.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -10,14 +10,14 @@
     the <ulink url="http://sourceforge.net/project/showfiles.php?group_id=70542&amp;package_id=145174">jBPM jPDL 3 
     package on Sourceforge.net</ulink> and download the latest installer.
     </para>
-    <para id="jbpm-jpdl-{version}-installer.jar"><emphasis role="bold">The jPDL installer</emphasis> 
+    <para id="jbpm-installer-{version}.jar"><emphasis role="bold">The jBPM installer</emphasis> 
     creates a runtime installation and it can also download and install the 
     eclipse designer and a jboss server.  You can use jBPM also without application server, but all of 
     these components are preconfigured to interoperate out-of-the-box to get you started with jBPM quickly.
     To launch the installer, open a command line and go to the directory where you downloaded it.
     Then type: 
     </para>
-    <programlisting>java -jar jbpm-jpdl-{version}-installer.jar</programlisting>
+    <programlisting>java -jar jbpm-installer-{version}.jar</programlisting>
     <para>
     Step through the instructions.  Any supported version of JBoss and the exact version 
     of eclipse can optionally be downloaded by the installer.

Deleted: jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/ws.xml
===================================================================
--- jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/ws.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/modules/userguide/src/main/docbook/en/modules/ws.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -1,41 +0,0 @@
-<chapter id="ws">
-  <title>Web Services Support</title>
-  
-  <para>This chapter describes the out-of-the-box web services support in jBPM jPDL.
-  </para> 
-
-  <section id="wsproduction">
-    <title>Invoke jPDL Web Services</title>
-    
-    <para>There is a WS subproject in jPDL. The aim of this subproject is to enable
-    the jPDL engine to be called as a web service. The current implementation enables
-    you to start process instances from the definition and to provide the trigger
-    to running instances to continue their execution. It is not (yet) very sophisticated
-    but it can serve as a starting point from which you can start to implement more 
-    advanced uses.
-    </para>
-    <para>Stay tuned as there is probably more to come with respect to web services.
-    </para>
-
-    <section id="wsdeployment">
-      <title>Deployment</title>
-      <para>Currently, there is no deployable artefact included in the distribution.
-      Luckily it is very simple to build it yourself. Checkout the jbpm.3 codebase from the 
-      jbpm repository, navigate into the jpdl/ws subfolder and invoke ant to build it. You 
-      will find the jbpm-jpdl-ws.war artefact in the target subfolder. With JBoss AS it is as
-      simple as dropping this file in the deploy folder of your server instance. You will need
-      to endorse some libraries if you are running Java 6. For more information look at 
-      http://jbws.dyndns.org/mediawiki/index.php?title=Install_JBossWS.
-      </para>
-    </section>
-    
-    <section id="wstest">
-      <title>Testing the deployment</title>
-      <para>Once the web services module is deployed correctly you can test it with a tool
-      such as SoapUI. Import the generated WSDL, send some messages and see what happens.
-      </para>
-    </section>
-    
-  </section>
-    
-</chapter>
\ No newline at end of file

Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/pom.xml	2008-11-10 22:14:07 UTC (rev 2873)
@@ -17,7 +17,7 @@
   <groupId>org.jbpm.jbpm3</groupId>
   <artifactId>jbpm</artifactId>
   <packaging>pom</packaging>
-  <version>3.3.0-SNAPSHOT</version>
+  <version>3.3.0.GA</version>
 
   <!-- Parent -->
   <parent>
@@ -431,6 +431,7 @@
       <id>distro</id>
       <modules>
         <module>modules/distribution</module>
+        <module>modules/db</module>
         <module>modules/userguide</module>
       </modules>
       <build>
@@ -569,19 +570,7 @@
           <artifactId>jtds</artifactId>
           <scope>test</scope>
         </dependency>
-        <dependency>
-          <groupId>com.sybase</groupId>
-          <artifactId>jconnect</artifactId>
-          <version>6.0.5</version>
-          <scope>test</scope>
-        </dependency>
       </dependencies>
-      <repositories>
-        <repository>
-          <id>qa.jboss.com</id>
-          <url>http://www.qa.jboss.com/jdbc-drivers/maven2</url>
-        </repository>
-      </repositories>
     </profile>
   </profiles>
 </project>

Modified: jbpm3/trunk/profiles.xml.example
===================================================================
--- jbpm3/trunk/profiles.xml.example	2008-11-10 21:23:49 UTC (rev 2872)
+++ jbpm3/trunk/profiles.xml.example	2008-11-10 22:14:07 UTC (rev 2873)
@@ -27,12 +27,13 @@
         <jdbc.postgresql.username>jbpmtest</jdbc.postgresql.username>
         <jdbc.postgresql.password></jdbc.postgresql.password>
         
-        <jdbc.sybase.url>jdbc:jtds:sybase://dev01.qa.atl.jboss.com:4100/jbpmteam</jdbc.sybase.url>
-        <jdbc.sybase.server>dev01.qa.atl.jboss.com</jdbc.sybase.server>
-        <jdbc.sybase.port>4100</jdbc.sybase.port>
-        <jdbc.sybase.database>jbpmteam</jdbc.sybase.database>
-        <jdbc.sybase.username>jbpmteam</jdbc.sybase.username>
-        <jdbc.sybase.password>jbpmteam</jdbc.sybase.password>
+        <jdbc.sybase.driver>net.sourceforge.jtds.jdbc.Driver</jdbc.sybase.driver>
+        <jdbc.sybase.url>jdbc:jtds:sybase://localhost:5000/jbpmtest</jdbc.sybase.url>
+        <jdbc.sybase.server>localhost</jdbc.sybase.server>
+        <jdbc.sybase.port>5000</jdbc.sybase.port>
+        <jdbc.sybase.database>jbpmtest</jdbc.sybase.database>
+        <jdbc.sybase.username>jbpmtest</jdbc.sybase.username>
+        <jdbc.sybase.password>jbpmtest</jdbc.sybase.password>
         -->
       </properties>
     </profile>




More information about the jbpm-commits mailing list