[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