[jbpm-commits] JBoss JBPM SVN: r4435 - in jbpm4/branches/tbaeyens/modules: examples/src/test/resources and 7 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Apr 3 16:46:41 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-04-03 16:46:41 -0400 (Fri, 03 Apr 2009)
New Revision: 4435
Added:
jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.eventlisteners.xml
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.cache.xml
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.definition.hbm.xml
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.eventlisteners.xml
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java
jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.cache.xml
jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.eventlisteners.xml
jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.cache.xml
jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.eventlisteners.xml
jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.cache.xml
jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.eventlisteners.xml
Removed:
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/Activities.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/ActivitiesParser.java
Modified:
jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EndBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ForkBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/HqlBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaActivity.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JoinBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java
jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
jbpm4/branches/tbaeyens/modules/test-load/src/test/java/org/jbpm/test/load/executions/ProcessExecutionTest.java
Log:
introducing event handler parsing
Modified: jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,5 +1,4 @@
<activities>
- <schema resource="jpdl.xsd" />
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
Added: jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.eventlisteners.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.eventlisteners.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.eventlisteners.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,3 @@
+<eventlisteners>
+ <eventlistener binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+</eventlisteners>
Property changes on: jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.eventlisteners.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.cache.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.cache.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,39 @@
+<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>
Property changes on: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.definition.hbm.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.definition.hbm.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,646 @@
+<?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
Property changes on: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,5 +1,4 @@
<activities>
- <schema resource="jpdl.xsd" />
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
Added: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.eventlisteners.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.eventlisteners.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.eventlisteners.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,3 @@
+<eventlisteners>
+ <eventlistener binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+</eventlisteners>
Property changes on: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/jbpm.jpdl.eventlisteners.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EndBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EndBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EndBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -30,7 +30,7 @@
/**
* @author Tom Baeyens
*/
-public class EndBinding extends JpdlActivityBinding {
+public class EndBinding extends JpdlBinding {
public EndBinding() {
super("end");
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/EsbBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -38,7 +38,7 @@
/**
* @author Tom Baeyens
*/
-public class EsbBinding extends JpdlActivityBinding {
+public class EsbBinding extends JpdlBinding {
public static final String TAG = "esb";
private static final WireParser wireParser = WireParser.getInstance();
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ExclusiveBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -40,7 +40,7 @@
/**
* @author Tom Baeyens
*/
-public class ExclusiveBinding extends JpdlActivityBinding {
+public class ExclusiveBinding extends JpdlBinding {
static ObjectBinding objectBinding = new ObjectBinding();
static WireParser wireParser = WireParser.getInstance();
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ForkBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ForkBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ForkBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -29,7 +29,7 @@
/**
* @author Tom Baeyens
*/
-public class ForkBinding extends JpdlActivityBinding {
+public class ForkBinding extends JpdlBinding {
public ForkBinding() {
super("fork");
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/HqlBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/HqlBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/HqlBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -36,7 +36,7 @@
/**
* @author Tom Baeyens
*/
-public class HqlBinding extends JpdlActivityBinding {
+public class HqlBinding extends JpdlBinding {
public static final String TAG = "hql";
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaActivity.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaActivity.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaActivity.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -25,6 +25,9 @@
import java.util.List;
import org.jbpm.activity.ActivityExecution;
+import org.jbpm.listener.EventListener;
+import org.jbpm.listener.EventListenerExecution;
+import org.jbpm.model.OpenExecution;
import org.jbpm.pvm.internal.util.ReflectUtil;
import org.jbpm.pvm.internal.wire.Descriptor;
import org.jbpm.pvm.internal.wire.WireContext;
@@ -37,7 +40,7 @@
/**
* @author Tom Baeyens
*/
-public class JavaActivity extends JpdlActivity {
+public class JavaActivity extends JpdlActivity implements EventListener {
private static final long serialVersionUID = 1L;
@@ -47,6 +50,15 @@
protected InvokeOperation invokeOperation;
public void execute(ActivityExecution execution) throws Exception {
+ perform(execution);
+ execution.historyAutomatic();
+ }
+
+ public void notify(EventListenerExecution execution) throws Exception {
+ perform(execution);
+ }
+
+ public void perform(OpenExecution execution) throws Exception {
WireContext wireContext = new WireContext();
Object target = wireContext.create(descriptor, false);
@@ -70,8 +82,6 @@
execution.setVariable(variableName, returnValue);
}
- execution.historyAutomatic();
-
} catch (WireException e) {
throw e;
} catch (Exception e) {
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JavaBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -36,7 +36,7 @@
/**
* @author Tom Baeyens
*/
-public class JavaBinding extends JpdlActivityBinding {
+public class JavaBinding extends JpdlBinding {
public static final String TAG = "java";
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JoinBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JoinBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JoinBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -29,7 +29,7 @@
/**
* @author Tom Baeyens
*/
-public class JoinBinding extends JpdlActivityBinding {
+public class JoinBinding extends JpdlBinding {
public JoinBinding() {
super("join");
Deleted: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,75 +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.jpdl.internal.xml.JpdlParser;
-import org.jbpm.jpdl.internal.xml.UnresolvedTransitions;
-import org.jbpm.pvm.internal.model.ActivityImpl;
-import org.jbpm.pvm.internal.model.TransitionImpl;
-import org.jbpm.pvm.internal.util.TagBinding;
-import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.pvm.internal.wire.xml.WireParser;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.w3c.dom.Element;
-
-
-/**
- * @author Tom Baeyens
- */
-public abstract class JpdlActivityBinding extends TagBinding {
-
- protected static final WireParser wireParser = JpdlParser.wireParser;
-
- public JpdlActivityBinding(String tagName) {
- super(tagName, "http://jbpm.org/4/jpdl", "activity");
- }
-
- public void parseName(Element element, ActivityImpl activity, Parse parse) {
- String name = XmlUtil.attribute(element, "name", isNameRequired(), parse);
-
- if (name!=null) {
- // basic name validation
- if ("".equals(name)) {
- parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "is empty"));
- } else if (name.indexOf('/')!=-1) {
- parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)"));
- }
- activity.setName(name);
- }
- }
-
- public boolean isNameRequired() {
- return true;
- }
-
- public void parseFlows(Element element, ActivityImpl activity, Parse parse) {
- List<Element> transitionElements = XmlUtil.elements(element, "transition");
- UnresolvedTransitions unresolvedTransitions = parse.findObject(UnresolvedTransitions.class);
- for (Element transitionElement: transitionElements) {
- String transitionName = XmlUtil.attribute(transitionElement, "name", false, parse);
- TransitionImpl transition = activity.createOutgoingTransition(transitionName);
- unresolvedTransitions.add(transition, transitionElement);
- }
- }
-}
Copied: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java (from rev 4406, jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlActivityBinding.java)
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java (rev 0)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,75 @@
+/*
+ * 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.jpdl.internal.xml.JpdlParser;
+import org.jbpm.jpdl.internal.xml.UnresolvedTransitions;
+import org.jbpm.pvm.internal.model.ActivityImpl;
+import org.jbpm.pvm.internal.model.TransitionImpl;
+import org.jbpm.pvm.internal.util.TagBinding;
+import org.jbpm.pvm.internal.util.XmlUtil;
+import org.jbpm.pvm.internal.wire.xml.WireParser;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public abstract class JpdlBinding extends TagBinding {
+
+ protected static final WireParser wireParser = JpdlParser.wireParser;
+
+ public JpdlBinding(String tagName) {
+ super(tagName, "http://jbpm.org/4/jpdl", null);
+ }
+
+ public void parseName(Element element, ActivityImpl activity, Parse parse) {
+ String name = XmlUtil.attribute(element, "name", isNameRequired(), parse);
+
+ if (name!=null) {
+ // basic name validation
+ if ("".equals(name)) {
+ parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "is empty"));
+ } else if (name.indexOf('/')!=-1) {
+ parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)"));
+ }
+ activity.setName(name);
+ }
+ }
+
+ public boolean isNameRequired() {
+ return true;
+ }
+
+ public void parseFlows(Element element, ActivityImpl activity, Parse parse) {
+ List<Element> transitionElements = XmlUtil.elements(element, "transition");
+ UnresolvedTransitions unresolvedTransitions = parse.findObject(UnresolvedTransitions.class);
+ for (Element transitionElement: transitionElements) {
+ String transitionName = XmlUtil.attribute(transitionElement, "name", false, parse);
+ TransitionImpl transition = activity.createOutgoingTransition(transitionName);
+ unresolvedTransitions.add(transition, transitionElement);
+ }
+ }
+}
Property changes on: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/JpdlBinding.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/ScriptBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -32,7 +32,7 @@
/**
* @author Tom Baeyens
*/
-public class ScriptBinding extends JpdlActivityBinding {
+public class ScriptBinding extends JpdlBinding {
private static final String TAG = "script";
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -31,7 +31,7 @@
/**
* @author Tom Baeyens
*/
-public class StartBinding extends JpdlActivityBinding {
+public class StartBinding extends JpdlBinding {
public StartBinding() {
super("start");
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -31,7 +31,7 @@
/**
* @author Tom Baeyens
*/
-public class StateBinding extends JpdlActivityBinding {
+public class StateBinding extends JpdlBinding {
public StateBinding() {
super("state");
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -30,7 +30,7 @@
/**
* @author Tom Baeyens
*/
-public class TaskBinding extends JpdlActivityBinding {
+public class TaskBinding extends JpdlBinding {
private static final String TAG = "task";
Deleted: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/Activities.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/Activities.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/Activities.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,38 +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.xml;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jbpm.pvm.internal.xml.Bindings;
-
-
-/**
- * @author Tom Baeyens
- */
-public class Activities {
-
- List<String> schemaResources = new ArrayList<String>();
- Bindings bindings = new Bindings();
-
-}
Deleted: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/ActivitiesParser.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/ActivitiesParser.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/ActivitiesParser.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,74 +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.xml;
-
-import org.jbpm.internal.log.Log;
-import org.jbpm.pvm.internal.util.ReflectUtil;
-import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.pvm.internal.xml.Binding;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-/**
- * @author Tom Baeyens
- */
-public class ActivitiesParser extends Parser {
-
- private static final Log log = Log.getLog(ActivitiesParser.class.getName());
-
- public Object parseDocumentElement(Element documentElement, Parse parse) {
- Activities activities = parse.findObject(Activities.class);
- if (activities==null) {
- activities = new Activities();
- }
- parse.setDocumentObject(activities);
-
- for (Element bindingElement : XmlUtil.elements(documentElement, "activity")) {
- Binding binding = instantiateBinding(bindingElement, parse);
- activities.bindings.addBinding(binding);
- }
-
- for (Element schemaElement : XmlUtil.elements(documentElement, "schema")) {
- String schemaResource = XmlUtil.attribute(schemaElement, "resource", true, parse);
- activities.schemaResources.add(schemaResource);
- }
-
- return activities;
- }
-
- protected Binding instantiateBinding(Element bindingElement, Parse parse) {
- String bindingClassName = XmlUtil.attribute(bindingElement, "binding", true, parse);
-
- log.trace("adding activity binding "+bindingClassName);
-
- if (bindingClassName!=null) {
- try {
- Class<?> bindingClass = ReflectUtil.loadClass(classLoader, bindingClassName);
- return (Binding) bindingClass.newInstance();
- } catch (Exception e) {
- parse.addProblem("couldn't instantiate activity binding "+bindingClassName, e);
- }
- }
- return null;
- }
-}
Copied: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java (from rev 4406, jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/ActivitiesParser.java)
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java (rev 0)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,69 @@
+/*
+ * 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.xml;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jbpm.internal.log.Log;
+import org.jbpm.pvm.internal.util.ReflectUtil;
+import org.jbpm.pvm.internal.util.XmlUtil;
+import org.jbpm.pvm.internal.xml.Binding;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+/**
+ * @author Tom Baeyens
+ */
+public class BindingsParser extends Parser {
+
+ private static final Log log = Log.getLog(BindingsParser.class.getName());
+
+ public Object parseDocumentElement(Element documentElement, Parse parse) {
+ List<Binding> bindings = new ArrayList<Binding>();
+ parse.setDocumentObject(bindings);
+
+ for (Element bindingElement : XmlUtil.elements(documentElement)) {
+ Binding binding = instantiateBinding(bindingElement, parse);
+ bindings.add(binding);
+ }
+
+ return bindings;
+ }
+
+ protected Binding instantiateBinding(Element bindingElement, Parse parse) {
+ String bindingClassName = XmlUtil.attribute(bindingElement, "binding", true, parse);
+
+ log.trace("adding jpdl binding "+bindingClassName);
+
+ if (bindingClassName!=null) {
+ try {
+ Class<?> bindingClass = ReflectUtil.loadClass(classLoader, bindingClassName);
+ return (Binding) bindingClass.newInstance();
+ } catch (Exception e) {
+ parse.addProblem("couldn't instantiate activity binding "+bindingClassName, e);
+ }
+ }
+ return null;
+ }
+}
Property changes on: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/BindingsParser.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -29,9 +29,12 @@
import org.jbpm.activity.ActivityBehaviour;
import org.jbpm.internal.log.Log;
-import org.jbpm.jpdl.internal.activity.JpdlActivityBinding;
+import org.jbpm.jpdl.internal.activity.JpdlBinding;
import org.jbpm.jpdl.internal.model.JpdlProcessDefinition;
+import org.jbpm.listener.EventListener;
import org.jbpm.pvm.internal.model.ActivityImpl;
+import org.jbpm.pvm.internal.model.EventImpl;
+import org.jbpm.pvm.internal.model.ObservableElementImpl;
import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
import org.jbpm.pvm.internal.task.AssignableDefinitionImpl;
import org.jbpm.pvm.internal.task.SwimlaneDefinitionImpl;
@@ -41,6 +44,7 @@
import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
import org.jbpm.pvm.internal.wire.operation.Operation;
import org.jbpm.pvm.internal.wire.xml.WireParser;
+import org.jbpm.pvm.internal.xml.Bindings;
import org.jbpm.pvm.internal.xml.Parse;
import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
@@ -59,18 +63,26 @@
"jbpm.user.activities.xml"
};
- static ActivitiesParser activityParser = new ActivitiesParser();
+ public static final String[] DEFAULT_EVENTLISTENERS_RESOURCES = new String[]{
+ "jbpm.jpdl.eventlisteners.xml",
+ "jbpm.user.eventlisteners.xml"
+ };
+ static BindingsParser bindingsParser = new BindingsParser();
+
public JpdlParser() {
initialize();
- Activities activitiesConfiguration = parseActivitiesConfiguration();
- setBindings(activitiesConfiguration.bindings);
- setSchemaResources(activitiesConfiguration.schemaResources);
+ parseBindings();
+
+ List<String> schemaResources = new ArrayList<String>();
+ schemaResources.add("jpdl.xsd");
+ setSchemaResources(schemaResources);
}
- protected Activities parseActivitiesConfiguration() {
- Activities activities = new Activities();
+ protected void parseBindings() {
+ Bindings bindings = new Bindings();
+ setBindings(bindings);
for (String activityResource: DEFAULT_ACTIVITIES_RESOURCES) {
Enumeration<URL> resourceUrls = ReflectUtil.getResources(null, activityResource);
@@ -78,18 +90,45 @@
while (resourceUrls.hasMoreElements()) {
URL resourceUrl = resourceUrls.nextElement();
log.trace("loading jpdl activities from resource: "+resourceUrl);
- activityParser.createParse()
+ List<JpdlBinding> activityBindings = (List<JpdlBinding>) bindingsParser.createParse()
.setUrl(resourceUrl)
- .pushObject(activities)
.execute()
- .checkProblems("jpdl activities from "+resourceUrl.toString());
+ .checkProblems("jpdl activities from "+resourceUrl.toString())
+ .getDocumentObject();
+
+ for (JpdlBinding binding: activityBindings) {
+ binding.setCategory("activity");
+ bindings.addBinding(binding);
+ }
+
}
} else {
log.trace("skipping unavailable jpdl activities resource: "+activityResource);
}
}
-
- return activities;
+
+ for (String eventListenerResource: DEFAULT_EVENTLISTENERS_RESOURCES) {
+ Enumeration<URL> resourceUrls = ReflectUtil.getResources(null, eventListenerResource);
+ if (resourceUrls.hasMoreElements()) {
+ while (resourceUrls.hasMoreElements()) {
+ URL resourceUrl = resourceUrls.nextElement();
+ log.trace("loading jpdl eventlisteners from resource: "+resourceUrl);
+ List<JpdlBinding> activityBindings = (List<JpdlBinding>) bindingsParser.createParse()
+ .setUrl(resourceUrl)
+ .execute()
+ .checkProblems("jpdl eventlisteners from "+resourceUrl.toString())
+ .getDocumentObject();
+
+ for (JpdlBinding binding: activityBindings) {
+ binding.setCategory("eventlistener");
+ bindings.addBinding(binding);
+ }
+
+ }
+ } else {
+ log.trace("skipping unavailable jpdl eventlistener resource: "+eventListenerResource);
+ }
+ }
}
public Object parseDocumentElement(Element documentElement, Parse parse) {
@@ -137,13 +176,15 @@
JpdlParser.parseAssignmentAttributes(swimlaneElement, swimlaneDefinition, parse);
}
}
-
+
+ parseEventListeners(documentElement, parse, processDefinition);
+
// activities
List<Element> elements = XmlUtil.elements(documentElement);
for (Element element: elements) {
- JpdlActivityBinding activityBinding = (JpdlActivityBinding) getBinding(element, "activity");
+ JpdlBinding activityBinding = (JpdlBinding) getBinding(element, "activity");
if (activityBinding!=null) {
- ActivityImpl activity = (ActivityImpl) processDefinition.createActivity();
+ ActivityImpl activity = processDefinition.createActivity();
parse.pushObject(activity);
try {
activity.setType(activityBinding.getTagName());
@@ -151,6 +192,9 @@
activityBinding.parseFlows(element, activity, parse);
ActivityBehaviour activityBehaviour = (ActivityBehaviour) activityBinding.parse(element, parse, this);
activity.setBehaviour(activityBehaviour);
+
+ parseEventListeners(element, parse, activity);
+
} finally {
parse.popObject();
}
@@ -175,6 +219,30 @@
return processDefinition;
}
+ public void parseEventListeners(Element element, Parse parse, ObservableElementImpl observableElement) {
+ // event listeners
+ List<Element> onElements = XmlUtil.elements(element, "on");
+ for (Element onElement: onElements) {
+ String eventName = XmlUtil.attribute(onElement, "event", true, parse);
+ if (eventName!=null) {
+ EventImpl event = observableElement.getEvent(eventName);
+ if (event==null) {
+ event = observableElement.createEvent(eventName);
+ }
+
+ for (Element eventListenerElement: XmlUtil.elements(onElement)) {
+ JpdlBinding eventBinding = (JpdlBinding) getBinding(eventListenerElement, "eventlistener");
+ if (eventBinding!=null) {
+ EventListener eventListener = (EventListener) eventBinding.parse(eventListenerElement, parse, this);
+ event.createEventListenerReference(eventListener);
+ } else {
+ log.debug("unrecognized event listener: "+XmlUtil.getTagLocalName(eventListenerElement));
+ }
+ }
+ }
+ }
+ }
+
public static void parseAssignmentAttributes(Element element, AssignableDefinitionImpl assignableDefinition, Parse parse) {
Element descriptionElement = XmlUtil.element(element, "description");
if (descriptionElement!=null) {
Added: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.cache.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.cache.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,39 @@
+<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>
Property changes on: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,646 @@
+<?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
Property changes on: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,5 +1,4 @@
<activities>
- <schema resource="jpdl.xsd" />
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
Added: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.eventlisteners.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.eventlisteners.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.eventlisteners.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,3 @@
+<eventlisteners>
+ <eventlistener binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+</eventlisteners>
Property changes on: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.eventlisteners.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/TagBinding.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -79,4 +79,13 @@
public String getNamespaceUri() {
return namespaceUri;
}
+ public void setCategory(String category) {
+ this.category = category;
+ }
+ public void setTagName(String tagName) {
+ this.tagName = tagName;
+ }
+ public void setNamespaceUri(String namespaceUri) {
+ this.namespaceUri = namespaceUri;
+ }
}
Added: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.cache.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.cache.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,39 @@
+<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>
Property changes on: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.definition.hbm.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.definition.hbm.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,646 @@
+<?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
Property changes on: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,5 +1,4 @@
<activities>
- <schema resource="jpdl.xsd" />
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
Added: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.eventlisteners.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.eventlisteners.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.eventlisteners.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,3 @@
+<eventlisteners>
+ <eventlistener binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+</eventlisteners>
Property changes on: jbpm4/branches/tbaeyens/modules/pvm/src/test/resources/jbpm.jpdl.eventlisteners.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.cache.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.cache.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,39 @@
+<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>
Property changes on: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.definition.hbm.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.definition.hbm.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,646 @@
+<?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
Property changes on: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -1,5 +1,4 @@
<activities>
- <schema resource="jpdl.xsd" />
<activity binding="org.jbpm.jpdl.internal.activity.StartBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.StateBinding" />
<activity binding="org.jbpm.jpdl.internal.activity.ExclusiveBinding" />
Added: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.eventlisteners.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.eventlisteners.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.eventlisteners.xml 2009-04-03 20:46:41 UTC (rev 4435)
@@ -0,0 +1,3 @@
+<eventlisteners>
+ <eventlistener binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+</eventlisteners>
Property changes on: jbpm4/branches/tbaeyens/modules/test-db/src/test/resources/jbpm.jpdl.eventlisteners.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: jbpm4/branches/tbaeyens/modules/test-load/src/test/java/org/jbpm/test/load/executions/ProcessExecutionTest.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/test-load/src/test/java/org/jbpm/test/load/executions/ProcessExecutionTest.java 2009-04-03 19:50:44 UTC (rev 4434)
+++ jbpm4/branches/tbaeyens/modules/test-load/src/test/java/org/jbpm/test/load/executions/ProcessExecutionTest.java 2009-04-03 20:46:41 UTC (rev 4435)
@@ -55,7 +55,7 @@
}
public void testExecuteProcesses() throws Exception {
- deployJpdlResource("org/jbpm/test/load/executions/process.jpdl.xml");
+ // deployJpdlResource("org/jbpm/test/load/executions/process.jpdl.xml");
startMeasuringTime();
More information about the jbpm-commits
mailing list