[jbpm-commits] JBoss JBPM SVN: r4542 - in jbpm4/trunk/modules: api/src/main/java/org/jbpm/jpdl and 30 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Apr 13 04:59:30 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-04-13 04:59:29 -0400 (Mon, 13 Apr 2009)
New Revision: 4542
Added:
jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/DecisionHandler.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/DecisionConditionsTest.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/DecisionExpressionTest.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/DecisionHandlerTest.java
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/conditions/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/expression/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/handler/
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBuilder.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionConditionActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionExpressionActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionHandlerActivity.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/DecisionEnd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryDecisionInstanceImpl.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/DecisionTest.java
Removed:
jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/ExclusiveHandler.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/ExclusiveConditionsTest.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/ExclusiveExpressionTest.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/ExclusiveHandlerTest.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/conditions/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/expression/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/handler/
jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml
jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/conditions/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/expression/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/handler/
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBuilder.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveConditionActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveExpressionActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveHandlerActivity.java
jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml
jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ExclusiveEnd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryExclusiveInstanceImpl.java
jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml
jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java
jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
Modified:
jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java
jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd
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/jbpm/jbpm.jpdl.activities.xml
jbpm4/trunk/modules/examples/scripts/antrun-test-jars.xml
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/ContentEvaluation.java
jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/conditions/process.jpdl.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/expression/process.jpdl.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/handler/process.jpdl.xml
jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/TimerBuilder.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java
jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml
jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml
jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java
jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml
Log:
JBPM-2123 rename exclusive to decision
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -210,9 +210,9 @@
* is set to true. */
Transition getPreviousTransition();
- /** record history event that specifies for an exclusive activity which transition
+ /** record history event that specifies for a decision activity which transition
* has been taken. */
- void historyExclusive(String transitionName);
+ void historyDecision(String transitionName);
/** records the end of an automatic event. This should be called at the end of
* the activity. Before the activity's execute method is invoked, the start time
Copied: jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/DecisionHandler.java (from rev 4541, jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/ExclusiveHandler.java)
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/DecisionHandler.java (rev 0)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/DecisionHandler.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,34 @@
+/*
+ * 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.jpdl;
+
+import org.jbpm.model.OpenExecution;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public interface DecisionHandler {
+
+ /** the name of the selected outgoing transition */
+ String decide(OpenExecution execution);
+}
Property changes on: jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/DecisionHandler.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/ExclusiveHandler.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/ExclusiveHandler.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/jpdl/ExclusiveHandler.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -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.jpdl;
-
-import org.jbpm.model.OpenExecution;
-
-
-/**
- * @author Tom Baeyens
- */
-public interface ExclusiveHandler {
-
- /** the name of the selected outgoing transition */
- String select(OpenExecution execution);
-}
Modified: jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd 2009-04-13 08:59:29 UTC (rev 4542)
@@ -170,8 +170,8 @@
</element>
<!-- ~~~ EXCLUSIVE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <element name="exclusive">
- <annotation><documentation>Exclusive gateway: selects one path out of many alternatives.
+ <element name="decision">
+ <annotation><documentation>Decision gateway: selects one path out of many alternatives.
When an execution comes in, exactly one outgoing transition is taken.
</documentation></annotation>
<complexType>
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-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -63,7 +63,7 @@
<property name="transitionName" column="TRANSITION_" />
<subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
- <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+ <subclass name="HistoryDecisionInstanceImpl" discriminator-value="EXCL" />
</subclass>
<subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
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-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -44,14 +44,14 @@
</id>
<discriminator column="CLASS_" />
<subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionConditionActivity" discriminator-value="excl-cond" />
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionExpressionActivity" discriminator-value="excl-expr">
<property name="expr" column="TEXT_" />
<property name="lang" column="TEXT2_" />
</subclass>
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
- <property name="exclusiveHandlerName" column="TEXT_" />
- <many-to-one name="exclusiveHandlerDescriptor"
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionHandlerActivity" discriminator-value="excl-handler">
+ <property name="decisionHandlerName" column="TEXT_" />
+ <many-to-one name="decisionHandlerDescriptor"
column="EXCLDESCR_"
cascade="all"
class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
Modified: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,7 +1,7 @@
<activities>
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
- <activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
+ <activity binding="org.jbpm.jpdl.internal.activity.DecisionBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
Modified: jbpm4/trunk/modules/examples/scripts/antrun-test-jars.xml
===================================================================
--- jbpm4/trunk/modules/examples/scripts/antrun-test-jars.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/scripts/antrun-test-jars.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -31,16 +31,16 @@
<!-- EsbTest -->
<test-jar name="EsbTest" pkg="esb"/>
- <!-- ExclusiveConditionsTest -->
- <test-jar name="ExclusiveConditionsTest" pkg="exclusive/conditions"/>
+ <!-- DecisionConditionsTest -->
+ <test-jar name="DecisionConditionsTest" pkg="decision/conditions"/>
- <!-- ExclusiveExpressionTest -->
- <test-jar name="ExclusiveExpressionTest" pkg="exclusive/expression"/>
+ <!-- DecisionExpressionTest -->
+ <test-jar name="DecisionExpressionTest" pkg="decision/expression"/>
- <!-- ExclusiveHandlerTest -->
- <test-jar name="ExclusiveHandlerTest" pkg="exclusive/handler"/>
+ <!-- DecisionHandlerTest -->
+ <test-jar name="DecisionHandlerTest" pkg="decision/handler"/>
- <!-- ExclusiveHandlerTest -->
+ <!-- DecisionHandlerTest -->
<test-jar name="HqlTest" pkg="hql"/>
<!-- JavaInstantiateTest -->
Copied: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions (from rev 4541, jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/conditions)
Copied: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/DecisionConditionsTest.java (from rev 4541, jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/conditions/ExclusiveConditionsTest.java)
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/DecisionConditionsTest.java (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/DecisionConditionsTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,70 @@
+/*
+ * 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.decision.conditions;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionConditionsTest extends JbpmTestCase {
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ deploy("jbpm-DecisionConditionsTest.jpdl");
+
+ }
+
+ protected void tearDown() throws Exception
+ {
+ undeploy("jbpm-DecisionConditionsTest.jpdl");
+ super.tearDown();
+ }
+
+ public void testDecisionConditionsGood() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "good");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionConditions", variables);
+ assertEquals("submit document", execution.getActivityName());
+ }
+
+ public void testDecisionConditionsBad() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "bad");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionConditions", variables);
+ assertEquals("try again", execution.getActivityName());
+ }
+
+ public void testDecisionConditionsUgly() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "ugly");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionConditions", variables);
+ assertEquals("give up", execution.getActivityName());
+ }
+
+}
Deleted: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/ExclusiveConditionsTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/conditions/ExclusiveConditionsTest.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/conditions/ExclusiveConditionsTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,70 +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.examples.exclusive.conditions;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jbpm.Execution;
-import org.jbpm.test.JbpmTestCase;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveConditionsTest extends JbpmTestCase {
-
- protected void setUp() throws Exception
- {
- super.setUp();
- deploy("jbpm-ExclusiveConditionsTest.jpdl");
-
- }
-
- protected void tearDown() throws Exception
- {
- undeploy("jbpm-ExclusiveConditionsTest.jpdl");
- super.tearDown();
- }
-
- public void testExclusiveConditionsGood() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "good");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveConditions", variables);
- assertEquals("submit document", execution.getActivityName());
- }
-
- public void testExclusiveConditionsBad() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "bad");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveConditions", variables);
- assertEquals("try again", execution.getActivityName());
- }
-
- public void testExclusiveConditionsUgly() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "ugly");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveConditions", variables);
- assertEquals("give up", execution.getActivityName());
- }
-
-}
Copied: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression (from rev 4541, jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/expression)
Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/DecisionExpressionTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/DecisionExpressionTest.java (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/DecisionExpressionTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,70 @@
+/*
+ * 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.decision.expression;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionExpressionTest extends JbpmTestCase {
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ deploy("jbpm-DecisionExpressionTest.jpdl");
+
+ }
+
+ protected void tearDown() throws Exception
+ {
+ undeploy("jbpm-DecisionExpressionTest.jpdl");
+ super.tearDown();
+ }
+
+ public void testDecisionExpressionGood() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "good");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionExpression", variables);
+ assertEquals("submit document", execution.getActivityName());
+ }
+
+ public void testDecisionExpressionBad() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "bad");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionExpression", variables);
+ assertEquals("try again", execution.getActivityName());
+ }
+
+ public void testDecisionExpressionUgly() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "ugly");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionExpression", variables);
+ assertEquals("give up", execution.getActivityName());
+ }
+
+}
Deleted: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/ExclusiveExpressionTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/expression/ExclusiveExpressionTest.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/expression/ExclusiveExpressionTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,70 +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.examples.exclusive.expression;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jbpm.Execution;
-import org.jbpm.test.JbpmTestCase;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveExpressionTest extends JbpmTestCase {
-
- protected void setUp() throws Exception
- {
- super.setUp();
- deploy("jbpm-ExclusiveExpressionTest.jpdl");
-
- }
-
- protected void tearDown() throws Exception
- {
- undeploy("jbpm-ExclusiveExpressionTest.jpdl");
- super.tearDown();
- }
-
- public void testExclusiveExpressionGood() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "good");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveExpression", variables);
- assertEquals("submit document", execution.getActivityName());
- }
-
- public void testExclusiveExpressionBad() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "bad");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveExpression", variables);
- assertEquals("try again", execution.getActivityName());
- }
-
- public void testExclusiveExpressionUgly() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "ugly");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveExpression", variables);
- assertEquals("give up", execution.getActivityName());
- }
-
-}
Copied: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler (from rev 4541, jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/handler)
Modified: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/ContentEvaluation.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/handler/ContentEvaluation.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/ContentEvaluation.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -19,14 +19,14 @@
* 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.exclusive.handler;
+package org.jbpm.examples.decision.handler;
-import org.jbpm.jpdl.ExclusiveHandler;
+import org.jbpm.jpdl.DecisionHandler;
import org.jbpm.model.OpenExecution;
-public class ContentEvaluation implements ExclusiveHandler {
+public class ContentEvaluation implements DecisionHandler {
- public String select(OpenExecution execution) {
+ public String decide(OpenExecution execution) {
String content = (String) execution.getVariable("content");
if (content.equals("you're great")) {
return "good";
Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/DecisionHandlerTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/DecisionHandlerTest.java (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/DecisionHandlerTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,68 @@
+/*
+ * 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.decision.handler;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionHandlerTest extends JbpmTestCase {
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ deploy("jbpm-DecisionHandlerTest.jpdl");
+ }
+
+ protected void tearDown() throws Exception
+ {
+ undeploy("jbpm-DecisionHandlerTest.jpdl");
+ super.tearDown();
+ }
+
+ public void testDecisionHandlerGreat() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "you're great");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionHandler", variables);
+ assertEquals("submit document", execution.getActivityName());
+ }
+
+ public void testDecisionHandlerImprove() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "you gotta improve");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionHandler", variables);
+ assertEquals("try again", execution.getActivityName());
+ }
+
+ public void testDecisionHandlerSuck() {
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("content", "you suck");
+ Execution execution = executionService.startProcessInstanceByKey("DecisionHandler", variables);
+ assertEquals("give up", execution.getActivityName());
+ }
+}
Deleted: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/ExclusiveHandlerTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/exclusive/handler/ExclusiveHandlerTest.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/decision/handler/ExclusiveHandlerTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,68 +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.examples.exclusive.handler;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jbpm.Execution;
-import org.jbpm.test.JbpmTestCase;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveHandlerTest extends JbpmTestCase {
-
- protected void setUp() throws Exception
- {
- super.setUp();
- deploy("jbpm-ExclusiveHandlerTest.jpdl");
- }
-
- protected void tearDown() throws Exception
- {
- undeploy("jbpm-ExclusiveHandlerTest.jpdl");
- super.tearDown();
- }
-
- public void testExclusiveHandlerGreat() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "you're great");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveHandler", variables);
- assertEquals("submit document", execution.getActivityName());
- }
-
- public void testExclusiveHandlerImprove() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "you gotta improve");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveHandler", variables);
- assertEquals("try again", execution.getActivityName());
- }
-
- public void testExclusiveHandlerSuck() {
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("content", "you suck");
- Execution execution = executionService.startProcessInstanceByKey("ExclusiveHandler", variables);
- assertEquals("give up", execution.getActivityName());
- }
-}
Deleted: jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,39 +0,0 @@
-<hibernate-cache>
-
- <class-cache class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ActivityImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TransitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.EventImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ExceptionHandlerImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ObjectReference" />
- <class-cache class="org.jbpm.pvm.internal.model.VariableDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TimerDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.activities" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.attachments" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.activities" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.incomingTransitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.outgoingTransitions" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.events" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.listenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ExceptionHandlerImpl.eventListenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.argDescriptors" />
- <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.operations" />
-
-</hibernate-cache>
Deleted: jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,646 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
- <!-- ### PROCESS DEFINITION ############################################# -->
- <class name="ProcessDefinitionImpl"
- table="JBPM_PROCESS"
- discriminator-value="pvm">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator><column name="CLASS_" /></discriminator>
-
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_PROCDEF_PROPS"
- index="IDX_PROCDEF_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_PROCESS">
- <column name="PROCESS_" index="IDX_EXHDLR_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="ExceptionHandlerImpl"/>
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_PROCESS">
- <column name="PROCESS_" index="IDX_EVENT_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl"/>
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key foreign-key="FK_ACTS_PROCESS">
- <column name="ACTSPROCESS_" index="IDX_ACTS_PROCESS"/>
- </key>
- <list-index column="ACTSPROCESS_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_PROCESS">
- <column name="PROCESS_" index="IDX_VARDEF_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_PROCESS">
- <column name="PROCESS_" index="IDX_TMRDEF_PROCESS"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </set>
-
- <!-- ProcessDefinitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="key" column="KEY_" />
- <property name="id" column="ID_" unique="true" />
-
- <property name="packageName" column="PACKAGE_" />
- <property name="version" column="VERSION_" />
- <property name="deploymentTime" column="DEPLOYED_" />
- <many-to-one name="initial"
- column="INITIAL_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_PROCDEF_INITIAL"
- index="IDX_PROCDEF_INIT"
- fetch="select" />
-
- <map name="attachments" cascade="all-delete-orphan">
- <key foreign-key="FK_LOB_PROCESS">
- <column name="PROCESS_" index="IDX_LOB_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.lob.Lob"/>
- </map>
- </class>
-
- <!-- ### Activity ############################################################## -->
- <class name="ActivityImpl" table="JBPM_ACTIVITY">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_ACT_PROCESS"
- index="IDX_ACT_PROCESS" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_ACT_PROPS"
- index="IDX_ACT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_ACT">
- <column name="ACT_" index="IDX_EXHDLR_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_"/>
- <property name="description" column="DESCR_"/>
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_ACT">
- <column name="ACT_" index="IDX_EVENT_ACT" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key column="PARENT_" foreign-key="none" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_ACT">
- <column name="ACT_" index="IDX_VARDEF_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_ACT">
- <column name="ACT_" index="IDX_TMRDEF_ACT"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </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_" />
- <property name="isPreviousNeeded" column="PREV_NEEDED_" />
-
- <many-to-one name="parentActivity"
- column="PARENT_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_ACT_PARENT"
- index="IDX_ACT_PARENT" />
-
- <many-to-one name="defaultTransition"
- column="DEFTRANS_"
- class="TransitionImpl"
- fetch="select"
- foreign-key="FK_ACT_DEFTRANS"
- index="IDX_ACT_DEFTRANS" />
-
- <list name="incomingTransitions" inverse="false">
- <key column="DESTINATION_" />
- <index column="IN_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <list name="outgoingTransitions" inverse="false" cascade="all">
- <key column="SOURCE_" />
- <index column="OUT_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <component name="behaviourReference" class="ObjectReference">
- <many-to-one name="descriptor"
- column="BEHAV_DESCR_"
- cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_NODE_BEHAV_DESCR"
- index="IDX_NODE_BEHAV_DESCR" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <!-- <meta-value value="bpel::activity" class="org.jbpm.pvm.bpel.BpelActivity"/> -->
- <column name="BEHAV_CLASS_" />
- <column name="BEHAV_ID_" />
- </any>
- </component>
- </class>
-
- <!-- ### TRANSITION ##################################################### -->
- <class name="TransitionImpl" table="JBPM_TRANSITION">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_TRANS_PROCDEF"
- index="IDX_TRANS_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_TRANS_PROPS"
- index="IDX_TRANS_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_TRANS">
- <column name="TRANSITION_" index="IDX_EXHDLR_TRANS" />
- </key>
- <index column="TRANSITION_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_TRANS">
- <column name="TRANSITION_" index="IDX_EVENT_TRANS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- TransitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <many-to-one name="source"
- column="SRC_"
- class="ActivityImpl"
- fetch="select"
- foreign-key="FK_TRANS_SRC"
- index="IDX_TRANS_SRC" />
-
- <many-to-one name="destination"
- column="DEST_"
- class="ActivityImpl"
- fetch="select"
- cascade="all"
- foreign-key="FK_TRANS_DST"
- index="IDX_TRANS_DST" />
-
- <many-to-one name="conditionDescriptor"
- column="COND_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_COND"
- index="IDX_TRANS_COND" />
-
- <!--
- <many-to-one name="waitConditionDescriptor"
- column="WAIT_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_WAIT_DESCR"
- index="IDX_TRANS_WAIT_DESCR" />
- -->
-
- <property name="isTakeAsync" column="TAKEASYNC_" />
- </class>
-
- <!-- ### EVENT ########################################################## -->
- <class name="EventImpl" table="JBPM_EVENT">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESSDEF_"
- foreign-key="FK_EVENT_PROCDEF"
- index="IDX_EVENT_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_EVENT_PROPS"
- index="IDX_EVENT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_EVENT">
- <column name="EVENT_" index="IDX_EXHDLR_EVENT"/>
- </key>
- <index column="EVENT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- EventImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <list name="listenerReferences" table="JBPM_OBJECTREFERENCES" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJECTREF_EVENT">
- <column name="EVENT_" index="IDX_OBJREF_EVENT"/>
- </key>
- <list-index column="EVENT_IDX_" />
- <one-to-many class="EventListenerReference" />
- </list>
- </class>
-
- <!-- ### EXCEPTION HANDLER ############################################## -->
- <class name="ExceptionHandlerImpl" table="JBPM_EXCEPTHNDLR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="exceptionClassName" column="EXCEPT_CLASS_" />
- <property name="isTransactional" column="TRANSACT_" />
- <property name="isRethrowMasked" column="RETHROW_MASKED_"/>
- <property name="transitionName" column="TRANSITIONNAME_" />
- <property name="activityName" column="NODENAME_" />
- <list name="eventListenerReferences"
- inverse="false"
- cascade="all-delete-orphan"
- table="JBPM_OBJECTREFERENCES">
- <key foreign-key="FK_OBJREF_EXHNDLR" not-null="false">
- <column name="EXHNDLR_" index="IDX_OBJREF_EXHNDLR" />
- </key>
- <list-index column="EXHNDLR_IDX_" />
- <one-to-many class="ObjectReference" />
- </list>
- </class>
-
- <!-- ### OBJECT REFERENCE ############################################### -->
- <class name="ObjectReference" discriminator-value="objref" table="JBPM_OBJECTREF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="descriptor"
- column="OBJ_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_OBJREF_EVENT"
- index="IDX_OBJREF_EVENT"/>
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="OBJ_CLASS_" />
- <column name="OBJ_ID_" />
- </any>
- <property name="expression" column="OBJ_EXPRESSION_"/>
- <property name="expressionLanguage" column="OBJ_EXPRLANG_"/>
-
- <subclass name="EventListenerReference" discriminator-value="evtlis">
- <property name="isPropagationEnabled" column="PROPAGATE_" />
- </subclass>
-
- </class>
-
- <!-- ### VARIABLE DEFINITION ############################################ -->
- <class name="VariableDefinitionImpl" table="JBPM_VARIABLEDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="name" column="NAME_"/>
- <property name="typeName" column="TYPE_"/>
-
- <property name="inVariableName" column="INVAR_" />
- <property name="inExpression" column="INEXPR_" />
- <many-to-one name="inDescriptor"
- column="INDESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_VARDEF_INDES"
- index="IDX_VARDEF_INDES"/>
- <property name="outVariableName" column="OUTVAR_" />
- <property name="outExpression" column="OUTEXPR_" />
- </class>
-
- <!-- ### TIMER DEFINITION ############################################### -->
- <class name="TimerDefinitionImpl" table="JBPM_TIMERDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="dueDateDescription" column="DUEDATEDESCR_"/>
- <property name="repeat" column="REPEAT_"/>
- <property name="isExclusive" column="ISEXCL_"/>
- <property name="retries" column="RETRIES_"/>
- <property name="eventName" column="EVENT_"/>
- <property name="signalName" column="SIGNAL_"/>
- <property name="dueDate" column="DUEDATE_" type="timestamp"/>
- </class>
-
- <!-- ### DESCRIPTORS #################################################### -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" table="JBPM_DESCRIPTOR" abstract="true"
- discriminator-value="abstract">
- <!--
- byte : ByteDescriptor
- string : StringDescriptor
- char : CharacterDescriptor
- class : ClassDescriptor
- double : DoubleDescriptor
- expr : ExpressionDescriptor
- float : FloatDescriptor
- long : LongDescriptor
- int : IntegerDescriptor
- short : ShortDescriptor
- coll : CollectionDescriptor
- map : MapDescriptor
- list : ListDescriptor
- set : SetDescriptor
- object : ObjectDescriptor
- ref : ReferenceDescriptor
- null : NullDescriptor
- true : TrueDescriptor
- false : FalseDescriptor
- provided : ProvidedObjectDescriptor
- -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="name" column="NAME_" />
- <property name="init" column="INIT_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.NullDescriptor" discriminator-value="null_" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.TrueDescriptor" discriminator-value="true" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FalseDescriptor" discriminator-value="false" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.StringDescriptor" discriminator-value="string">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CharacterDescriptor" discriminator-value="char">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ClassDescriptor" discriminator-value="class">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ReferenceDescriptor" discriminator-value="ref">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.DoubleDescriptor" discriminator-value="double">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FloatDescriptor" discriminator-value="float">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.LongDescriptor" discriminator-value="long">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.IntegerDescriptor" discriminator-value="int">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ShortDescriptor" discriminator-value="short">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ByteDescriptor" discriminator-value="byte">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CollectionDescriptor" discriminator-value="coll">
- <property name="className" column="CLASSNAME_" />
- <list name="valueDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_DESCR_VALDESCR">
- <column name="VALUEDESCR_" index="IDX_DESCR_VALDESCR" />
- </key>
- <list-index column="VALUEDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.MapDescriptor" discriminator-value="map">
- <list name="keyDescriptors" cascade="all-delete-orphan">
- <key column="KEYDESCR_" foreign-key="FK_DESCR_KEYDESCR" />
- <list-index column="KEYDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor" discriminator-value="list" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.SetDescriptor" discriminator-value="set" />
- </subclass>
-
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor" discriminator-value="object">
- <property name="className" column="TEXT_" />
- <property name="methodName" column="METHOD_" />
- <property name="isAutoWireEnabled" column="BOOLVAL_" />
- <property name="factoryObjectName" column="FACTORYNAME_" />
-
- <many-to-one name="factoryDescriptor" class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" column="FACTORYDESCR_"
- foreign-key="FK_DESCR_ARG_REF" index="IDX_DESCR_ARG_REF" cascade="all" />
-
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJARG_DESCR">
- <column name="OBJARG_DESCR_" index="IDX_OBJARG_DESCR" />
- </key>
- <list-index column="OBJARG_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
-
- <list name="operations" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJOPER_DESCR">
- <column name="OBJOPER_DESCR_" index="IDX_OBJOPER_DESCR" />
- </key>
- <list-index column="OBJOPER_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.operation.AbstractOperation" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ExpressionDescriptor" discriminator-value="expr">
- <property name="expr" column="TEXT_" />
- <property name="lang" column="METHOD_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ProvidedObjectDescriptor" discriminator-value="provided">
- <any name="providedObject" id-type="long" cascade="all">
- <column name="TEXT_" />
- <column name="LONGVAL_" />
- </any>
- <property name="exposeType" column="BOOLVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.EnvDescriptor" discriminator-value="env">
- <property name="objectName" column="TEXT_" />
- <property name="typeName" column="CLASSNAME_" />
- </subclass>
-
- </class>
-
- <!-- ### OPERATIONS ##################################################### -->
- <class name="org.jbpm.pvm.internal.wire.operation.AbstractOperation" abstract="true"
- table="JBPM_OPERATION" discriminator-value="oper">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.FieldOperation"
- discriminator-value="field">
- <property name="fieldName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_OPER_DESC" index="IDX_OPER_DESC" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.PropertyOperation"
- discriminator-value="prop">
- <property name="setterName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
- discriminator-value="invoke">
- <property name="methodName" column="TEXT_" />
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_ARGDSCR_OPER">
- <column name="OPER_" index="IDX_ARGDSCR_OPER" />
- </key>
- <list-index column="OPER_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
- </subclass>
- </class>
-
- <!-- ### ARG DESCRIPTOR ################################################# -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" table="JBPM_ARGDESCRIPTOR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="typeName" column="TYPENAME_" />
- <many-to-one name="descriptor" column="DESCRIPTOR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_ARGDESCR_DESCR" index="IDX_ARGDESCR_DESCR" cascade="all" />
- </class>
-
- <!-- ### PROPERTIES ##################################################### -->
- <class name="org.jbpm.pvm.internal.model.WireProperties" table="JBPM_WIREPROPS">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <component name="wireContext" class="org.jbpm.pvm.internal.wire.WireContext">
- <component name="wireDefinition" class="org.jbpm.pvm.internal.wire.WireDefinition">
- <map name="descriptors" cascade="all-delete-orphan" lazy="false">
- <key foreign-key="FK_DESCR_PROPS">
- <column name="PROPS_" index="IDX_DESCR_PROPS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </map>
- </component>
- </component>
- </class>
-
-
- <!-- ### QUERIES ######################################################## -->
-
- <query name="findProcessDefinitionKeys">
- <![CDATA[
- select distinct process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- order by process.key asc
- ]]>
- </query>
-
- <query name="findProcessDefinitionsByKey">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- order by process.version desc
- ]]>
- </query>
-
- <query name="findProcessDefinitionById">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.id = :id
- ]]>
- </query>
-
- <query name="findProcessDefinitionKeysByName">
- <![CDATA[
- select process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.name = :name
- ]]>
- </query>
-
- <query name="findProcessDefinitionNamesByKey">
- <![CDATA[
- select process.name
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -63,7 +63,7 @@
<property name="transitionName" column="TRANSITION_" />
<subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
- <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+ <subclass name="HistoryDecisionInstanceImpl" discriminator-value="EXCL" />
</subclass>
<subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,7 +1,7 @@
<activities>
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
- <activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
+ <activity binding="org.jbpm.jpdl.internal.activity.DecisionBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -44,14 +44,14 @@
</id>
<discriminator column="CLASS_" />
<subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionConditionActivity" discriminator-value="excl-cond" />
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionExpressionActivity" discriminator-value="excl-expr">
<property name="expr" column="TEXT_" />
<property name="lang" column="TEXT2_" />
</subclass>
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
- <property name="exclusiveHandlerName" column="TEXT_" />
- <many-to-one name="exclusiveHandlerDescriptor"
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionHandlerActivity" discriminator-value="excl-handler">
+ <property name="decisionHandlerName" column="TEXT_" />
+ <many-to-one name="decisionHandlerDescriptor"
column="EXCLDESCR_"
cascade="all"
class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
Copied: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/conditions (from rev 4541, jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/conditions)
Modified: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/conditions/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/conditions/process.jpdl.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/conditions/process.jpdl.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<process name="ExclusiveConditions" xmlns="http://jbpm.org/4/jpdl">
+<process name="DecisionConditions" xmlns="http://jbpm.org/4/jpdl">
<start g="16,102,48,48">
<transition to="evaluate document" />
</start>
- <exclusive name="evaluate document" g="96,102,48,48">
+ <decision name="evaluate document" g="96,102,48,48">
<transition to="submit document" g="120,60:">
<condition expr="#{content=="good"}" />
</transition>
@@ -14,7 +14,7 @@
<condition expr="#{content=="bad"}" />
</transition>
<transition to="give up" g="120,189:" />
- </exclusive>
+ </decision>
<state name="submit document" g="175,35,122,52"/>
<state name="try again" g="176,100,122,52"/>
Copied: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/expression (from rev 4541, jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/expression)
Modified: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/expression/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/expression/process.jpdl.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/expression/process.jpdl.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<process name="ExclusiveExpression" xmlns="http://jbpm.org/4/jpdl">
+<process name="DecisionExpression" xmlns="http://jbpm.org/4/jpdl">
<start g="16,102,48,48">
<transition to="evaluate document" name=""/>
</start>
- <exclusive expr="#{content}" g="96,102,48,48" name="evaluate document">
+ <decision expr="#{content}" g="96,102,48,48" name="evaluate document">
<transition g="120,60:-36,23" name="good" to="submit document"/>
<transition g=":-15,-21" name="bad" to="try again"/>
<transition g="120,189:-35,-41" name="ugly" to="give up"/>
- </exclusive>
+ </decision>
<state g="175,35,122,52" name="submit document"/>
<state g="176,100,122,52" name="try again"/>
Copied: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/handler (from rev 4541, jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/handler)
Modified: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/handler/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/exclusive/handler/process.jpdl.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/decision/handler/process.jpdl.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<process name="ExclusiveHandler" xmlns="http://jbpm.org/4/jpdl">
+<process name="DecisionHandler" xmlns="http://jbpm.org/4/jpdl">
<start g="16,102,48,48">
<transition to="evaluate document" name=""/>
</start>
- <exclusive g="96,102,48,48" name="evaluate document">
- <handler class="org.jbpm.examples.exclusive.handler.ContentEvaluation"/>
+ <decision g="96,102,48,48" name="evaluate document">
+ <handler class="org.jbpm.examples.decision.handler.ContentEvaluation"/>
<transition g="120,60:-37,22" name="good" to="submit document"/>
<transition g=":-19,-22" name="bad" to="try again"/>
<transition g="120,189:-33,-39" name="ugly" to="give up"/>
- </exclusive>
+ </decision>
<state g="175,35,122,52" name="submit document"/>
<state g="176,100,122,52" name="try again"/>
Copied: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java (from rev 4541, jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,114 @@
+/*
+ * 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.jpdl.internal.activity;
+
+import java.util.List;
+
+import org.jbpm.pvm.internal.model.ActivityImpl;
+import org.jbpm.pvm.internal.model.TransitionImpl;
+import org.jbpm.pvm.internal.util.XmlUtil;
+import org.jbpm.pvm.internal.wire.binding.ObjectBinding;
+import org.jbpm.pvm.internal.wire.descriptor.ExpressionDescriptor;
+import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
+import org.jbpm.pvm.internal.wire.descriptor.ReferenceDescriptor;
+import org.jbpm.pvm.internal.wire.xml.WireParser;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionBinding extends JpdlBinding {
+
+ static ObjectBinding objectBinding = new ObjectBinding();
+ static WireParser wireParser = WireParser.getInstance();
+
+ public DecisionBinding() {
+ super("decision");
+ }
+
+ public Object parse(Element element, Parse parse, Parser parser) {
+ if (element.hasAttribute("expr")) {
+ DecisionExpressionActivity decisionExpressionActivity = new DecisionExpressionActivity();
+ String expr = element.getAttribute("expr");
+ decisionExpressionActivity.setExpr(expr);
+ return decisionExpressionActivity;
+ }
+
+ if (element.hasAttribute("handler-ref")) {
+ String decisionHandlerName = element.getAttribute("handler-ref");
+ DecisionHandlerActivity decisionHandlerActivity = new DecisionHandlerActivity();
+ decisionHandlerActivity.setDecisionHandlerName(decisionHandlerName);
+ return decisionHandlerActivity;
+ }
+
+ Element handlerElement = XmlUtil.element(element, "handler");
+ if (handlerElement!=null) {
+ DecisionHandlerActivity decisionHandlerActivity = new DecisionHandlerActivity();
+ ObjectDescriptor decisionHandlerDescriptor = (ObjectDescriptor)
+ objectBinding.parse(handlerElement, parse, wireParser);
+ decisionHandlerActivity.setDecisionHandlerDescriptor(decisionHandlerDescriptor);
+ return decisionHandlerActivity;
+ }
+
+ boolean hasConditions = false;
+ List<Element> transitionElements = XmlUtil.elements(element, "transition");
+ ActivityImpl activity = parse.findObject(ActivityImpl.class);
+ List<TransitionImpl> transitions = (List) activity.getOutgoingTransitions();
+
+ for (int i=0; i<transitionElements.size(); i++) {
+ TransitionImpl transition = transitions.get(i);
+ Element transitionElement = transitionElements.get(i);
+
+ Element conditionElement = XmlUtil.element(transitionElement, "condition");
+ if (conditionElement!=null) {
+ hasConditions = true;
+
+ if (conditionElement.hasAttribute("expr")) {
+ String expr = conditionElement.getAttribute("expr");
+ String lang = XmlUtil.attribute(conditionElement, "expr-lang");
+ ExpressionDescriptor expressionDescriptor = new ExpressionDescriptor(expr, lang);
+ transition.setConditionDescriptor(expressionDescriptor);
+
+ } else if (conditionElement.hasAttribute("ref")) {
+ String expr = conditionElement.getAttribute("ref");
+ ReferenceDescriptor refDescriptor = new ReferenceDescriptor(expr);
+ transition.setConditionDescriptor(refDescriptor);
+
+ } else if (ObjectBinding.isObjectDescriptor(conditionElement)) {
+ ObjectDescriptor conditionDescriptor = (ObjectDescriptor) objectBinding.parse(conditionElement, parse, parser);
+ transition.setConditionDescriptor(conditionDescriptor);
+ }
+ }
+ }
+
+ if (hasConditions) {
+ return new DecisionConditionActivity();
+ } else {
+ parse.addProblem("decision '"+element.getAttribute("name")+"' must have one of: expr attribute, handler attribute, handler element or condition expressions");
+ }
+
+ return null;
+ }
+}
Property changes on: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBinding.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBuilder.java (from rev 4541, jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBuilder.java)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBuilder.java (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBuilder.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,43 @@
+/*
+ * 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.jpdl.internal.activity;
+
+import org.jbpm.pvm.internal.builder.ActivityBehaviourBuilder;
+import org.jbpm.pvm.internal.builder.ActivityBuilder;
+import org.jbpm.pvm.internal.builder.CompositeBuilder;
+import org.jbpm.pvm.internal.wire.Descriptor;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionBuilder extends ActivityBehaviourBuilder {
+
+ public DecisionBuilder(ActivityBuilder activityBuilder) {
+ super(activityBuilder);
+ }
+
+ public DecisionBuilder handler(Descriptor descriptor) {
+ // TODO finish this
+ return null;
+ }
+}
Property changes on: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionBuilder.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionConditionActivity.java (from rev 4541, jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveConditionActivity.java)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionConditionActivity.java (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionConditionActivity.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,64 @@
+/*
+ * 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.jpdl.internal.activity;
+
+import java.util.List;
+
+import org.jbpm.JbpmException;
+import org.jbpm.activity.ActivityExecution;
+import org.jbpm.model.Activity;
+import org.jbpm.model.Condition;
+import org.jbpm.model.Transition;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionConditionActivity extends JpdlActivity {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ActivityExecution execution) {
+ Transition transition = findTransition(execution);
+ if (transition==null) {
+ throw new JbpmException("no outgoing transition condition evaluated to true for decision "+execution.getActivity());
+ }
+ if (transition.getName()!=null) {
+ execution.historyDecision(transition.getName());
+ }
+ execution.take(transition);
+ }
+
+ private Transition findTransition(ActivityExecution execution) {
+ Activity activity = execution.getActivity();
+ List<Transition> outgoingTransitions = activity.getOutgoingTransitions();
+ for (Transition transition : outgoingTransitions) {
+ Condition condition = transition.getCondition();
+ if ( (condition==null)
+ || (condition.evaluate(execution))
+ ) {
+ return transition;
+ }
+ }
+ return null;
+ }
+}
Property changes on: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionConditionActivity.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionExpressionActivity.java (from rev 4541, jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveExpressionActivity.java)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionExpressionActivity.java (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionExpressionActivity.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,70 @@
+/*
+ * 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.jpdl.internal.activity;
+
+import org.jbpm.JbpmException;
+import org.jbpm.activity.ActivityExecution;
+import org.jbpm.model.Activity;
+import org.jbpm.model.Transition;
+import org.jbpm.pvm.internal.env.EnvironmentDefaults;
+import org.jbpm.pvm.internal.script.ScriptManager;
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionExpressionActivity extends JpdlActivity {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String expr;
+ protected String lang;
+
+ public void execute(ActivityExecution execution) throws Exception {
+ Activity activity = execution.getActivity();
+ String transitionName = null;
+
+ ScriptManager scriptManager = EnvironmentDefaults.getScriptManager();
+ Object result = scriptManager.evaluateExpression(expr, execution, lang);
+ if ( (result!=null)
+ && (! (result instanceof String))
+ ) {
+ throw new JbpmException("expression '"+expr+"' in decision '"+activity.getName()+"' returned "+result.getClass().getName()+" instead of a transitionName (String): "+result);
+ }
+ transitionName = (String) result;
+
+ Transition transition = activity.getOutgoingTransition(transitionName);
+ if (transition==null) {
+ throw new JbpmException("expression '"+expr+"' in decision '"+activity.getName()+"' returned unexisting outgoing transition name: "+transitionName);
+ }
+
+ execution.historyDecision(transitionName);
+
+ execution.take(transition);
+ }
+
+ public void setExpr(String expr) {
+ this.expr = expr;
+ }
+ public void setLang(String lang) {
+ this.lang = lang;
+ }
+}
Property changes on: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionExpressionActivity.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Copied: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionHandlerActivity.java (from rev 4541, jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveHandlerActivity.java)
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionHandlerActivity.java (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionHandlerActivity.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,80 @@
+/*
+ * 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.jpdl.internal.activity;
+
+import org.jbpm.JbpmException;
+import org.jbpm.activity.ActivityExecution;
+import org.jbpm.env.Environment;
+import org.jbpm.jpdl.DecisionHandler;
+import org.jbpm.model.Activity;
+import org.jbpm.model.Transition;
+import org.jbpm.pvm.internal.wire.Descriptor;
+import org.jbpm.pvm.internal.wire.WireContext;
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionHandlerActivity extends JpdlActivity {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String decisionHandlerName;
+ protected Descriptor decisionHandlerDescriptor;
+
+ public void execute(ActivityExecution execution) throws Exception {
+ Activity activity = execution.getActivity();
+ String transitionName = null;
+
+ Object object = null;
+ if (decisionHandlerDescriptor!=null) {
+ object = WireContext.create(decisionHandlerDescriptor);
+ } else if (decisionHandlerName!=null) {
+ Environment environment = Environment.getCurrent();
+ object = environment.get(decisionHandlerName);
+ }
+
+ if (object==null) {
+ throw new JbpmException("decision handler for "+activity+" is null");
+ }
+ if (! (object instanceof DecisionHandler)) {
+ throw new JbpmException("handler for decision is not a "+DecisionHandler.class.getName()+": "+object.getClass().getName());
+ }
+ DecisionHandler decisionHandler = (DecisionHandler) object;
+ transitionName = decisionHandler.decide(execution);
+
+ Transition transition = activity.getOutgoingTransition(transitionName);
+ if (transition==null) {
+ throw new JbpmException("handler in decision '"+activity.getName()+"' returned unexisting outgoing transition name: "+transitionName);
+ }
+
+ execution.historyDecision(transitionName);
+
+ execution.take(transition);
+ }
+
+ public void setDecisionHandlerName(String decisionHandlerName) {
+ this.decisionHandlerName = decisionHandlerName;
+ }
+ public void setDecisionHandlerDescriptor(Descriptor decisionHandlerDescriptor) {
+ this.decisionHandlerDescriptor = decisionHandlerDescriptor;
+ }
+}
Property changes on: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/DecisionHandlerActivity.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,115 +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.jpdl.internal.activity;
-
-import java.util.List;
-
-import org.jbpm.pvm.internal.model.ExpressionEvaluator;
-import org.jbpm.pvm.internal.model.ActivityImpl;
-import org.jbpm.pvm.internal.model.TransitionImpl;
-import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.pvm.internal.wire.binding.ObjectBinding;
-import org.jbpm.pvm.internal.wire.descriptor.ExpressionDescriptor;
-import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
-import org.jbpm.pvm.internal.wire.descriptor.ReferenceDescriptor;
-import org.jbpm.pvm.internal.wire.xml.WireParser;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveBinding extends JpdlBinding {
-
- static ObjectBinding objectBinding = new ObjectBinding();
- static WireParser wireParser = WireParser.getInstance();
-
- public ExclusiveBinding() {
- super("exclusive");
- }
-
- public Object parse(Element element, Parse parse, Parser parser) {
- if (element.hasAttribute("expr")) {
- ExclusiveExpressionActivity exclusiveExpressionActivity = new ExclusiveExpressionActivity();
- String expr = element.getAttribute("expr");
- exclusiveExpressionActivity.setExpr(expr);
- return exclusiveExpressionActivity;
- }
-
- if (element.hasAttribute("handler-ref")) {
- String exclusiveHandlerName = element.getAttribute("handler-ref");
- ExclusiveHandlerActivity exclusiveHandlerActivity = new ExclusiveHandlerActivity();
- exclusiveHandlerActivity.setExclusiveHandlerName(exclusiveHandlerName);
- return exclusiveHandlerActivity;
- }
-
- Element handlerElement = XmlUtil.element(element, "handler");
- if (handlerElement!=null) {
- ExclusiveHandlerActivity exclusiveHandlerActivity = new ExclusiveHandlerActivity();
- ObjectDescriptor exclusiveHandlerDescriptor = (ObjectDescriptor)
- objectBinding.parse(handlerElement, parse, wireParser);
- exclusiveHandlerActivity.setExclusiveHandlerDescriptor(exclusiveHandlerDescriptor);
- return exclusiveHandlerActivity;
- }
-
- boolean hasConditions = false;
- List<Element> transitionElements = XmlUtil.elements(element, "transition");
- ActivityImpl activity = parse.findObject(ActivityImpl.class);
- List<TransitionImpl> transitions = (List) activity.getOutgoingTransitions();
-
- for (int i=0; i<transitionElements.size(); i++) {
- TransitionImpl transition = transitions.get(i);
- Element transitionElement = transitionElements.get(i);
-
- Element conditionElement = XmlUtil.element(transitionElement, "condition");
- if (conditionElement!=null) {
- hasConditions = true;
-
- if (conditionElement.hasAttribute("expr")) {
- String expr = conditionElement.getAttribute("expr");
- String lang = XmlUtil.attribute(conditionElement, "expr-lang");
- ExpressionDescriptor expressionDescriptor = new ExpressionDescriptor(expr, lang);
- transition.setConditionDescriptor(expressionDescriptor);
-
- } else if (conditionElement.hasAttribute("ref")) {
- String expr = conditionElement.getAttribute("ref");
- ReferenceDescriptor refDescriptor = new ReferenceDescriptor(expr);
- transition.setConditionDescriptor(refDescriptor);
-
- } else if (ObjectBinding.isObjectDescriptor(conditionElement)) {
- ObjectDescriptor conditionDescriptor = (ObjectDescriptor) objectBinding.parse(conditionElement, parse, parser);
- transition.setConditionDescriptor(conditionDescriptor);
- }
- }
- }
-
- if (hasConditions) {
- return new ExclusiveConditionActivity();
- } else {
- parse.addProblem("exclusive '"+element.getAttribute("name")+"' must have one of: expr attribute, handler attribute, handler element or condition expressions");
- }
-
- return null;
- }
-}
Deleted: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBuilder.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBuilder.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBuilder.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,43 +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.jpdl.internal.activity;
-
-import org.jbpm.pvm.internal.builder.ActivityBehaviourBuilder;
-import org.jbpm.pvm.internal.builder.ActivityBuilder;
-import org.jbpm.pvm.internal.builder.CompositeBuilder;
-import org.jbpm.pvm.internal.wire.Descriptor;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveBuilder extends ActivityBehaviourBuilder {
-
- public ExclusiveBuilder(ActivityBuilder activityBuilder) {
- super(activityBuilder);
- }
-
- public ExclusiveBuilder handler(Descriptor descriptor) {
- // TODO finish this
- return null;
- }
-}
Deleted: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveConditionActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveConditionActivity.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveConditionActivity.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,64 +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.jpdl.internal.activity;
-
-import java.util.List;
-
-import org.jbpm.JbpmException;
-import org.jbpm.activity.ActivityExecution;
-import org.jbpm.model.Activity;
-import org.jbpm.model.Condition;
-import org.jbpm.model.Transition;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveConditionActivity extends JpdlActivity {
-
- private static final long serialVersionUID = 1L;
-
- public void execute(ActivityExecution execution) {
- Transition transition = findTransition(execution);
- if (transition==null) {
- throw new JbpmException("no outgoing transition condition evaluated to true for exclusive "+execution.getActivity());
- }
- if (transition.getName()!=null) {
- execution.historyExclusive(transition.getName());
- }
- execution.take(transition);
- }
-
- private Transition findTransition(ActivityExecution execution) {
- Activity activity = execution.getActivity();
- List<Transition> outgoingTransitions = activity.getOutgoingTransitions();
- for (Transition transition : outgoingTransitions) {
- Condition condition = transition.getCondition();
- if ( (condition==null)
- || (condition.evaluate(execution))
- ) {
- return transition;
- }
- }
- return null;
- }
-}
Deleted: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveExpressionActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveExpressionActivity.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveExpressionActivity.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,70 +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.jpdl.internal.activity;
-
-import org.jbpm.JbpmException;
-import org.jbpm.activity.ActivityExecution;
-import org.jbpm.model.Activity;
-import org.jbpm.model.Transition;
-import org.jbpm.pvm.internal.env.EnvironmentDefaults;
-import org.jbpm.pvm.internal.script.ScriptManager;
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveExpressionActivity extends JpdlActivity {
-
- private static final long serialVersionUID = 1L;
-
- protected String expr;
- protected String lang;
-
- public void execute(ActivityExecution execution) throws Exception {
- Activity activity = execution.getActivity();
- String transitionName = null;
-
- ScriptManager scriptManager = EnvironmentDefaults.getScriptManager();
- Object result = scriptManager.evaluateExpression(expr, execution, lang);
- if ( (result!=null)
- && (! (result instanceof String))
- ) {
- throw new JbpmException("expression '"+expr+"' in exclusive '"+activity.getName()+"' returned "+result.getClass().getName()+" instead of a transitionName (String): "+result);
- }
- transitionName = (String) result;
-
- Transition transition = activity.getOutgoingTransition(transitionName);
- if (transition==null) {
- throw new JbpmException("expression '"+expr+"' in exclusive '"+activity.getName()+"' returned unexisting outgoing transition name: "+transitionName);
- }
-
- execution.historyExclusive(transitionName);
-
- execution.take(transition);
- }
-
- public void setExpr(String expr) {
- this.expr = expr;
- }
- public void setLang(String lang) {
- this.lang = lang;
- }
-}
Deleted: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveHandlerActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveHandlerActivity.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveHandlerActivity.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,80 +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.jpdl.internal.activity;
-
-import org.jbpm.JbpmException;
-import org.jbpm.activity.ActivityExecution;
-import org.jbpm.env.Environment;
-import org.jbpm.jpdl.ExclusiveHandler;
-import org.jbpm.model.Activity;
-import org.jbpm.model.Transition;
-import org.jbpm.pvm.internal.wire.Descriptor;
-import org.jbpm.pvm.internal.wire.WireContext;
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveHandlerActivity extends JpdlActivity {
-
- private static final long serialVersionUID = 1L;
-
- protected String exclusiveHandlerName;
- protected Descriptor exclusiveHandlerDescriptor;
-
- public void execute(ActivityExecution execution) throws Exception {
- Activity activity = execution.getActivity();
- String transitionName = null;
-
- Object object = null;
- if (exclusiveHandlerDescriptor!=null) {
- object = WireContext.create(exclusiveHandlerDescriptor);
- } else if (exclusiveHandlerName!=null) {
- Environment environment = Environment.getCurrent();
- object = environment.get(exclusiveHandlerName);
- }
-
- if (object==null) {
- throw new JbpmException("exclusive handler for "+activity+" is null");
- }
- if (! (object instanceof ExclusiveHandler)) {
- throw new JbpmException("handler for exclusive is not a "+ExclusiveHandler.class.getName()+": "+object.getClass().getName());
- }
- ExclusiveHandler exclusiveHandler = (ExclusiveHandler) object;
- transitionName = exclusiveHandler.select(execution);
-
- Transition transition = activity.getOutgoingTransition(transitionName);
- if (transition==null) {
- throw new JbpmException("handler in exclusive '"+activity.getName()+"' returned unexisting outgoing transition name: "+transitionName);
- }
-
- execution.historyExclusive(transitionName);
-
- execution.take(transition);
- }
-
- public void setExclusiveHandlerName(String exclusiveHandlerName) {
- this.exclusiveHandlerName = exclusiveHandlerName;
- }
- public void setExclusiveHandlerDescriptor(Descriptor exclusiveHandlerDescriptor) {
- this.exclusiveHandlerDescriptor = exclusiveHandlerDescriptor;
- }
-}
Deleted: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,39 +0,0 @@
-<hibernate-cache>
-
- <class-cache class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ActivityImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TransitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.EventImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ExceptionHandlerImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ObjectReference" />
- <class-cache class="org.jbpm.pvm.internal.model.VariableDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TimerDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.activities" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.attachments" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.activities" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.incomingTransitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.outgoingTransitions" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.events" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.listenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ExceptionHandlerImpl.eventListenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.argDescriptors" />
- <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.operations" />
-
-</hibernate-cache>
Deleted: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,646 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
- <!-- ### PROCESS DEFINITION ############################################# -->
- <class name="ProcessDefinitionImpl"
- table="JBPM_PROCESS"
- discriminator-value="pvm">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator><column name="CLASS_" /></discriminator>
-
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_PROCDEF_PROPS"
- index="IDX_PROCDEF_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_PROCESS">
- <column name="PROCESS_" index="IDX_EXHDLR_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="ExceptionHandlerImpl"/>
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_PROCESS">
- <column name="PROCESS_" index="IDX_EVENT_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl"/>
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key foreign-key="FK_ACTS_PROCESS">
- <column name="ACTSPROCESS_" index="IDX_ACTS_PROCESS"/>
- </key>
- <list-index column="ACTSPROCESS_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_PROCESS">
- <column name="PROCESS_" index="IDX_VARDEF_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_PROCESS">
- <column name="PROCESS_" index="IDX_TMRDEF_PROCESS"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </set>
-
- <!-- ProcessDefinitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="key" column="KEY_" />
- <property name="id" column="ID_" unique="true" />
-
- <property name="packageName" column="PACKAGE_" />
- <property name="version" column="VERSION_" />
- <property name="deploymentTime" column="DEPLOYED_" />
- <many-to-one name="initial"
- column="INITIAL_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_PROCDEF_INITIAL"
- index="IDX_PROCDEF_INIT"
- fetch="select" />
-
- <map name="attachments" cascade="all-delete-orphan">
- <key foreign-key="FK_LOB_PROCESS">
- <column name="PROCESS_" index="IDX_LOB_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.lob.Lob"/>
- </map>
- </class>
-
- <!-- ### Activity ############################################################## -->
- <class name="ActivityImpl" table="JBPM_ACTIVITY">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_ACT_PROCESS"
- index="IDX_ACT_PROCESS" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_ACT_PROPS"
- index="IDX_ACT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_ACT">
- <column name="ACT_" index="IDX_EXHDLR_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_"/>
- <property name="description" column="DESCR_"/>
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_ACT">
- <column name="ACT_" index="IDX_EVENT_ACT" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key column="PARENT_" foreign-key="none" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_ACT">
- <column name="ACT_" index="IDX_VARDEF_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_ACT">
- <column name="ACT_" index="IDX_TMRDEF_ACT"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </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_" />
- <property name="isPreviousNeeded" column="PREV_NEEDED_" />
-
- <many-to-one name="parentActivity"
- column="PARENT_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_ACT_PARENT"
- index="IDX_ACT_PARENT" />
-
- <many-to-one name="defaultTransition"
- column="DEFTRANS_"
- class="TransitionImpl"
- fetch="select"
- foreign-key="FK_ACT_DEFTRANS"
- index="IDX_ACT_DEFTRANS" />
-
- <list name="incomingTransitions" inverse="false">
- <key column="DESTINATION_" />
- <index column="IN_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <list name="outgoingTransitions" inverse="false" cascade="all">
- <key column="SOURCE_" />
- <index column="OUT_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <component name="behaviourReference" class="ObjectReference">
- <many-to-one name="descriptor"
- column="BEHAV_DESCR_"
- cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_NODE_BEHAV_DESCR"
- index="IDX_NODE_BEHAV_DESCR" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <!-- <meta-value value="bpel::activity" class="org.jbpm.pvm.bpel.BpelActivity"/> -->
- <column name="BEHAV_CLASS_" />
- <column name="BEHAV_ID_" />
- </any>
- </component>
- </class>
-
- <!-- ### TRANSITION ##################################################### -->
- <class name="TransitionImpl" table="JBPM_TRANSITION">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_TRANS_PROCDEF"
- index="IDX_TRANS_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_TRANS_PROPS"
- index="IDX_TRANS_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_TRANS">
- <column name="TRANSITION_" index="IDX_EXHDLR_TRANS" />
- </key>
- <index column="TRANSITION_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_TRANS">
- <column name="TRANSITION_" index="IDX_EVENT_TRANS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- TransitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <many-to-one name="source"
- column="SRC_"
- class="ActivityImpl"
- fetch="select"
- foreign-key="FK_TRANS_SRC"
- index="IDX_TRANS_SRC" />
-
- <many-to-one name="destination"
- column="DEST_"
- class="ActivityImpl"
- fetch="select"
- cascade="all"
- foreign-key="FK_TRANS_DST"
- index="IDX_TRANS_DST" />
-
- <many-to-one name="conditionDescriptor"
- column="COND_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_COND"
- index="IDX_TRANS_COND" />
-
- <!--
- <many-to-one name="waitConditionDescriptor"
- column="WAIT_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_WAIT_DESCR"
- index="IDX_TRANS_WAIT_DESCR" />
- -->
-
- <property name="isTakeAsync" column="TAKEASYNC_" />
- </class>
-
- <!-- ### EVENT ########################################################## -->
- <class name="EventImpl" table="JBPM_EVENT">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESSDEF_"
- foreign-key="FK_EVENT_PROCDEF"
- index="IDX_EVENT_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_EVENT_PROPS"
- index="IDX_EVENT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_EVENT">
- <column name="EVENT_" index="IDX_EXHDLR_EVENT"/>
- </key>
- <index column="EVENT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- EventImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <list name="listenerReferences" table="JBPM_OBJECTREFERENCES" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJECTREF_EVENT">
- <column name="EVENT_" index="IDX_OBJREF_EVENT"/>
- </key>
- <list-index column="EVENT_IDX_" />
- <one-to-many class="EventListenerReference" />
- </list>
- </class>
-
- <!-- ### EXCEPTION HANDLER ############################################## -->
- <class name="ExceptionHandlerImpl" table="JBPM_EXCEPTHNDLR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="exceptionClassName" column="EXCEPT_CLASS_" />
- <property name="isTransactional" column="TRANSACT_" />
- <property name="isRethrowMasked" column="RETHROW_MASKED_"/>
- <property name="transitionName" column="TRANSITIONNAME_" />
- <property name="activityName" column="NODENAME_" />
- <list name="eventListenerReferences"
- inverse="false"
- cascade="all-delete-orphan"
- table="JBPM_OBJECTREFERENCES">
- <key foreign-key="FK_OBJREF_EXHNDLR" not-null="false">
- <column name="EXHNDLR_" index="IDX_OBJREF_EXHNDLR" />
- </key>
- <list-index column="EXHNDLR_IDX_" />
- <one-to-many class="ObjectReference" />
- </list>
- </class>
-
- <!-- ### OBJECT REFERENCE ############################################### -->
- <class name="ObjectReference" discriminator-value="objref" table="JBPM_OBJECTREF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="descriptor"
- column="OBJ_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_OBJREF_EVENT"
- index="IDX_OBJREF_EVENT"/>
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="OBJ_CLASS_" />
- <column name="OBJ_ID_" />
- </any>
- <property name="expression" column="OBJ_EXPRESSION_"/>
- <property name="expressionLanguage" column="OBJ_EXPRLANG_"/>
-
- <subclass name="EventListenerReference" discriminator-value="evtlis">
- <property name="isPropagationEnabled" column="PROPAGATE_" />
- </subclass>
-
- </class>
-
- <!-- ### VARIABLE DEFINITION ############################################ -->
- <class name="VariableDefinitionImpl" table="JBPM_VARIABLEDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="name" column="NAME_"/>
- <property name="typeName" column="TYPE_"/>
-
- <property name="inVariableName" column="INVAR_" />
- <property name="inExpression" column="INEXPR_" />
- <many-to-one name="inDescriptor"
- column="INDESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_VARDEF_INDES"
- index="IDX_VARDEF_INDES"/>
- <property name="outVariableName" column="OUTVAR_" />
- <property name="outExpression" column="OUTEXPR_" />
- </class>
-
- <!-- ### TIMER DEFINITION ############################################### -->
- <class name="TimerDefinitionImpl" table="JBPM_TIMERDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="dueDateDescription" column="DUEDATEDESCR_"/>
- <property name="repeat" column="REPEAT_"/>
- <property name="isExclusive" column="ISEXCL_"/>
- <property name="retries" column="RETRIES_"/>
- <property name="eventName" column="EVENT_"/>
- <property name="signalName" column="SIGNAL_"/>
- <property name="dueDate" column="DUEDATE_" type="timestamp"/>
- </class>
-
- <!-- ### DESCRIPTORS #################################################### -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" table="JBPM_DESCRIPTOR" abstract="true"
- discriminator-value="abstract">
- <!--
- byte : ByteDescriptor
- string : StringDescriptor
- char : CharacterDescriptor
- class : ClassDescriptor
- double : DoubleDescriptor
- expr : ExpressionDescriptor
- float : FloatDescriptor
- long : LongDescriptor
- int : IntegerDescriptor
- short : ShortDescriptor
- coll : CollectionDescriptor
- map : MapDescriptor
- list : ListDescriptor
- set : SetDescriptor
- object : ObjectDescriptor
- ref : ReferenceDescriptor
- null : NullDescriptor
- true : TrueDescriptor
- false : FalseDescriptor
- provided : ProvidedObjectDescriptor
- -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="name" column="NAME_" />
- <property name="init" column="INIT_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.NullDescriptor" discriminator-value="null_" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.TrueDescriptor" discriminator-value="true" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FalseDescriptor" discriminator-value="false" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.StringDescriptor" discriminator-value="string">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CharacterDescriptor" discriminator-value="char">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ClassDescriptor" discriminator-value="class">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ReferenceDescriptor" discriminator-value="ref">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.DoubleDescriptor" discriminator-value="double">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FloatDescriptor" discriminator-value="float">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.LongDescriptor" discriminator-value="long">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.IntegerDescriptor" discriminator-value="int">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ShortDescriptor" discriminator-value="short">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ByteDescriptor" discriminator-value="byte">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CollectionDescriptor" discriminator-value="coll">
- <property name="className" column="CLASSNAME_" />
- <list name="valueDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_DESCR_VALDESCR">
- <column name="VALUEDESCR_" index="IDX_DESCR_VALDESCR" />
- </key>
- <list-index column="VALUEDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.MapDescriptor" discriminator-value="map">
- <list name="keyDescriptors" cascade="all-delete-orphan">
- <key column="KEYDESCR_" foreign-key="FK_DESCR_KEYDESCR" />
- <list-index column="KEYDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor" discriminator-value="list" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.SetDescriptor" discriminator-value="set" />
- </subclass>
-
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor" discriminator-value="object">
- <property name="className" column="TEXT_" />
- <property name="methodName" column="METHOD_" />
- <property name="isAutoWireEnabled" column="BOOLVAL_" />
- <property name="factoryObjectName" column="FACTORYNAME_" />
-
- <many-to-one name="factoryDescriptor" class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" column="FACTORYDESCR_"
- foreign-key="FK_DESCR_ARG_REF" index="IDX_DESCR_ARG_REF" cascade="all" />
-
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJARG_DESCR">
- <column name="OBJARG_DESCR_" index="IDX_OBJARG_DESCR" />
- </key>
- <list-index column="OBJARG_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
-
- <list name="operations" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJOPER_DESCR">
- <column name="OBJOPER_DESCR_" index="IDX_OBJOPER_DESCR" />
- </key>
- <list-index column="OBJOPER_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.operation.AbstractOperation" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ExpressionDescriptor" discriminator-value="expr">
- <property name="expr" column="TEXT_" />
- <property name="lang" column="METHOD_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ProvidedObjectDescriptor" discriminator-value="provided">
- <any name="providedObject" id-type="long" cascade="all">
- <column name="TEXT_" />
- <column name="LONGVAL_" />
- </any>
- <property name="exposeType" column="BOOLVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.EnvDescriptor" discriminator-value="env">
- <property name="objectName" column="TEXT_" />
- <property name="typeName" column="CLASSNAME_" />
- </subclass>
-
- </class>
-
- <!-- ### OPERATIONS ##################################################### -->
- <class name="org.jbpm.pvm.internal.wire.operation.AbstractOperation" abstract="true"
- table="JBPM_OPERATION" discriminator-value="oper">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.FieldOperation"
- discriminator-value="field">
- <property name="fieldName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_OPER_DESC" index="IDX_OPER_DESC" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.PropertyOperation"
- discriminator-value="prop">
- <property name="setterName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
- discriminator-value="invoke">
- <property name="methodName" column="TEXT_" />
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_ARGDSCR_OPER">
- <column name="OPER_" index="IDX_ARGDSCR_OPER" />
- </key>
- <list-index column="OPER_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
- </subclass>
- </class>
-
- <!-- ### ARG DESCRIPTOR ################################################# -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" table="JBPM_ARGDESCRIPTOR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="typeName" column="TYPENAME_" />
- <many-to-one name="descriptor" column="DESCRIPTOR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_ARGDESCR_DESCR" index="IDX_ARGDESCR_DESCR" cascade="all" />
- </class>
-
- <!-- ### PROPERTIES ##################################################### -->
- <class name="org.jbpm.pvm.internal.model.WireProperties" table="JBPM_WIREPROPS">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <component name="wireContext" class="org.jbpm.pvm.internal.wire.WireContext">
- <component name="wireDefinition" class="org.jbpm.pvm.internal.wire.WireDefinition">
- <map name="descriptors" cascade="all-delete-orphan" lazy="false">
- <key foreign-key="FK_DESCR_PROPS">
- <column name="PROPS_" index="IDX_DESCR_PROPS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </map>
- </component>
- </component>
- </class>
-
-
- <!-- ### QUERIES ######################################################## -->
-
- <query name="findProcessDefinitionKeys">
- <![CDATA[
- select distinct process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- order by process.key asc
- ]]>
- </query>
-
- <query name="findProcessDefinitionsByKey">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- order by process.version desc
- ]]>
- </query>
-
- <query name="findProcessDefinitionById">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.id = :id
- ]]>
- </query>
-
- <query name="findProcessDefinitionKeysByName">
- <![CDATA[
- select process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.name = :name
- ]]>
- </query>
-
- <query name="findProcessDefinitionNamesByKey">
- <![CDATA[
- select process.name
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -63,7 +63,7 @@
<property name="transitionName" column="TRANSITION_" />
<subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
- <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+ <subclass name="HistoryDecisionInstanceImpl" discriminator-value="EXCL" />
</subclass>
<subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,7 +1,7 @@
<activities>
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
- <activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
+ <activity binding="org.jbpm.jpdl.internal.activity.DecisionBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
Modified: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -44,14 +44,14 @@
</id>
<discriminator column="CLASS_" />
<subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionConditionActivity" discriminator-value="excl-cond" />
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionExpressionActivity" discriminator-value="excl-expr">
<property name="expr" column="TEXT_" />
<property name="lang" column="TEXT2_" />
</subclass>
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
- <property name="exclusiveHandlerName" column="TEXT_" />
- <many-to-one name="exclusiveHandlerDescriptor"
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionHandlerActivity" discriminator-value="excl-handler">
+ <property name="decisionHandlerName" column="TEXT_" />
+ <many-to-one name="decisionHandlerDescriptor"
column="EXCLDESCR_"
cascade="all"
class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/TimerBuilder.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/TimerBuilder.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/builder/TimerBuilder.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -67,7 +67,7 @@
return this;
}
- public TimerBuilder exclusive() {
+ public TimerBuilder decision() {
timerDefinition.setExclusive(true);
return this;
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -58,7 +58,7 @@
}
JobImpl<?> job = (JobImpl<?>) session.get(JobImpl.class, jobDbid);
- // in case of exclusive jobs, the job might have been deleted
+ // in case of decision jobs, the job might have been deleted
// before we execute it (they are in a list)
if (job != null) {
try {
Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/DecisionEnd.java (from rev 4541, jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ExclusiveEnd.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/DecisionEnd.java (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/DecisionEnd.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,45 @@
+/*
+ * 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.history.events;
+
+import org.jbpm.history.HistoryProcessInstance;
+import org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl;
+import org.jbpm.pvm.internal.history.model.HistoryDecisionInstanceImpl;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionEnd extends AutomaticEnd {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String transitionName;
+
+ public DecisionEnd(String transitionName) {
+ this.transitionName = transitionName;
+ }
+
+ protected HistoryActivityInstanceImpl createHistoryActivityInstance(HistoryProcessInstance historyProcessInstanceImpl) {
+ return new HistoryDecisionInstanceImpl(historyProcessInstanceImpl, execution, transitionName);
+ }
+}
Property changes on: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/DecisionEnd.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ExclusiveEnd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ExclusiveEnd.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/ExclusiveEnd.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,45 +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.history.events;
-
-import org.jbpm.history.HistoryProcessInstance;
-import org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl;
-import org.jbpm.pvm.internal.history.model.HistoryExclusiveInstanceImpl;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveEnd extends AutomaticEnd {
-
- private static final long serialVersionUID = 1L;
-
- protected String transitionName;
-
- public ExclusiveEnd(String transitionName) {
- this.transitionName = transitionName;
- }
-
- protected HistoryActivityInstanceImpl createHistoryActivityInstance(HistoryProcessInstance historyProcessInstanceImpl) {
- return new HistoryExclusiveInstanceImpl(historyProcessInstanceImpl, execution, transitionName);
- }
-}
Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryDecisionInstanceImpl.java (from rev 4541, jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryExclusiveInstanceImpl.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryDecisionInstanceImpl.java (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryDecisionInstanceImpl.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,41 @@
+/*
+ * 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.history.model;
+
+import org.jbpm.history.HistoryProcessInstance;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class HistoryDecisionInstanceImpl extends HistoryAutomaticInstanceImpl {
+
+ public HistoryDecisionInstanceImpl() {
+ }
+
+ public HistoryDecisionInstanceImpl(HistoryProcessInstance historyProcessInstanceImpl, ExecutionImpl execution, String transitionName) {
+ super(historyProcessInstanceImpl, execution);
+ this.transitionName = transitionName;
+ }
+
+}
Property changes on: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryDecisionInstanceImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryExclusiveInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryExclusiveInstanceImpl.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryExclusiveInstanceImpl.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,41 +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.history.model;
-
-import org.jbpm.history.HistoryProcessInstance;
-import org.jbpm.pvm.internal.model.ExecutionImpl;
-
-
-/**
- * @author Tom Baeyens
- */
-public class HistoryExclusiveInstanceImpl extends HistoryAutomaticInstanceImpl {
-
- public HistoryExclusiveInstanceImpl() {
- }
-
- public HistoryExclusiveInstanceImpl(HistoryProcessInstance historyProcessInstanceImpl, ExecutionImpl execution, String transitionName) {
- super(historyProcessInstanceImpl, execution);
- this.transitionName = transitionName;
- }
-
-}
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-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -57,7 +57,7 @@
import org.jbpm.pvm.internal.history.events.ActivityEnd;
import org.jbpm.pvm.internal.history.events.ActivityStart;
import org.jbpm.pvm.internal.history.events.AutomaticEnd;
-import org.jbpm.pvm.internal.history.events.ExclusiveEnd;
+import org.jbpm.pvm.internal.history.events.DecisionEnd;
import org.jbpm.pvm.internal.history.events.ProcessInstanceEnd;
import org.jbpm.pvm.internal.history.events.ProcessInstanceStart;
import org.jbpm.pvm.internal.job.MessageImpl;
@@ -956,8 +956,8 @@
fireHistoryEvent(new AutomaticEnd());
}
- public void historyExclusive(String transitionName) {
- fireHistoryEvent(new ExclusiveEnd(transitionName));
+ public void historyDecision(String transitionName) {
+ fireHistoryEvent(new DecisionEnd(transitionName));
}
public void historyActivityStart() {
Deleted: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,39 +0,0 @@
-<hibernate-cache>
-
- <class-cache class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ActivityImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TransitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.EventImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ExceptionHandlerImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.ObjectReference" />
- <class-cache class="org.jbpm.pvm.internal.model.VariableDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.model.TimerDefinitionImpl" />
- <class-cache class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.activities" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.attachments" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.events" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.activities" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.variableDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.timerDefinitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.incomingTransitions" />
- <collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.outgoingTransitions" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.events" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.exceptionHandlers" />
- <collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.listenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.model.ExceptionHandlerImpl.eventListenerReferences" />
-
- <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.argDescriptors" />
- <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.operations" />
-
-</hibernate-cache>
Deleted: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,646 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
- <!-- ### PROCESS DEFINITION ############################################# -->
- <class name="ProcessDefinitionImpl"
- table="JBPM_PROCESS"
- discriminator-value="pvm">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator><column name="CLASS_" /></discriminator>
-
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_PROCDEF_PROPS"
- index="IDX_PROCDEF_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_PROCESS">
- <column name="PROCESS_" index="IDX_EXHDLR_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="ExceptionHandlerImpl"/>
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_PROCESS">
- <column name="PROCESS_" index="IDX_EVENT_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl"/>
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key foreign-key="FK_ACTS_PROCESS">
- <column name="ACTSPROCESS_" index="IDX_ACTS_PROCESS"/>
- </key>
- <list-index column="ACTSPROCESS_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_PROCESS">
- <column name="PROCESS_" index="IDX_VARDEF_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_PROCESS">
- <column name="PROCESS_" index="IDX_TMRDEF_PROCESS"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </set>
-
- <!-- ProcessDefinitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="key" column="KEY_" />
- <property name="id" column="ID_" unique="true" />
-
- <property name="packageName" column="PACKAGE_" />
- <property name="version" column="VERSION_" />
- <property name="deploymentTime" column="DEPLOYED_" />
- <many-to-one name="initial"
- column="INITIAL_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_PROCDEF_INITIAL"
- index="IDX_PROCDEF_INIT"
- fetch="select" />
-
- <map name="attachments" cascade="all-delete-orphan">
- <key foreign-key="FK_LOB_PROCESS">
- <column name="PROCESS_" index="IDX_LOB_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.lob.Lob"/>
- </map>
- </class>
-
- <!-- ### Activity ############################################################## -->
- <class name="ActivityImpl" table="JBPM_ACTIVITY">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_ACT_PROCESS"
- index="IDX_ACT_PROCESS" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_ACT_PROPS"
- index="IDX_ACT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_ACT">
- <column name="ACT_" index="IDX_EXHDLR_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_"/>
- <property name="description" column="DESCR_"/>
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_ACT">
- <column name="ACT_" index="IDX_EVENT_ACT" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key column="PARENT_" foreign-key="none" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_ACT">
- <column name="ACT_" index="IDX_VARDEF_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_ACT">
- <column name="ACT_" index="IDX_TMRDEF_ACT"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </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_" />
- <property name="isPreviousNeeded" column="PREV_NEEDED_" />
-
- <many-to-one name="parentActivity"
- column="PARENT_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_ACT_PARENT"
- index="IDX_ACT_PARENT" />
-
- <many-to-one name="defaultTransition"
- column="DEFTRANS_"
- class="TransitionImpl"
- fetch="select"
- foreign-key="FK_ACT_DEFTRANS"
- index="IDX_ACT_DEFTRANS" />
-
- <list name="incomingTransitions" inverse="false">
- <key column="DESTINATION_" />
- <index column="IN_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <list name="outgoingTransitions" inverse="false" cascade="all">
- <key column="SOURCE_" />
- <index column="OUT_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <component name="behaviourReference" class="ObjectReference">
- <many-to-one name="descriptor"
- column="BEHAV_DESCR_"
- cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_NODE_BEHAV_DESCR"
- index="IDX_NODE_BEHAV_DESCR" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <!-- <meta-value value="bpel::activity" class="org.jbpm.pvm.bpel.BpelActivity"/> -->
- <column name="BEHAV_CLASS_" />
- <column name="BEHAV_ID_" />
- </any>
- </component>
- </class>
-
- <!-- ### TRANSITION ##################################################### -->
- <class name="TransitionImpl" table="JBPM_TRANSITION">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_TRANS_PROCDEF"
- index="IDX_TRANS_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_TRANS_PROPS"
- index="IDX_TRANS_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_TRANS">
- <column name="TRANSITION_" index="IDX_EXHDLR_TRANS" />
- </key>
- <index column="TRANSITION_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_TRANS">
- <column name="TRANSITION_" index="IDX_EVENT_TRANS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- TransitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <many-to-one name="source"
- column="SRC_"
- class="ActivityImpl"
- fetch="select"
- foreign-key="FK_TRANS_SRC"
- index="IDX_TRANS_SRC" />
-
- <many-to-one name="destination"
- column="DEST_"
- class="ActivityImpl"
- fetch="select"
- cascade="all"
- foreign-key="FK_TRANS_DST"
- index="IDX_TRANS_DST" />
-
- <many-to-one name="conditionDescriptor"
- column="COND_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_COND"
- index="IDX_TRANS_COND" />
-
- <!--
- <many-to-one name="waitConditionDescriptor"
- column="WAIT_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_WAIT_DESCR"
- index="IDX_TRANS_WAIT_DESCR" />
- -->
-
- <property name="isTakeAsync" column="TAKEASYNC_" />
- </class>
-
- <!-- ### EVENT ########################################################## -->
- <class name="EventImpl" table="JBPM_EVENT">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESSDEF_"
- foreign-key="FK_EVENT_PROCDEF"
- index="IDX_EVENT_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_EVENT_PROPS"
- index="IDX_EVENT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_EVENT">
- <column name="EVENT_" index="IDX_EXHDLR_EVENT"/>
- </key>
- <index column="EVENT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- EventImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <list name="listenerReferences" table="JBPM_OBJECTREFERENCES" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJECTREF_EVENT">
- <column name="EVENT_" index="IDX_OBJREF_EVENT"/>
- </key>
- <list-index column="EVENT_IDX_" />
- <one-to-many class="EventListenerReference" />
- </list>
- </class>
-
- <!-- ### EXCEPTION HANDLER ############################################## -->
- <class name="ExceptionHandlerImpl" table="JBPM_EXCEPTHNDLR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="exceptionClassName" column="EXCEPT_CLASS_" />
- <property name="isTransactional" column="TRANSACT_" />
- <property name="isRethrowMasked" column="RETHROW_MASKED_"/>
- <property name="transitionName" column="TRANSITIONNAME_" />
- <property name="activityName" column="NODENAME_" />
- <list name="eventListenerReferences"
- inverse="false"
- cascade="all-delete-orphan"
- table="JBPM_OBJECTREFERENCES">
- <key foreign-key="FK_OBJREF_EXHNDLR" not-null="false">
- <column name="EXHNDLR_" index="IDX_OBJREF_EXHNDLR" />
- </key>
- <list-index column="EXHNDLR_IDX_" />
- <one-to-many class="ObjectReference" />
- </list>
- </class>
-
- <!-- ### OBJECT REFERENCE ############################################### -->
- <class name="ObjectReference" discriminator-value="objref" table="JBPM_OBJECTREF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="descriptor"
- column="OBJ_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_OBJREF_EVENT"
- index="IDX_OBJREF_EVENT"/>
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="OBJ_CLASS_" />
- <column name="OBJ_ID_" />
- </any>
- <property name="expression" column="OBJ_EXPRESSION_"/>
- <property name="expressionLanguage" column="OBJ_EXPRLANG_"/>
-
- <subclass name="EventListenerReference" discriminator-value="evtlis">
- <property name="isPropagationEnabled" column="PROPAGATE_" />
- </subclass>
-
- </class>
-
- <!-- ### VARIABLE DEFINITION ############################################ -->
- <class name="VariableDefinitionImpl" table="JBPM_VARIABLEDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="name" column="NAME_"/>
- <property name="typeName" column="TYPE_"/>
-
- <property name="inVariableName" column="INVAR_" />
- <property name="inExpression" column="INEXPR_" />
- <many-to-one name="inDescriptor"
- column="INDESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_VARDEF_INDES"
- index="IDX_VARDEF_INDES"/>
- <property name="outVariableName" column="OUTVAR_" />
- <property name="outExpression" column="OUTEXPR_" />
- </class>
-
- <!-- ### TIMER DEFINITION ############################################### -->
- <class name="TimerDefinitionImpl" table="JBPM_TIMERDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="dueDateDescription" column="DUEDATEDESCR_"/>
- <property name="repeat" column="REPEAT_"/>
- <property name="isExclusive" column="ISEXCL_"/>
- <property name="retries" column="RETRIES_"/>
- <property name="eventName" column="EVENT_"/>
- <property name="signalName" column="SIGNAL_"/>
- <property name="dueDate" column="DUEDATE_" type="timestamp"/>
- </class>
-
- <!-- ### DESCRIPTORS #################################################### -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" table="JBPM_DESCRIPTOR" abstract="true"
- discriminator-value="abstract">
- <!--
- byte : ByteDescriptor
- string : StringDescriptor
- char : CharacterDescriptor
- class : ClassDescriptor
- double : DoubleDescriptor
- expr : ExpressionDescriptor
- float : FloatDescriptor
- long : LongDescriptor
- int : IntegerDescriptor
- short : ShortDescriptor
- coll : CollectionDescriptor
- map : MapDescriptor
- list : ListDescriptor
- set : SetDescriptor
- object : ObjectDescriptor
- ref : ReferenceDescriptor
- null : NullDescriptor
- true : TrueDescriptor
- false : FalseDescriptor
- provided : ProvidedObjectDescriptor
- -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="name" column="NAME_" />
- <property name="init" column="INIT_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.NullDescriptor" discriminator-value="null_" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.TrueDescriptor" discriminator-value="true" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FalseDescriptor" discriminator-value="false" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.StringDescriptor" discriminator-value="string">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CharacterDescriptor" discriminator-value="char">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ClassDescriptor" discriminator-value="class">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ReferenceDescriptor" discriminator-value="ref">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.DoubleDescriptor" discriminator-value="double">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FloatDescriptor" discriminator-value="float">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.LongDescriptor" discriminator-value="long">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.IntegerDescriptor" discriminator-value="int">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ShortDescriptor" discriminator-value="short">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ByteDescriptor" discriminator-value="byte">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CollectionDescriptor" discriminator-value="coll">
- <property name="className" column="CLASSNAME_" />
- <list name="valueDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_DESCR_VALDESCR">
- <column name="VALUEDESCR_" index="IDX_DESCR_VALDESCR" />
- </key>
- <list-index column="VALUEDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.MapDescriptor" discriminator-value="map">
- <list name="keyDescriptors" cascade="all-delete-orphan">
- <key column="KEYDESCR_" foreign-key="FK_DESCR_KEYDESCR" />
- <list-index column="KEYDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor" discriminator-value="list" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.SetDescriptor" discriminator-value="set" />
- </subclass>
-
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor" discriminator-value="object">
- <property name="className" column="TEXT_" />
- <property name="methodName" column="METHOD_" />
- <property name="isAutoWireEnabled" column="BOOLVAL_" />
- <property name="factoryObjectName" column="FACTORYNAME_" />
-
- <many-to-one name="factoryDescriptor" class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" column="FACTORYDESCR_"
- foreign-key="FK_DESCR_ARG_REF" index="IDX_DESCR_ARG_REF" cascade="all" />
-
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJARG_DESCR">
- <column name="OBJARG_DESCR_" index="IDX_OBJARG_DESCR" />
- </key>
- <list-index column="OBJARG_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
-
- <list name="operations" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJOPER_DESCR">
- <column name="OBJOPER_DESCR_" index="IDX_OBJOPER_DESCR" />
- </key>
- <list-index column="OBJOPER_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.operation.AbstractOperation" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ExpressionDescriptor" discriminator-value="expr">
- <property name="expr" column="TEXT_" />
- <property name="lang" column="METHOD_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ProvidedObjectDescriptor" discriminator-value="provided">
- <any name="providedObject" id-type="long" cascade="all">
- <column name="TEXT_" />
- <column name="LONGVAL_" />
- </any>
- <property name="exposeType" column="BOOLVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.EnvDescriptor" discriminator-value="env">
- <property name="objectName" column="TEXT_" />
- <property name="typeName" column="CLASSNAME_" />
- </subclass>
-
- </class>
-
- <!-- ### OPERATIONS ##################################################### -->
- <class name="org.jbpm.pvm.internal.wire.operation.AbstractOperation" abstract="true"
- table="JBPM_OPERATION" discriminator-value="oper">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.FieldOperation"
- discriminator-value="field">
- <property name="fieldName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_OPER_DESC" index="IDX_OPER_DESC" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.PropertyOperation"
- discriminator-value="prop">
- <property name="setterName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
- discriminator-value="invoke">
- <property name="methodName" column="TEXT_" />
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_ARGDSCR_OPER">
- <column name="OPER_" index="IDX_ARGDSCR_OPER" />
- </key>
- <list-index column="OPER_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
- </subclass>
- </class>
-
- <!-- ### ARG DESCRIPTOR ################################################# -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" table="JBPM_ARGDESCRIPTOR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="typeName" column="TYPENAME_" />
- <many-to-one name="descriptor" column="DESCRIPTOR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_ARGDESCR_DESCR" index="IDX_ARGDESCR_DESCR" cascade="all" />
- </class>
-
- <!-- ### PROPERTIES ##################################################### -->
- <class name="org.jbpm.pvm.internal.model.WireProperties" table="JBPM_WIREPROPS">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <component name="wireContext" class="org.jbpm.pvm.internal.wire.WireContext">
- <component name="wireDefinition" class="org.jbpm.pvm.internal.wire.WireDefinition">
- <map name="descriptors" cascade="all-delete-orphan" lazy="false">
- <key foreign-key="FK_DESCR_PROPS">
- <column name="PROPS_" index="IDX_DESCR_PROPS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </map>
- </component>
- </component>
- </class>
-
-
- <!-- ### QUERIES ######################################################## -->
-
- <query name="findProcessDefinitionKeys">
- <![CDATA[
- select distinct process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- order by process.key asc
- ]]>
- </query>
-
- <query name="findProcessDefinitionsByKey">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- order by process.version desc
- ]]>
- </query>
-
- <query name="findProcessDefinitionById">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.id = :id
- ]]>
- </query>
-
- <query name="findProcessDefinitionKeysByName">
- <![CDATA[
- select process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.name = :name
- ]]>
- </query>
-
- <query name="findProcessDefinitionNamesByKey">
- <![CDATA[
- select process.name
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -63,7 +63,7 @@
<property name="transitionName" column="TRANSITION_" />
<subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
- <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+ <subclass name="HistoryDecisionInstanceImpl" discriminator-value="EXCL" />
</subclass>
<subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,7 +1,7 @@
<activities>
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
- <activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
+ <activity binding="org.jbpm.jpdl.internal.activity.DecisionBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
Copied: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/DecisionTest.java (from rev 4541, jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java)
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/DecisionTest.java (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/DecisionTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -0,0 +1,96 @@
+/*
+ * 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.test.activities;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class DecisionTest extends JbpmTestCase {
+
+ public void testDecisionExpression() {
+ deployJpdlXmlString(
+ "<process name='Poolcar'>" +
+ " <start>" +
+ " <transition to='How far?' />" +
+ " </start>" +
+ " <decision name='How far?' expr='#{distance}'>" +
+ " <transition name='far' to='Big car' />" +
+ " <transition name='nearby' to='Small car' />" +
+ " </decision>" +
+ " <state name='Big car' />" +
+ " <state name='Small car' />" +
+ "</process>"
+ );
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("distance", "far");
+ Execution execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+ assertEquals("Big car", execution.getActivityName());
+
+ variables.put("distance", "nearby");
+ execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+ assertEquals("Small car", execution.getActivityName());
+ }
+
+ public void testDecisionWithConditions() {
+ deployJpdlXmlString(
+ "<process name='Poolcar'>" +
+ " <start>" +
+ " <transition to='How far?' />" +
+ " </start>" +
+ " <decision name='How far?'>" +
+ " <transition to='Big car'>" +
+ " <condition expr='#{distance > 10}' />" +
+ " </transition>" +
+ " <transition to='Small car'>" +
+ " <condition expr='#{distance >= 3}' />" +
+ " </transition>" +
+ " <transition to='No car' />" +
+ " </decision>" +
+ " <state name='Big car' />" +
+ " <state name='Small car' />" +
+ " <state name='No car' />" +
+ "</process>"
+ );
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("distance", new Integer(69));
+ Execution execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+ assertEquals("Big car", execution.getActivityName());
+
+ variables.put("distance", new Integer(6));
+ execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+ assertEquals("Small car", execution.getActivityName());
+
+ variables.put("distance", new Integer(2));
+ execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+ assertEquals("No car", execution.getActivityName());
+ }
+
+}
Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/DecisionTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,96 +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.test.activities;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jbpm.Execution;
-import org.jbpm.test.JbpmTestCase;
-
-
-/**
- * @author Tom Baeyens
- */
-public class ExclusiveTest extends JbpmTestCase {
-
- public void testExclusiveExpression() {
- deployJpdlXmlString(
- "<process name='Poolcar'>" +
- " <start>" +
- " <transition to='How far?' />" +
- " </start>" +
- " <exclusive name='How far?' expr='#{distance}'>" +
- " <transition name='far' to='Big car' />" +
- " <transition name='nearby' to='Small car' />" +
- " </exclusive>" +
- " <state name='Big car' />" +
- " <state name='Small car' />" +
- "</process>"
- );
-
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("distance", "far");
- Execution execution = executionService.startProcessInstanceByKey("Poolcar", variables);
- assertEquals("Big car", execution.getActivityName());
-
- variables.put("distance", "nearby");
- execution = executionService.startProcessInstanceByKey("Poolcar", variables);
- assertEquals("Small car", execution.getActivityName());
- }
-
- public void testExclusiveWithConditions() {
- deployJpdlXmlString(
- "<process name='Poolcar'>" +
- " <start>" +
- " <transition to='How far?' />" +
- " </start>" +
- " <exclusive name='How far?'>" +
- " <transition to='Big car'>" +
- " <condition expr='#{distance > 10}' />" +
- " </transition>" +
- " <transition to='Small car'>" +
- " <condition expr='#{distance >= 3}' />" +
- " </transition>" +
- " <transition to='No car' />" +
- " </exclusive>" +
- " <state name='Big car' />" +
- " <state name='Small car' />" +
- " <state name='No car' />" +
- "</process>"
- );
-
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.put("distance", new Integer(69));
- Execution execution = executionService.startProcessInstanceByKey("Poolcar", variables);
- assertEquals("Big car", execution.getActivityName());
-
- variables.put("distance", new Integer(6));
- execution = executionService.startProcessInstanceByKey("Poolcar", variables);
- assertEquals("Small car", execution.getActivityName());
-
- variables.put("distance", new Integer(2));
- execution = executionService.startProcessInstanceByKey("Poolcar", variables);
- assertEquals("No car", execution.getActivityName());
- }
-
-}
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -32,17 +32,17 @@
*/
public class ChoiceDistributionTest extends JbpmTestCase {
- public void testExclusiveExpression() {
+ public void testDecisionExpression() {
deployJpdlXmlString(
"<process name='Transport Selection' key='TRS'>" +
" <start>" +
" <transition to='How far?' />" +
" </start>" +
- " <exclusive name='How far?' expr='#{distance}'>" +
+ " <decision name='How far?' expr='#{distance}'>" +
" <transition name='far' to='Big car' />" +
" <transition name='nearby' to='Small car' />" +
" <transition name='other country' to='Airoplane' />" +
- " </exclusive>" +
+ " </decision>" +
" <state name='Big car' />" +
" <state name='Small car' />" +
" <state name='Airoplane' />" +
Deleted: 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-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,646 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
- <!-- ### PROCESS DEFINITION ############################################# -->
- <class name="ProcessDefinitionImpl"
- table="JBPM_PROCESS"
- discriminator-value="pvm">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator><column name="CLASS_" /></discriminator>
-
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_PROCDEF_PROPS"
- index="IDX_PROCDEF_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_PROCESS">
- <column name="PROCESS_" index="IDX_EXHDLR_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="ExceptionHandlerImpl"/>
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_PROCESS">
- <column name="PROCESS_" index="IDX_EVENT_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl"/>
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key foreign-key="FK_ACTS_PROCESS">
- <column name="ACTSPROCESS_" index="IDX_ACTS_PROCESS"/>
- </key>
- <list-index column="ACTSPROCESS_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_PROCESS">
- <column name="PROCESS_" index="IDX_VARDEF_PROCESS"/>
- </key>
- <index column="PROCESS_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_PROCESS">
- <column name="PROCESS_" index="IDX_TMRDEF_PROCESS"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </set>
-
- <!-- ProcessDefinitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="key" column="KEY_" />
- <property name="id" column="ID_" unique="true" />
-
- <property name="packageName" column="PACKAGE_" />
- <property name="version" column="VERSION_" />
- <property name="deploymentTime" column="DEPLOYED_" />
- <many-to-one name="initial"
- column="INITIAL_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_PROCDEF_INITIAL"
- index="IDX_PROCDEF_INIT"
- fetch="select" />
-
- <map name="attachments" cascade="all-delete-orphan">
- <key foreign-key="FK_LOB_PROCESS">
- <column name="PROCESS_" index="IDX_LOB_PROCESS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.lob.Lob"/>
- </map>
- </class>
-
- <!-- ### Activity ############################################################## -->
- <class name="ActivityImpl" table="JBPM_ACTIVITY">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_ACT_PROCESS"
- index="IDX_ACT_PROCESS" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_ACT_PROPS"
- index="IDX_ACT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_ACT">
- <column name="ACT_" index="IDX_EXHDLR_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_"/>
- <property name="description" column="DESCR_"/>
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_ACT">
- <column name="ACT_" index="IDX_EVENT_ACT" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- CompositeElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <list name="activities" cascade="all" inverse="false">
- <key column="PARENT_" foreign-key="none" />
- <list-index column="PARENT_IDX_" />
- <one-to-many class="ActivityImpl" />
- </list>
- <property name="hasVariableDefinitions" column="HAS_VAR_DEF_" />
- <list name="variableDefinitions" cascade="all">
- <key foreign-key="FK_VARDEF_ACT">
- <column name="ACT_" index="IDX_VARDEF_ACT"/>
- </key>
- <index column="ACT_IDX_" />
- <one-to-many class="VariableDefinitionImpl" />
- </list>
- <property name="hasTimerDefinitions" column="HAS_TIMER_DEF_" />
- <set name="timerDefinitions" cascade="all">
- <key foreign-key="FK_TMRDEF_ACT">
- <column name="ACT_" index="IDX_TMRDEF_ACT"/>
- </key>
- <one-to-many class="TimerDefinitionImpl" />
- </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_" />
- <property name="isPreviousNeeded" column="PREV_NEEDED_" />
-
- <many-to-one name="parentActivity"
- column="PARENT_"
- class="ActivityImpl"
- cascade="all"
- foreign-key="FK_ACT_PARENT"
- index="IDX_ACT_PARENT" />
-
- <many-to-one name="defaultTransition"
- column="DEFTRANS_"
- class="TransitionImpl"
- fetch="select"
- foreign-key="FK_ACT_DEFTRANS"
- index="IDX_ACT_DEFTRANS" />
-
- <list name="incomingTransitions" inverse="false">
- <key column="DESTINATION_" />
- <index column="IN_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <list name="outgoingTransitions" inverse="false" cascade="all">
- <key column="SOURCE_" />
- <index column="OUT_IDX_" />
- <one-to-many class="TransitionImpl" />
- </list>
-
- <component name="behaviourReference" class="ObjectReference">
- <many-to-one name="descriptor"
- column="BEHAV_DESCR_"
- cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_NODE_BEHAV_DESCR"
- index="IDX_NODE_BEHAV_DESCR" />
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <!-- <meta-value value="bpel::activity" class="org.jbpm.pvm.bpel.BpelActivity"/> -->
- <column name="BEHAV_CLASS_" />
- <column name="BEHAV_ID_" />
- </any>
- </component>
- </class>
-
- <!-- ### TRANSITION ##################################################### -->
- <class name="TransitionImpl" table="JBPM_TRANSITION">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESS_"
- foreign-key="FK_TRANS_PROCDEF"
- index="IDX_TRANS_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_TRANS_PROPS"
- index="IDX_TRANS_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_TRANS">
- <column name="TRANSITION_" index="IDX_EXHDLR_TRANS" />
- </key>
- <index column="TRANSITION_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- ObservableElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <property name="description" column="DESCR_" />
- <map name="events" cascade="all-delete-orphan">
- <key foreign-key="FK_EVENT_TRANS">
- <column name="TRANSITION_" index="IDX_EVENT_TRANS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.model.EventImpl" />
- </map>
-
- <!-- TransitionImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <many-to-one name="source"
- column="SRC_"
- class="ActivityImpl"
- fetch="select"
- foreign-key="FK_TRANS_SRC"
- index="IDX_TRANS_SRC" />
-
- <many-to-one name="destination"
- column="DEST_"
- class="ActivityImpl"
- fetch="select"
- cascade="all"
- foreign-key="FK_TRANS_DST"
- index="IDX_TRANS_DST" />
-
- <many-to-one name="conditionDescriptor"
- column="COND_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_COND"
- index="IDX_TRANS_COND" />
-
- <!--
- <many-to-one name="waitConditionDescriptor"
- column="WAIT_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_TRANS_WAIT_DESCR"
- index="IDX_TRANS_WAIT_DESCR" />
- -->
-
- <property name="isTakeAsync" column="TAKEASYNC_" />
- </class>
-
- <!-- ### EVENT ########################################################## -->
- <class name="EventImpl" table="JBPM_EVENT">
- <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="processDefinition"
- class="ProcessDefinitionImpl"
- column="PROCESSDEF_"
- foreign-key="FK_EVENT_PROCDEF"
- index="IDX_EVENT_PROCDEF" />
- <many-to-one name="properties"
- class="WireProperties"
- column="PROPS_"
- foreign-key="FK_EVENT_PROPS"
- index="IDX_EVENT_PROPS"
- cascade="all" />
- <list name="exceptionHandlers" cascade="all">
- <key foreign-key="FK_EXHDLR_EVENT">
- <column name="EVENT_" index="IDX_EXHDLR_EVENT"/>
- </key>
- <index column="EVENT_IDX_" />
- <one-to-many class="ExceptionHandlerImpl" />
- </list>
-
- <!-- EventImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
- <property name="name" column="NAME_" />
- <list name="listenerReferences" table="JBPM_OBJECTREFERENCES" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJECTREF_EVENT">
- <column name="EVENT_" index="IDX_OBJREF_EVENT"/>
- </key>
- <list-index column="EVENT_IDX_" />
- <one-to-many class="EventListenerReference" />
- </list>
- </class>
-
- <!-- ### EXCEPTION HANDLER ############################################## -->
- <class name="ExceptionHandlerImpl" table="JBPM_EXCEPTHNDLR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="exceptionClassName" column="EXCEPT_CLASS_" />
- <property name="isTransactional" column="TRANSACT_" />
- <property name="isRethrowMasked" column="RETHROW_MASKED_"/>
- <property name="transitionName" column="TRANSITIONNAME_" />
- <property name="activityName" column="NODENAME_" />
- <list name="eventListenerReferences"
- inverse="false"
- cascade="all-delete-orphan"
- table="JBPM_OBJECTREFERENCES">
- <key foreign-key="FK_OBJREF_EXHNDLR" not-null="false">
- <column name="EXHNDLR_" index="IDX_OBJREF_EXHNDLR" />
- </key>
- <list-index column="EXHNDLR_IDX_" />
- <one-to-many class="ObjectReference" />
- </list>
- </class>
-
- <!-- ### OBJECT REFERENCE ############################################### -->
- <class name="ObjectReference" discriminator-value="objref" table="JBPM_OBJECTREF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
- <many-to-one name="descriptor"
- column="OBJ_DESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_OBJREF_EVENT"
- index="IDX_OBJREF_EVENT"/>
- <any name="object" id-type="long" cascade="all">
- <!-- TODO: Specify names for classes -->
- <column name="OBJ_CLASS_" />
- <column name="OBJ_ID_" />
- </any>
- <property name="expression" column="OBJ_EXPRESSION_"/>
- <property name="expressionLanguage" column="OBJ_EXPRLANG_"/>
-
- <subclass name="EventListenerReference" discriminator-value="evtlis">
- <property name="isPropagationEnabled" column="PROPAGATE_" />
- </subclass>
-
- </class>
-
- <!-- ### VARIABLE DEFINITION ############################################ -->
- <class name="VariableDefinitionImpl" table="JBPM_VARIABLEDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="name" column="NAME_"/>
- <property name="typeName" column="TYPE_"/>
-
- <property name="inVariableName" column="INVAR_" />
- <property name="inExpression" column="INEXPR_" />
- <many-to-one name="inDescriptor"
- column="INDESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- cascade="all"
- foreign-key="FK_VARDEF_INDES"
- index="IDX_VARDEF_INDES"/>
- <property name="outVariableName" column="OUTVAR_" />
- <property name="outExpression" column="OUTEXPR_" />
- </class>
-
- <!-- ### TIMER DEFINITION ############################################### -->
- <class name="TimerDefinitionImpl" table="JBPM_TIMERDEF">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="dueDateDescription" column="DUEDATEDESCR_"/>
- <property name="repeat" column="REPEAT_"/>
- <property name="isExclusive" column="ISEXCL_"/>
- <property name="retries" column="RETRIES_"/>
- <property name="eventName" column="EVENT_"/>
- <property name="signalName" column="SIGNAL_"/>
- <property name="dueDate" column="DUEDATE_" type="timestamp"/>
- </class>
-
- <!-- ### DESCRIPTORS #################################################### -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" table="JBPM_DESCRIPTOR" abstract="true"
- discriminator-value="abstract">
- <!--
- byte : ByteDescriptor
- string : StringDescriptor
- char : CharacterDescriptor
- class : ClassDescriptor
- double : DoubleDescriptor
- expr : ExpressionDescriptor
- float : FloatDescriptor
- long : LongDescriptor
- int : IntegerDescriptor
- short : ShortDescriptor
- coll : CollectionDescriptor
- map : MapDescriptor
- list : ListDescriptor
- set : SetDescriptor
- object : ObjectDescriptor
- ref : ReferenceDescriptor
- null : NullDescriptor
- true : TrueDescriptor
- false : FalseDescriptor
- provided : ProvidedObjectDescriptor
- -->
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <property name="name" column="NAME_" />
- <property name="init" column="INIT_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.NullDescriptor" discriminator-value="null_" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.TrueDescriptor" discriminator-value="true" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FalseDescriptor" discriminator-value="false" />
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.StringDescriptor" discriminator-value="string">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CharacterDescriptor" discriminator-value="char">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ClassDescriptor" discriminator-value="class">
- <property name="text" column="TEXT_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ReferenceDescriptor" discriminator-value="ref">
- <property name="text" column="TEXT_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.DoubleDescriptor" discriminator-value="double">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.FloatDescriptor" discriminator-value="float">
- <property name="doubleVal" column="DOUBLEVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.LongDescriptor" discriminator-value="long">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.IntegerDescriptor" discriminator-value="int">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ShortDescriptor" discriminator-value="short">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ByteDescriptor" discriminator-value="byte">
- <property name="longVal" column="LONGVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.CollectionDescriptor" discriminator-value="coll">
- <property name="className" column="CLASSNAME_" />
- <list name="valueDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_DESCR_VALDESCR">
- <column name="VALUEDESCR_" index="IDX_DESCR_VALDESCR" />
- </key>
- <list-index column="VALUEDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.MapDescriptor" discriminator-value="map">
- <list name="keyDescriptors" cascade="all-delete-orphan">
- <key column="KEYDESCR_" foreign-key="FK_DESCR_KEYDESCR" />
- <list-index column="KEYDESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor" discriminator-value="list" />
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.SetDescriptor" discriminator-value="set" />
- </subclass>
-
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor" discriminator-value="object">
- <property name="className" column="TEXT_" />
- <property name="methodName" column="METHOD_" />
- <property name="isAutoWireEnabled" column="BOOLVAL_" />
- <property name="factoryObjectName" column="FACTORYNAME_" />
-
- <many-to-one name="factoryDescriptor" class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" column="FACTORYDESCR_"
- foreign-key="FK_DESCR_ARG_REF" index="IDX_DESCR_ARG_REF" cascade="all" />
-
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJARG_DESCR">
- <column name="OBJARG_DESCR_" index="IDX_OBJARG_DESCR" />
- </key>
- <list-index column="OBJARG_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
-
- <list name="operations" cascade="all-delete-orphan">
- <key foreign-key="FK_OBJOPER_DESCR">
- <column name="OBJOPER_DESCR_" index="IDX_OBJOPER_DESCR" />
- </key>
- <list-index column="OBJOPER_DESCR_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.operation.AbstractOperation" />
- </list>
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ExpressionDescriptor" discriminator-value="expr">
- <property name="expr" column="TEXT_" />
- <property name="lang" column="METHOD_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.ProvidedObjectDescriptor" discriminator-value="provided">
- <any name="providedObject" id-type="long" cascade="all">
- <column name="TEXT_" />
- <column name="LONGVAL_" />
- </any>
- <property name="exposeType" column="BOOLVAL_" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.descriptor.EnvDescriptor" discriminator-value="env">
- <property name="objectName" column="TEXT_" />
- <property name="typeName" column="CLASSNAME_" />
- </subclass>
-
- </class>
-
- <!-- ### OPERATIONS ##################################################### -->
- <class name="org.jbpm.pvm.internal.wire.operation.AbstractOperation" abstract="true"
- table="JBPM_OPERATION" discriminator-value="oper">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <discriminator column="CLASS_" />
- <version name="dbversion" column="DBVERSION_" />
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.FieldOperation"
- discriminator-value="field">
- <property name="fieldName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_OPER_DESC" index="IDX_OPER_DESC" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.PropertyOperation"
- discriminator-value="prop">
- <property name="setterName" column="TEXT_" />
- <many-to-one name="descriptor" column="DESCR_" cascade="all"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </subclass>
-
- <subclass name="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
- discriminator-value="invoke">
- <property name="methodName" column="TEXT_" />
- <list name="argDescriptors" cascade="all-delete-orphan">
- <key foreign-key="FK_ARGDSCR_OPER">
- <column name="OPER_" index="IDX_ARGDSCR_OPER" />
- </key>
- <list-index column="OPER_IDX_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" />
- </list>
- </subclass>
- </class>
-
- <!-- ### ARG DESCRIPTOR ################################################# -->
- <class name="org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor" table="JBPM_ARGDESCRIPTOR">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <property name="typeName" column="TYPENAME_" />
- <many-to-one name="descriptor" column="DESCRIPTOR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
- foreign-key="FK_ARGDESCR_DESCR" index="IDX_ARGDESCR_DESCR" cascade="all" />
- </class>
-
- <!-- ### PROPERTIES ##################################################### -->
- <class name="org.jbpm.pvm.internal.model.WireProperties" table="JBPM_WIREPROPS">
- <id name="dbid" column="DBID_">
- <generator class="native" />
- </id>
- <version name="dbversion" column="DBVERSION_" />
- <component name="wireContext" class="org.jbpm.pvm.internal.wire.WireContext">
- <component name="wireDefinition" class="org.jbpm.pvm.internal.wire.WireDefinition">
- <map name="descriptors" cascade="all-delete-orphan" lazy="false">
- <key foreign-key="FK_DESCR_PROPS">
- <column name="PROPS_" index="IDX_DESCR_PROPS" />
- </key>
- <map-key type="string" column="NAME_" />
- <one-to-many class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
- </map>
- </component>
- </component>
- </class>
-
-
- <!-- ### QUERIES ######################################################## -->
-
- <query name="findProcessDefinitionKeys">
- <![CDATA[
- select distinct process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- order by process.key asc
- ]]>
- </query>
-
- <query name="findProcessDefinitionsByKey">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- order by process.version desc
- ]]>
- </query>
-
- <query name="findProcessDefinitionById">
- <![CDATA[
- select process
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.id = :id
- ]]>
- </query>
-
- <query name="findProcessDefinitionKeysByName">
- <![CDATA[
- select process.key
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.name = :name
- ]]>
- </query>
-
- <query name="findProcessDefinitionNamesByKey">
- <![CDATA[
- select process.name
- from org.jbpm.pvm.internal.model.ProcessDefinitionImpl as process
- where process.key = :key
- ]]>
- </query>
-
-</hibernate-mapping>
\ No newline at end of file
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-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -63,7 +63,7 @@
<property name="transitionName" column="TRANSITION_" />
<subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
- <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+ <subclass name="HistoryDecisionInstanceImpl" discriminator-value="EXCL" />
</subclass>
<subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -1,7 +1,7 @@
<activities>
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
- <activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
+ <activity binding="org.jbpm.jpdl.internal.activity.DecisionBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
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-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -44,14 +44,14 @@
</id>
<discriminator column="CLASS_" />
<subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionConditionActivity" discriminator-value="excl-cond" />
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionExpressionActivity" discriminator-value="excl-expr">
<property name="expr" column="TEXT_" />
<property name="lang" column="TEXT2_" />
</subclass>
- <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
- <property name="exclusiveHandlerName" column="TEXT_" />
- <many-to-one name="exclusiveHandlerDescriptor"
+ <subclass name="org.jbpm.jpdl.internal.activity.DecisionHandlerActivity" discriminator-value="excl-handler">
+ <property name="decisionHandlerName" column="TEXT_" />
+ <many-to-one name="decisionHandlerDescriptor"
column="EXCLDESCR_"
cascade="all"
class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java 2009-04-13 08:59:29 UTC (rev 4542)
@@ -54,8 +54,8 @@
exclusiveThreadIds = new HashMap<String, Set<Long>>();
}
- public void testExclusiveMessageProcessing() {
- insertExclusiveTestMessages();
+ public void testDecisionMessageProcessing() {
+ insertDecisionTestMessages();
JobExecutor jobExecutor = processEngine.get(JobExecutor.class);
jobExecutor.start();
@@ -97,7 +97,7 @@
}
}
- public void insertExclusiveTestMessages() {
+ public void insertDecisionTestMessages() {
commandService.execute(new Command<Object>() {
public Object execute(Environment environment) throws Exception {
ProcessDefinitionImpl processDefinition = (ProcessDefinitionImpl) ProcessDefinitionBuilder
Modified: jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml
===================================================================
--- jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml 2009-04-10 15:36:35 UTC (rev 4541)
+++ jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml 2009-04-13 08:59:29 UTC (rev 4542)
@@ -20,10 +20,10 @@
<transition name="Supplier not ok" to="Error" />
</state>
- <exclusive name="Check supplier data">
+ <decision name="Check supplier data">
<transition name="nok" to="Error" />
<transition name="ok" to="Completed" />
- </exclusive>
+ </decision>
<end name="Completed" />
@@ -252,22 +252,22 @@
</section>
</section>
- <section id="exclusive">
- <title><literal>exclusive</literal></title>
- <para>Takes one path of many alternatives. Also known as a decision. An exclusive
- activity has multiple outgoing transitions and when an execution arrives in an exclusive
+ <section id="decision">
+ <title><literal>decision</literal></title>
+ <para>Takes one path of many alternatives. Also known as a decision. A decision
+ activity has multiple outgoing transitions and when an execution arrives in a decision
activity, an automatic evaluation will decide which outgoing transition is taken.
</para>
- <para>An exclusive activity should be configured in one of the three following ways:
+ <para>A decision activity should be configured in one of the three following ways:
</para>
- <section id="exclusiveconditions">
- <title>Exclusive conditions</title>
- <para>An exclusive with conditions on the transitions evaluates the condition in each transition.
+ <section id="decisionconditions">
+ <title>Decision conditions</title>
+ <para>A decision with conditions on the transitions evaluates the condition in each transition.
The first transition for which the nested condition expression resolves to true or which does
not have a condition is taken.
</para>
- <table><title><literal>exclusive.transition.condition</literal> attributes:</title>
+ <table><title><literal>decision.transition.condition</literal> attributes:</title>
<tgroup cols="5" rowsep="1" colsep="1">
<thead>
<row>
@@ -302,17 +302,17 @@
</table>
<para>Example:
</para>
- <figure id="process.exclusive.condition">
- <title>The exclusive conditions example process</title>
- <mediaobject><imageobject><imagedata align="center" fileref="images/process.exclusive.png"/></imageobject></mediaobject>
+ <figure id="process.decision.condition">
+ <title>The decision conditions example process</title>
+ <mediaobject><imageobject><imagedata align="center" fileref="images/process.decision.png"/></imageobject></mediaobject>
</figure>
- <programlisting><process name="ExclusiveConditions" >
+ <programlisting><process name="DecisionConditions" >
<start>
<transition to="evaluate document" />
</start>
- <exclusive name="evaluate document">
+ <decision name="evaluate document">
<transition to="submit document">
<emphasis role="bold"><condition expr="#{content=="good"}" /></emphasis>
</transition>
@@ -320,7 +320,7 @@
<emphasis role="bold"><condition expr="#{content=="not so good"}" /></emphasis>
</transition>
<transition to="give up" />
- </exclusive>
+ </decision>
<state name="submit document" />
@@ -331,12 +331,12 @@
</process></programlisting>
</section>
- <section id="exclusiveexpression">
- <title>Exclusive expression</title>
- <para>An exclusive expression evaluates to a String representing the name of
+ <section id="decisionexpression">
+ <title>Decision expression</title>
+ <para>A decision expression evaluates to a String representing the name of
an outgoing transition.
</para>
- <table><title><literal>exclusive</literal> attributes:</title>
+ <table><title><literal>decision</literal> attributes:</title>
<tgroup cols="5" rowsep="1" colsep="1">
<thead>
<row>
@@ -371,18 +371,18 @@
</table>
<para>Example:
</para>
- <figure id="process.exclusive.expression">
- <title>The exclusive expression example process</title>
- <mediaobject><imageobject><imagedata align="center" fileref="images/process.exclusive.png"/></imageobject></mediaobject>
+ <figure id="process.decision.expression">
+ <title>The decision expression example process</title>
+ <mediaobject><imageobject><imagedata align="center" fileref="images/process.decision.png"/></imageobject></mediaobject>
</figure>
<programlisting><process name="Poolcar">
<start>
<transition to="How far?" />
</start>
- <exclusive name="How far?" <emphasis role="bold">expr="#{distance}"</emphasis>>
+ <decision name="How far?" <emphasis role="bold">expr="#{distance}"</emphasis>>
<transition name="far" to="Big car" />
<transition name="nearby" to="Small car" />
- </exclusive>
+ </decision>
<state name="Big car" />
<state name="Small car" />
</process></programlisting>
@@ -394,17 +394,17 @@
<para>then the new execution will go to activity <literal>Big car</literal>.</para>
</section>
- <section id="exclusivehandler">
- <title>Exclusive handler</title>
- <para>An exclusive handler is a java class that implements the
- <literal>ExclusiveHandler</literal> interface. The exclusive handler
+ <section id="decisionhandler">
+ <title>Decision handler</title>
+ <para>A decision handler is a java class that implements the
+ <literal>DecisionHandler</literal> interface. The decision handler
will be responsible for selecting the name of the outgoing transition.
</para>
- <programlisting>public interface ExclusiveHandler {
+ <programlisting>public interface DecisionHandler {
String select(OpenExecution execution);
}</programlisting>
- <para>The handler is specified as a sub element of the exclusive</para>
- <table><title><literal>exclusive.handler</literal> attributes:</title>
+ <para>The handler is specified as a sub element of the decision</para>
+ <table><title><literal>decision.handler</literal> attributes:</title>
<tgroup cols="5" rowsep="1" colsep="1">
<thead>
<row>
@@ -427,23 +427,23 @@
</tbody>
</tgroup>
</table>
- <para>Here's an example process of an exclusive using an ExclusiveHandler:</para>
- <figure id="process.exclusive.handler">
- <title>The exclusive handler example process</title>
- <mediaobject><imageobject><imagedata align="center" fileref="images/process.exclusive.png"/></imageobject></mediaobject>
+ <para>Here's an example process of a decision using a DecisionHandler:</para>
+ <figure id="process.decision.handler">
+ <title>The decision handler example process</title>
+ <mediaobject><imageobject><imagedata align="center" fileref="images/process.decision.png"/></imageobject></mediaobject>
</figure>
- <programlisting><process name="ExclusiveHandler">
+ <programlisting><process name="DecisionHandler">
<start>
<transition to="evaluate document" />
</start>
- <exclusive name="evaluate document">
- <handler class="org.jbpm.examples.exclusive.handler.ContentEvaluation" />
+ <decision name="evaluate document">
+ <handler class="org.jbpm.examples.decision.handler.ContentEvaluation" />
<transition name="good" to="submit document" />
<transition name="bad" to="try again" />
<transition name="ugly" to="give up" />
- </exclusive>
+ </decision>
<state name="submit document" />
@@ -453,7 +453,7 @@
</process></programlisting>
<para>The ContentEvaluation class looks like this</para>
- <programlisting>public class ContentEvaluation implements ExclusiveHandler {
+ <programlisting>public class ContentEvaluation implements DecisionHandler {
public String select(OpenExecution execution) {
String content = (String) execution.getVariable("content");
More information about the jbpm-commits
mailing list