[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