[jbpm-commits] JBoss JBPM SVN: r4312 - in jbpm4/trunk/modules: api/src/main/java/org/jbpm/task and 22 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Mar 24 05:01:41 EDT 2009


Author: tom.baeyens at jboss.com
Date: 2009-03-24 05:01:40 -0400 (Tue, 24 Mar 2009)
New Revision: 4312

Added:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assignable.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/AssignmentHandler.java
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/cancel/
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/cancel/TaskCancelTest.java
   jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/cancel/process.jpdl.xml
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
Removed:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assigner.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java
Modified:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/HistoryService.java
   jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ActivityStart.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryAutomaticInstanceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryTaskInstanceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ActivityImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/HistoryServiceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/TaskServiceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/Assignable.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/ParticipantImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/SwimlaneImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml
Log:
JBPM-2080 JBPM-2024 JBPM-2104 more on swimlanes

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/HistoryService.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/HistoryService.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/HistoryService.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -36,8 +36,8 @@
   /** search for process instances in the history */
   HistoryProcessInstanceQuery createHistoryProcessInstanceQuery();
 
-  /** search in history activity instance information for a given processDefinition */ 
-  HistoryActivityInstanceQuery createHistoryActivityInstanceQuery(String processDefinitionId);
+  /** search in history activity instance information */ 
+  HistoryActivityInstanceQuery createHistoryActivityInstanceQuery();
 
   /** returns the average duration in milliseconds for each activity in the given process definition */
   Map<String, Long> avgDurationPerActivity(String processDefinitionId);

Added: jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assignable.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assignable.java	                        (rev 0)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assignable.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -0,0 +1,33 @@
+/*
+ * 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.task;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public interface Assignable {
+
+  void setAssignee(String assigned);
+  void addCandidateUser(String userId);
+  void addCandidateGroup(String groupId);
+}
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assignable.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assigner.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assigner.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/Assigner.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -1,34 +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.task;
-
-import java.io.Serializable;
-
-
-/** interface to delegate {@link Task} or {@link Swimlane} assignment.
- * @author Tom Baeyens
- */
-public interface Assigner extends Serializable {
-
-  /** sets the actorId and candidates for the given task. */
-  void assign(Task task) throws Exception;
-}

Added: jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/AssignmentHandler.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/AssignmentHandler.java	                        (rev 0)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/AssignmentHandler.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -0,0 +1,36 @@
+/*
+ * 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.task;
+
+import java.io.Serializable;
+
+import org.jbpm.model.OpenExecution;
+
+
+/** interface to delegate {@link Task} or {@link Swimlane} assignment.
+ * @author Tom Baeyens
+ */
+public interface AssignmentHandler extends Serializable {
+
+  /** sets the actorId and candidates for the given task. */
+  void assign(Assignable assignable, OpenExecution execution) throws Exception;
+}


Property changes on: jbpm4/trunk/modules/api/src/main/java/org/jbpm/task/AssignmentHandler.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd	2009-03-24 09:01:40 UTC (rev 4312)
@@ -320,7 +320,15 @@
           </sequence>
           <attributeGroup ref="tns:activityAttributes" />
           <attributeGroup ref="tns:assignmentAttributes"/>
-          <attribute name="cancel" type="tns:cancelType" default="complete" />
+          <attribute name="on-transition" default="cancel">
+            <simpleType>
+              <restriction base="string">
+                <enumeration value="keep"/>
+                <enumeration value="cancel"/>
+              </restriction>
+            </simpleType>
+          </attribute>
+          <attribute name="completion" type="string" default="complete" />
         </complexType>
       </element>
       
@@ -418,14 +426,6 @@
     </choice>
   </group>
   
-  <simpleType name="cancelType">
-    <restriction base="string">
-      <enumeration value="forbidden"/>
-      <enumeration value="ignore"/>
-      <enumeration value="complete"/>
-    </restriction>
-  </simpleType>
-  
   <group name="wireObjectGroup">
     <choice>
       <element name="string">

Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -47,7 +47,7 @@
   	
     <antcall target="internal.mysql.mapping.updates" />
   	
-    <copy todir="${config.files.dir}">
+    <copy todir="${config.files.dir}" overwrite="true">
       <fileset dir="jbpm">
         <include name="*.xml" />
       </fileset>
@@ -67,7 +67,7 @@
         <file name="jbpm/cfg/part4.jbpm.cfg.xml" />
       </filelist>
     </concat>
-    <copy todir="${config.files.dir}">
+    <copy todir="${config.files.dir}" overwrite="true">
       <fileset dir="log">
         <include name="${log.cfg}" />
       </fileset>

Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -147,6 +147,7 @@
     </set>
 
     <!-- ActivityImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <property name="type" column="TYPE_" />
     <property name="isLocalScope" column="LOCAL_SCOPE_" />
     <property name="isExecutionAsync" column="EXEC_ASYNC_" />
     <property name="isSignalAsync" column="SIGNAL_ASYNC_" />

Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -102,6 +102,7 @@
                  class="ExecutionImpl"
                  foreign-key="FK_EXEC_SUPEREXEC"
                  index="IDX_EXEC_SUPEREXEC" />
+                 
   </class>
 
   <!-- ### COMMENTS ####################################################### -->

Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -54,6 +54,7 @@
                  foreign-key="FK_HISTAI_ACT"
                  index="IDX_HISTAI_ACT" />
 
+    <property name="type" column="TYPE_" />
     <property name="executionId" column="EXECUTION_" />
     <property name="activityName" column="ACTIVITY_NAME_" />
     <property name="startTime" column="START_" type="timestamp" />

Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -27,6 +27,7 @@
   <subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" 
             extends="org.jbpm.pvm.internal.model.ExecutionImpl"
             discriminator-value="jpdl">
+
     <map name="swimlanes"
          cascade="all-delete-orphan">
       <key foreign-key="FK_SWIMLANE_EXEC">

Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -96,8 +96,13 @@
     <many-to-one name="execution"
                  class="org.jbpm.pvm.internal.model.ExecutionImpl" 
                  column="EXECUTION_" 
-                 foreign-key="FK_TASK_EXEC" />
+                 foreign-key="none" />
 
+    <many-to-one name="processInstance"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="PROCINST_" 
+                 foreign-key="none" />
+
     <many-to-one name="swimlane"
                  class="SwimlaneImpl" 
                  column="SWIMLANE_" 

Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/cancel/TaskCancelTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/cancel/TaskCancelTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/cancel/TaskCancelTest.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -0,0 +1,79 @@
+/*
+ * 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.examples.task.cancel;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.examples.task.assignee.Order;
+import org.jbpm.history.HistoryActivityInstance;
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskCancelTest extends JbpmTestCase {
+  
+  public void testTaskCancel() {
+    /*
+    deployJpdlResource("org/jbpm/examples/task/cancel/process.jpdl.xml");
+    
+    Execution execution = executionService.startProcessInstanceByKey("TaskCancel");
+    String executionId = execution.getId();
+    
+    Task task = taskService.getPersonalTaskList("johndoe",0,1).get(0);
+    
+    executionService.signalExecutionById(executionId);
+    
+    assertNull(taskService.getTask(task.getDbid()));
+    
+    HistoryActivityInstance historyActivityInstance = historyService.createHistoryActivityInstanceQuery()
+      .activityName("enter damage report")
+      .page(0, 1)
+      .execute()
+      .get(0);
+    
+    
+    
+    assertEquals(1, taskList.size());
+    Task task = taskList.get(0);
+    assertEquals("review", task.getName());
+    assertEquals("johndoe", task.getAssignee());
+
+    // submit the task
+    taskService.submitTask(task.getDbid());
+    
+    // verify that the task list is now empty
+    taskList = taskService.getPersonalTaskList("johndoe", 0, 10);
+    assertEquals(0, taskList.size());
+
+    // verify that process moved to the next state
+    execution = executionService.findExecution(executionId);
+    assertEquals("wait", execution.getActivityName());
+    */
+  }
+
+}


Property changes on: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/cancel/TaskCancelTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -147,6 +147,7 @@
     </set>
 
     <!-- ActivityImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <property name="type" column="TYPE_" />
     <property name="isLocalScope" column="LOCAL_SCOPE_" />
     <property name="isExecutionAsync" column="EXEC_ASYNC_" />
     <property name="isSignalAsync" column="SIGNAL_ASYNC_" />

Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -102,6 +102,7 @@
                  class="ExecutionImpl"
                  foreign-key="FK_EXEC_SUPEREXEC"
                  index="IDX_EXEC_SUPEREXEC" />
+                 
   </class>
 
   <!-- ### COMMENTS ####################################################### -->

Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -54,6 +54,7 @@
                  foreign-key="FK_HISTAI_ACT"
                  index="IDX_HISTAI_ACT" />
 
+    <property name="type" column="TYPE_" />
     <property name="executionId" column="EXECUTION_" />
     <property name="activityName" column="ACTIVITY_NAME_" />
     <property name="startTime" column="START_" type="timestamp" />

Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -27,6 +27,7 @@
   <subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" 
             extends="org.jbpm.pvm.internal.model.ExecutionImpl"
             discriminator-value="jpdl">
+
     <map name="swimlanes"
          cascade="all-delete-orphan">
       <key foreign-key="FK_SWIMLANE_EXEC">

Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -96,8 +96,13 @@
     <many-to-one name="execution"
                  class="org.jbpm.pvm.internal.model.ExecutionImpl" 
                  column="EXECUTION_" 
-                 foreign-key="FK_TASK_EXEC" />
+                 foreign-key="none" />
 
+    <many-to-one name="processInstance"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="PROCINST_" 
+                 foreign-key="none" />
+
     <many-to-one name="swimlane"
                  class="SwimlaneImpl" 
                  column="SWIMLANE_" 

Added: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/cancel/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/cancel/process.jpdl.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/cancel/process.jpdl.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="TaskCancel" xmlns="http://jbpm.org/4/jpdl">
+
+  <start g="20,20,48,48">
+    <transition to="enter damage report" />
+  </start>
+  
+  <task name="enter damage report"
+        assignee="johndoe" 
+        g="96,16,127,52">
+    <transition to="analyse report"/>
+  </task>
+
+  <task name="analyse report"
+        assignee="johndoe" 
+        on-transition="keep"
+        g="96,16,127,52">
+    <transition to="wait"/>
+  </task>
+
+  <state name="wait" g="255,16,88,52"/>
+  
+</process>


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/cancel/process.jpdl.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -40,7 +40,7 @@
   public JpdlActivityBinding(String tagName) {
     super(tagName, "http://jbpm.org/4/jpdl", "activity");
   }
-  
+
   public void parseName(Element element, ActivityImpl activity, Parse parse) {
     String name = XmlUtil.attribute(element, "name", isNameRequired(), parse);
     

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -45,16 +45,12 @@
   protected TaskDefinitionImpl taskDefinition;
   
   public void execute(ActivityExecution execution) {
+    JpdlExecution jpdlExecution = execution.getExtension(JpdlExecution.class);
+    TaskImpl task = jpdlExecution.createTask(taskDefinition);
+
     TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
-    TaskImpl task = (TaskImpl) taskDbSession.createTask();
-    task.setExecution(execution);
-    task.setName(execution.getActivityName());
-    
-    JpdlExecution jpdlExecution = (JpdlExecution) execution;
-    jpdlExecution.initializeTask(task, taskDefinition);
-    
-    taskDbSession.saveTask(task);
-    
+    taskDbSession.save(task);
+
     execution.historyTaskStart(task);
     execution.waitForSignal();
   }

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -31,16 +31,13 @@
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.script.ScriptManager;
-import org.jbpm.pvm.internal.task.Assignable;
 import org.jbpm.pvm.internal.task.ParticipantImpl;
 import org.jbpm.pvm.internal.task.SwimlaneDefinitionImpl;
 import org.jbpm.pvm.internal.task.SwimlaneImpl;
 import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
 import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.session.TaskDbSession;
-import org.jbpm.task.GroupRef;
-import org.jbpm.task.Participant;
-import org.jbpm.task.UserRef;
+import org.jbpm.task.Assignable;
 
 /**
  * @author Tom Baeyens
@@ -50,20 +47,35 @@
   private static final long serialVersionUID = 1L;
   
   private static Log log = Log.getLog(JpdlExecution.class.getName());
+  
+  protected Map<String, SwimlaneImpl> swimlanes;
 
-  protected Map<String, SwimlaneImpl> swimlanes = new HashMap<String, SwimlaneImpl>();
-  
-  public void deleting() {
-    TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
-    if (taskDbSession!=null) {
-      taskDbSession.deletingExecution(this);
+  public <T> T getExtension(Class<T> extensionClass) {
+    if (extensionClass==null) {
+      throw new JbpmException("extensionClass is null");
     }
+    if (extensionClass.equals(JpdlExecution.class)) {
+      Session session = Environment.getFromCurrent(Session.class);
+      return (T) session.load(JpdlExecution.class, dbid);
+    }
+    throw new JbpmException("unsuppported extension "+extensionClass.getName());
   }
+  
+  // tasks ////////////////////////////////////////////////////////////////////
 
-  public void initializeTask(TaskImpl task, TaskDefinitionImpl taskDefinition) {
+  public TaskImpl createTask(TaskDefinitionImpl taskDefinition) {
+    TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
+    TaskImpl task = (TaskImpl) taskDbSession.createTask();
+    task.setExecution(this);
+    task.setProcessInstance(processInstance);
+    
+    // initialize the name
     if (taskDefinition.getName()!=null) {
       task.setName(taskDefinition.getName());
+    } else {
+      task.setName(getActivityName());
     }
+
     task.setDescription(taskDefinition.getDescription());
     task.setBlocking(taskDefinition.isBlocking());
     task.setSignalling(taskDefinition.isSignalling());
@@ -71,7 +83,8 @@
     
     SwimlaneDefinitionImpl swimlaneDefinition = taskDefinition.getSwimlaneDefinition();
     if (swimlaneDefinition!=null) {
-      SwimlaneImpl swimlane = getInitializedSwimlane(swimlaneDefinition);
+      JpdlExecution jpdlProcessInstance = processInstance.getExtension(JpdlExecution.class); 
+      SwimlaneImpl swimlane = jpdlProcessInstance.getInitializedSwimlane(swimlaneDefinition);
       task.setSwimlane(swimlane);
       
       // copy the swimlane assignments to the task
@@ -82,26 +95,13 @@
     }
 
     initializeAssignments(taskDefinition, task);
-  }
-
-  public SwimlaneImpl getInitializedSwimlane(SwimlaneDefinitionImpl swimlaneDefinition) {
-    Session session = Environment.getFromCurrent(Session.class);
-    JpdlExecution jpdlProcessInstance = (JpdlExecution) session.load(JpdlExecution.class, getProcessInstance().getDbid());
     
-    String swimlaneName = swimlaneDefinition.getName();
-    SwimlaneImpl swimlane = jpdlProcessInstance.getSwimlanes().get(swimlaneName);
-    if (swimlane==null) {
-      // initialize swimlane
-      swimlane = new SwimlaneImpl();
-      swimlane.setName(swimlaneName);
-      swimlane.setExecution(this);
-      jpdlProcessInstance.getSwimlanes().put(swimlaneName, swimlane);
-      initializeAssignments(swimlaneDefinition, swimlane);
-    }
-
-    return swimlane;
+    return task;
   }
 
+  /** tasks and swimlane assignment.
+   * SwimlaneDefinitionImpl is base class for TaskDefinitionImpl.
+   * Both Task and Swimlane implement Assignable. */
   public void initializeAssignments(SwimlaneDefinitionImpl assignmentDefinition, Assignable assignable) {
     String assigneeExpression = assignmentDefinition.getAssigneeExpression();
     if (assigneeExpression!=null) {
@@ -120,7 +120,7 @@
       StringTokenizer tokenizer = new StringTokenizer(candidateUsers, ",");
       while (tokenizer.hasMoreTokens()) {
         String candidateUser = tokenizer.nextToken();
-        assignable.addParticipant(new UserRef(candidateUser), Participant.CANDIDATE);
+        assignable.addCandidateUser(candidateUser);
       }
     }
   
@@ -132,7 +132,7 @@
       StringTokenizer tokenizer = new StringTokenizer(candidateGroups, ",");
       while (tokenizer.hasMoreTokens()) {
         String candidateGroup = tokenizer.nextToken();
-        assignable.addParticipant(new GroupRef(candidateGroup), Participant.CANDIDATE);
+        assignable.addCandidateGroup(candidateGroup);
       }
     }
   }
@@ -148,10 +148,38 @@
     throw new JbpmException("result of assignment expression "+expression+" is "+result+" ("+result.getClass().getName()+") instead of String");
   }
   
-  public Map<String, SwimlaneImpl> getSwimlanes() {
-    return swimlanes;
+  // swimlanes ////////////////////////////////////////////////////////////////
+  
+  public void addSwimlane(SwimlaneImpl swimlane) {
+    if (swimlanes==null) {
+      swimlanes = new HashMap<String, SwimlaneImpl>();
+    }
+    swimlanes.put(swimlane.getName(), swimlane);
+    swimlane.setExecution(this);
   }
-  public void setSwimlanes(Map<String, SwimlaneImpl> swimlanes) {
-    this.swimlanes = swimlanes;
+  
+  public void removeSwimlane(SwimlaneImpl swimlane) {
+    swimlanes.remove(swimlane.getName());
+    swimlane.setExecution(null);
   }
+
+  public SwimlaneImpl getInitializedSwimlane(SwimlaneDefinitionImpl swimlaneDefinition) {
+    String swimlaneName = swimlaneDefinition.getName();
+
+    if (swimlanes==null) {
+      swimlanes = new HashMap<String, SwimlaneImpl>();
+    }
+
+    SwimlaneImpl swimlane = swimlanes.get(swimlaneName);
+    if (swimlane==null) {
+      // initialize swimlane
+      swimlane = new SwimlaneImpl();
+      swimlane.setName(swimlaneName);
+      swimlane.setExecution(this);
+      swimlanes.put(swimlaneName, swimlane);
+      initializeAssignments(swimlaneDefinition, swimlane);
+    }
+
+    return swimlane;
+  }
 }

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -137,6 +137,7 @@
           ActivityImpl activity = (ActivityImpl) processDefinition.createActivity();
           parse.pushObject(activity);
           try {
+            activity.setType(activityBinding.getTagName());
             activityBinding.parseName(element, activity, parse);
             activityBinding.parseFlows(element, activity, parse);
             ActivityBehaviour activityBehaviour = (ActivityBehaviour) activityBinding.parse(element, parse, this);

Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -147,6 +147,7 @@
     </set>
 
     <!-- ActivityImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <property name="type" column="TYPE_" />
     <property name="isLocalScope" column="LOCAL_SCOPE_" />
     <property name="isExecutionAsync" column="EXEC_ASYNC_" />
     <property name="isSignalAsync" column="SIGNAL_ASYNC_" />

Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -102,6 +102,7 @@
                  class="ExecutionImpl"
                  foreign-key="FK_EXEC_SUPEREXEC"
                  index="IDX_EXEC_SUPEREXEC" />
+                 
   </class>
 
   <!-- ### COMMENTS ####################################################### -->

Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -54,6 +54,7 @@
                  foreign-key="FK_HISTAI_ACT"
                  index="IDX_HISTAI_ACT" />
 
+    <property name="type" column="TYPE_" />
     <property name="executionId" column="EXECUTION_" />
     <property name="activityName" column="ACTIVITY_NAME_" />
     <property name="startTime" column="START_" type="timestamp" />

Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -27,6 +27,7 @@
   <subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" 
             extends="org.jbpm.pvm.internal.model.ExecutionImpl"
             discriminator-value="jpdl">
+
     <map name="swimlanes"
          cascade="all-delete-orphan">
       <key foreign-key="FK_SWIMLANE_EXEC">

Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -96,8 +96,13 @@
     <many-to-one name="execution"
                  class="org.jbpm.pvm.internal.model.ExecutionImpl" 
                  column="EXECUTION_" 
-                 foreign-key="FK_TASK_EXEC" />
+                 foreign-key="none" />
 
+    <many-to-one name="processInstance"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="PROCINST_" 
+                 foreign-key="none" />
+
     <many-to-one name="swimlane"
                  class="SwimlaneImpl" 
                  column="SWIMLANE_" 

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -0,0 +1,48 @@
+/*
+ * 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.pvm.internal.cmd;
+
+import org.jbpm.env.Environment;
+import org.jbpm.pvm.internal.task.TaskImpl;
+import org.jbpm.session.TaskDbSession;
+
+/**
+ * @author Tom Baeyens
+ */
+public class CompleteTaskCmd extends AbstractCommand<Void> {
+
+  private static final long serialVersionUID = 1L;
+  
+  protected long taskDbid;
+
+  public CompleteTaskCmd(long taskDbid) {
+    this.taskDbid = taskDbid;
+  }
+
+  public Void execute(Environment environment) throws Exception {
+    TaskDbSession taskDbession = environment.get(TaskDbSession.class);
+    TaskImpl task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
+    task.complete();
+    taskDbession.delete(task);
+    return null;
+  }
+}


Property changes on: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteTaskCmd.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteTaskCmd.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -24,9 +24,9 @@
 import org.jbpm.JbpmException;
 import org.jbpm.cmd.Command;
 import org.jbpm.env.Environment;
-import org.jbpm.pvm.internal.task.Assignable;
 import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.session.DbSession;
+import org.jbpm.task.Assignable;
 
 /**
  * @author Alejandro Guizar

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -21,7 +21,6 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import org.jbpm.cmd.Command;
 import org.jbpm.env.Environment;
 import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.session.TaskDbSession;
@@ -42,8 +41,6 @@
   public Long execute(Environment environment) throws Exception {
     TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
     
-    
-    
     taskDbSession.saveTask(task);
     
     return task.getDbid();

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -1,50 +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.pvm.internal.cmd;
-
-import org.jbpm.cmd.Command;
-import org.jbpm.env.Environment;
-import org.jbpm.pvm.internal.task.TaskImpl;
-import org.jbpm.session.TaskDbSession;
-
-
-/**
- * @author Tom Baeyens
- */
-public class SubmitTaskCmd extends AbstractCommand<Void> {
-
-  private static final long serialVersionUID = 1L;
-  
-  protected long taskDbid;
-
-  public SubmitTaskCmd(long taskDbid) {
-    this.taskDbid = taskDbid;
-  }
-
-  public Void execute(Environment environment) throws Exception {
-    TaskDbSession taskDbession = environment.get(TaskDbSession.class);
-    TaskImpl task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
-    task.submit();
-    taskDbession.delete(task);
-    return null;
-  }
-}

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -39,6 +39,7 @@
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.query.HistoryProcessInstanceQueryImpl;
 import org.jbpm.pvm.internal.svc.DefaultCommandService;
+import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.session.PvmDbSession;
 
 /**
@@ -239,6 +240,12 @@
     }
     
     ExecutionImpl processInstance = (ExecutionImpl) findExecutionById(processInstanceId);
+    
+    // delete remaining tasks for this process instance
+    List<TaskImpl> tasks = findTasks(processInstanceId);
+    for (TaskImpl task: tasks) {
+      session.delete(task);
+    }
 
     if (processInstance!=null) {
       if (log.isDebugEnabled()) {
@@ -252,6 +259,16 @@
     }
   }
 
+  private List<TaskImpl> findTasks(String processInstanceId) {
+    Query query = session.createQuery(
+      "select task " +
+      "from "+TaskImpl.class.getName()+" as task " +
+      "where task.processInstance.id = :processInstanceId"
+    );
+    query.setString("processInstanceId", processInstanceId);
+    return query.list();
+  }
+
   /** see if hibernate knows about the history class */
   public boolean isHistoryEnabled() {
     ClassMetadata historyHibernateMetadata = session.getSessionFactory().getClassMetadata(HistoryProcessInstanceImpl.class);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ActivityStart.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ActivityStart.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ActivityStart.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -47,6 +47,9 @@
     HistoryActivityInstanceImpl historyActivityInstanceImpl = 
         createHistoryActivityInstance(historyProcessInstanceImpl);
     
+    String activityType = execution.getActivity().getType();
+    historyActivityInstanceImpl.setType(activityType);
+    
     session.save(historyActivityInstanceImpl);
     
     execution.setHistoryActivityInstanceDbid(historyActivityInstanceImpl.getDbid());

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -43,6 +43,7 @@
   protected HistoryProcessInstance historyProcessInstance;
   protected String executionId;
   protected ActivityImpl activity;
+  protected String type;
   protected String activityName;
 
   protected Date startTime;
@@ -100,4 +101,10 @@
   public void setTransitionName(String transitionName) {
     this.transitionName = transitionName;
   }
+  public String getType() {
+    return type;
+  }
+  public void setType(String type) {
+    this.type = type;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryAutomaticInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryAutomaticInstanceImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryAutomaticInstanceImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -31,6 +31,8 @@
  */
 public class HistoryAutomaticInstanceImpl extends HistoryActivityInstanceImpl {
   
+  private static final long serialVersionUID = 1L;
+
   public HistoryAutomaticInstanceImpl() {
   }
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryTaskInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryTaskInstanceImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryTaskInstanceImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -30,7 +30,10 @@
  */
 public class HistoryTaskInstanceImpl extends HistoryActivityInstanceImpl {
 
+  private static final long serialVersionUID = 1L;
+
   protected String assignee;
+  
   public HistoryTaskInstanceImpl() {
   }
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ActivityImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ActivityImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ActivityImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -45,6 +45,7 @@
   protected TransitionImpl defaultTransition;
   protected ActivityImpl parentActivity;
 
+  protected String type;
   protected boolean isLocalScope;
   protected boolean isExecutionAsync;
   protected boolean isSignalAsync;
@@ -483,4 +484,10 @@
   public void setLocalScope(boolean isLocalScope) {
     this.isLocalScope = isLocalScope;
   }
+  public String getType() {
+    return type;
+  }
+  public void setType(String type) {
+    this.type = type;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -27,12 +27,14 @@
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Queue;
 import java.util.Set;
+import java.util.StringTokenizer;
 
 import org.jbpm.Execution;
 import org.jbpm.JbpmException;
@@ -70,9 +72,17 @@
 import org.jbpm.pvm.internal.model.op.ProceedToDestination;
 import org.jbpm.pvm.internal.model.op.Signal;
 import org.jbpm.pvm.internal.model.op.TakeTransition;
+import org.jbpm.pvm.internal.script.ScriptManager;
+import org.jbpm.pvm.internal.task.ParticipantImpl;
+import org.jbpm.pvm.internal.task.SwimlaneDefinitionImpl;
+import org.jbpm.pvm.internal.task.SwimlaneImpl;
+import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
+import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.pvm.internal.util.EqualsUtil;
 import org.jbpm.pvm.internal.util.Priority;
 import org.jbpm.session.MessageSession;
+import org.jbpm.session.TaskDbSession;
+import org.jbpm.task.Assignable;
 import org.jbpm.task.Task;
 
 /**
@@ -137,7 +147,7 @@
   
   /** the sub process link in case of sub process execution */
   protected ExecutionImpl subProcessInstance;
- 
+  
   /** the free text comments users make on this execution */
   protected Set<CommentImpl> comments;
   
@@ -858,7 +868,7 @@
              && executionsMap.containsKey(name)
            );
   }
-
+  
   // sub process creation /////////////////////////////////////////////////////
 
   public ClientProcessInstance createSubProcessInstance(ClientProcessDefinition processDefinition) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -47,12 +47,8 @@
   protected String executionId;
   protected String activityName;
 
-  public HistoryActivityInstanceQueryImpl(CommandService commandService, String processInstanceId) {
+  public HistoryActivityInstanceQueryImpl(CommandService commandService) {
     super(commandService);
-    if (processInstanceId==null) {
-      throw new JbpmException("processInstanceId is null");
-    }
-    this.processDefinitionId = processInstanceId;
   }
 
   public String hql() {
@@ -141,6 +137,9 @@
   }
 
   public HistoryActivityInstanceQuery processDefinitionId(String processDefinitionId) {
+    if (processDefinitionId==null) {
+      throw new JbpmException("processInstanceId is null");
+    }
     this.processDefinitionId = processDefinitionId;
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/HistoryServiceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/HistoryServiceImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/HistoryServiceImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -49,7 +49,7 @@
     return new HistoryProcessInstanceQueryImpl(commandService);
   }
 
-  public HistoryActivityInstanceQuery createHistoryActivityInstanceQuery(String processDefinitionId) {
-    return new HistoryActivityInstanceQueryImpl(commandService, processDefinitionId);
+  public HistoryActivityInstanceQuery createHistoryActivityInstanceQuery() {
+    return new HistoryActivityInstanceQueryImpl(commandService);
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/TaskServiceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/TaskServiceImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/TaskServiceImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -45,7 +45,7 @@
 import org.jbpm.pvm.internal.cmd.RemoveParticipantCmd;
 import org.jbpm.pvm.internal.cmd.SaveTaskCmd;
 import org.jbpm.pvm.internal.cmd.SetVariablesCmd;
-import org.jbpm.pvm.internal.cmd.SubmitTaskCmd;
+import org.jbpm.pvm.internal.cmd.CompleteTaskCmd;
 import org.jbpm.pvm.internal.cmd.TakeTaskCmd;
 import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.pvm.internal.task.TaskQueryImpl;
@@ -80,7 +80,7 @@
   }
 
   public void submitTask(long taskDbid) {
-    SubmitTaskCmd cmd = new SubmitTaskCmd(taskDbid);
+    CompleteTaskCmd cmd = new CompleteTaskCmd(taskDbid);
     commandService.execute(cmd);
   }
   
@@ -89,7 +89,7 @@
     SetVariablesCmd setVariablesCommand = new SetVariablesCmd(taskDbid);
     setVariablesCommand.setVariables(variables);
     compositeCmd.addCommand(setVariablesCommand);
-    compositeCmd.addCommand(new SubmitTaskCmd(taskDbid));
+    compositeCmd.addCommand(new CompleteTaskCmd(taskDbid));
     commandService.execute(compositeCmd);
   }
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/Assignable.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/Assignable.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/Assignable.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -21,8 +21,6 @@
  */
 package org.jbpm.pvm.internal.task;
 
-import org.jbpm.task.IdentityRef;
-import org.jbpm.task.Participant;
 
 /**
  * @author Tom Baeyens
@@ -30,5 +28,6 @@
 public interface Assignable {
 
   void setAssignee(String assigned);
-  Participant addParticipant(IdentityRef identityRef, String participation);
+  void addCandidateUser(String userId);
+  void addCandidateGroup(String groupId);
 }
\ No newline at end of file

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/ParticipantImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/ParticipantImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/ParticipantImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -24,6 +24,7 @@
 import java.io.Serializable;
 
 import org.jbpm.JbpmException;
+import org.jbpm.task.Assignable;
 import org.jbpm.task.GroupRef;
 import org.jbpm.task.IdentityRef;
 import org.jbpm.task.Participant;
@@ -43,7 +44,7 @@
   protected String userId;
   protected String groupId; 
   protected String participation;
-  protected Assignable task;
+  protected TaskImpl task;
   protected SwimlaneImpl swimlane;
   
   public ParticipantImpl() {
@@ -75,10 +76,10 @@
     }
   }
 
-  public Assignable getTask() {
+  public TaskImpl getTask() {
     return task;
   }
-  public void setTask(Assignable task) {
+  public void setTask(TaskImpl task) {
     this.task = task;
   }
   public long getDbid() {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/SwimlaneImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/SwimlaneImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/SwimlaneImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -29,9 +29,12 @@
 import org.jbpm.JbpmException;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.util.EqualsUtil;
+import org.jbpm.task.Assignable;
+import org.jbpm.task.GroupRef;
 import org.jbpm.task.IdentityRef;
 import org.jbpm.task.Participant;
 import org.jbpm.task.Swimlane;
+import org.jbpm.task.UserRef;
 
 /**
  * runtime process role for a specific process instance.
@@ -74,7 +77,18 @@
     if (participation==null) {
       throw new JbpmException("participation is null");
     }
-    ParticipantImpl participant = new ParticipantImpl(identityRef, participation);
+    return addParticipant(new ParticipantImpl(identityRef, participation));
+  }
+  
+  public void addCandidateGroup(String groupId) {
+    addParticipant(new GroupRef(groupId), Participant.CANDIDATE);
+  }
+
+  public void addCandidateUser(String userId) {
+    addParticipant(new UserRef(userId), Participant.CANDIDATE);
+  }
+
+  private Participant addParticipant(ParticipantImpl participant) {
     participant.setSwimlane(this);
     if (participants==null) {
       participants = new HashSet<ParticipantImpl>();

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -28,11 +28,9 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.StringTokenizer;
 
 import org.jbpm.Execution;
 import org.jbpm.JbpmException;
-import org.jbpm.activity.ActivityExecution;
 import org.jbpm.env.Environment;
 import org.jbpm.internal.log.Log;
 import org.jbpm.model.Comment;
@@ -40,10 +38,10 @@
 import org.jbpm.pvm.internal.model.CommentImpl;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.model.ScopeInstanceImpl;
-import org.jbpm.pvm.internal.script.ScriptManager;
-import org.jbpm.pvm.internal.util.Clock;
 import org.jbpm.pvm.internal.util.EqualsUtil;
 import org.jbpm.pvm.internal.util.Priority;
+import org.jbpm.session.TaskDbSession;
+import org.jbpm.task.Assignable;
 import org.jbpm.task.GroupRef;
 import org.jbpm.task.IdentityRef;
 import org.jbpm.task.Participant;
@@ -81,6 +79,8 @@
   protected String state;
 
   protected ExecutionImpl execution;
+  protected ExecutionImpl processInstance;
+
   protected boolean isSignalling = true;
   protected boolean isBlocking;
 
@@ -159,8 +159,16 @@
     }
     return addParticipant(new ParticipantImpl(identityRef, participation));
   }
+  
+  public void addCandidateGroup(String groupId) {
+    addParticipant(new GroupRef(groupId), Participant.CANDIDATE);
+  }
 
-  public Participant addParticipant(ParticipantImpl participant) {
+  public void addCandidateUser(String userId) {
+    addParticipant(new UserRef(userId), Participant.CANDIDATE);
+  }
+
+  private Participant addParticipant(ParticipantImpl participant) {
     participant.setTask(this);
     if (participants==null) {
       participants = new HashSet<ParticipantImpl>();
@@ -182,13 +190,14 @@
   
   // completion ///////////////////////////////////////////////////////////////
 
-  public void submit() {
+  public void complete() {
     if (execution!=null) {
       // the outcome is dynamically calculated based on e.g. a 
       // variable or a decision table on a variable.  an 
       // interface OutcomeEvaluator for user defined outcome calculation 
       // could be envisioned.
       String outcome = evaluateOutcome();
+
       // the outcome serves as the signal given to the execution.
       execution.signal(outcome);
     }
@@ -402,4 +411,10 @@
   public void setSubTasks(Set<TaskImpl> subTasks) {
     this.subTasks = subTasks;
   }
+  public ExecutionImpl getProcessInstance() {
+    return processInstance;
+  }
+  public void setProcessInstance(ExecutionImpl processInstance) {
+    this.processInstance = processInstance;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java	2009-03-24 09:01:40 UTC (rev 4312)
@@ -66,12 +66,17 @@
     return true;
   }
 
+  public String toString() {
+    // xml parsing error messages depend on this implementation of the toString to be meaningfull 
+    return tagName;
+  }
   public String getCategory() {
     return category;
   }
-
-  public String toString() {
-    // xml parsing error messages depend on this implementation of the toString to be meaningfull 
+  public String getTagName() {
     return tagName;
   }
+  public String getNamespaceUri() {
+    return namespaceUri;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -147,6 +147,7 @@
     </set>
 
     <!-- ActivityImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <property name="type" column="TYPE_" />
     <property name="isLocalScope" column="LOCAL_SCOPE_" />
     <property name="isExecutionAsync" column="EXEC_ASYNC_" />
     <property name="isSignalAsync" column="SIGNAL_ASYNC_" />

Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -102,6 +102,7 @@
                  class="ExecutionImpl"
                  foreign-key="FK_EXEC_SUPEREXEC"
                  index="IDX_EXEC_SUPEREXEC" />
+                 
   </class>
 
   <!-- ### COMMENTS ####################################################### -->

Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -54,6 +54,7 @@
                  foreign-key="FK_HISTAI_ACT"
                  index="IDX_HISTAI_ACT" />
 
+    <property name="type" column="TYPE_" />
     <property name="executionId" column="EXECUTION_" />
     <property name="activityName" column="ACTIVITY_NAME_" />
     <property name="startTime" column="START_" type="timestamp" />

Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -96,8 +96,13 @@
     <many-to-one name="execution"
                  class="org.jbpm.pvm.internal.model.ExecutionImpl" 
                  column="EXECUTION_" 
-                 foreign-key="FK_TASK_EXEC" />
+                 foreign-key="none" />
 
+    <many-to-one name="processInstance"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="PROCINST_" 
+                 foreign-key="none" />
+
     <many-to-one name="swimlane"
                  class="SwimlaneImpl" 
                  column="SWIMLANE_" 

Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -147,6 +147,7 @@
     </set>
 
     <!-- ActivityImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <property name="type" column="TYPE_" />
     <property name="isLocalScope" column="LOCAL_SCOPE_" />
     <property name="isExecutionAsync" column="EXEC_ASYNC_" />
     <property name="isSignalAsync" column="SIGNAL_ASYNC_" />

Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -102,6 +102,7 @@
                  class="ExecutionImpl"
                  foreign-key="FK_EXEC_SUPEREXEC"
                  index="IDX_EXEC_SUPEREXEC" />
+                 
   </class>
 
   <!-- ### COMMENTS ####################################################### -->

Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -54,6 +54,7 @@
                  foreign-key="FK_HISTAI_ACT"
                  index="IDX_HISTAI_ACT" />
 
+    <property name="type" column="TYPE_" />
     <property name="executionId" column="EXECUTION_" />
     <property name="activityName" column="ACTIVITY_NAME_" />
     <property name="startTime" column="START_" type="timestamp" />

Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -27,6 +27,7 @@
   <subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" 
             extends="org.jbpm.pvm.internal.model.ExecutionImpl"
             discriminator-value="jpdl">
+
     <map name="swimlanes"
          cascade="all-delete-orphan">
       <key foreign-key="FK_SWIMLANE_EXEC">

Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml	2009-03-23 21:35:09 UTC (rev 4311)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml	2009-03-24 09:01:40 UTC (rev 4312)
@@ -96,8 +96,13 @@
     <many-to-one name="execution"
                  class="org.jbpm.pvm.internal.model.ExecutionImpl" 
                  column="EXECUTION_" 
-                 foreign-key="FK_TASK_EXEC" />
+                 foreign-key="none" />
 
+    <many-to-one name="processInstance"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="PROCINST_" 
+                 foreign-key="none" />
+
     <many-to-one name="swimlane"
                  class="SwimlaneImpl" 
                  column="SWIMLANE_" 




More information about the jbpm-commits mailing list