[jbpm-commits] JBoss JBPM SVN: r4269 - in jbpm4/trunk: bin and 105 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Mar 18 04:06:36 EDT 2009


Author: tom.baeyens at jboss.com
Date: 2009-03-18 04:06:35 -0400 (Wed, 18 Mar 2009)
New Revision: 4269

Added:
   jbpm4/trunk/bin/
   jbpm4/trunk/bin/test.distro.bat
   jbpm4/trunk/bin/test.distro.sh
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.properties
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cache/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cache/hashtable.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part1.jbpm.hibernate.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part2.jbpm.hibernate.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/db2.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/hsqldb.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/mysql.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/oracle.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/postgresql.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/sybase.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/db2.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.url.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/mysql.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/oracle.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/postgresql.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/sybase.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.identity.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/pvm.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.datasource.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.jdbc.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part1.persistence.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part2.persistence.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part3.persistence.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/jbpm.identity.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-hsqldb-ds.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-mysql-ds.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-oracle-ds.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-postgresql-ds.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-sybase-ds.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.local.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.remote.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.sar.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.standalone.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.current.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.default.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part1.jbpm.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part2.jbpm.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part3.jbpm.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part4.jbpm.cfg.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.cache.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.task.lifecycle.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.variable.types.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.local.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.remote.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.sar.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.standalone.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.exclude.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.include.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part1.jbpm.wire.bindings.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part2.jbpm.wire.bindings.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/jdbc.properties
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/log4j.xml
   jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/logging.properties
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbRemoteCommandService.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/wire/binding/EjbRemoteCommandServiceBinding.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/CommandDelegate.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ManagementFactoryImpl.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ModelAdaptor.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ProcessManagementImpl.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ServiceLocator.java
   jbpm4/trunk/modules/enterprise/src/main/resources/META-INF/services/
   jbpm4/trunk/modules/enterprise/src/main/resources/META-INF/services/org.jboss.bpm.console.server.integration.ManagementFactory
   jbpm4/trunk/modules/enterprise/src/main/resources/jboss-service.xml
   jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-roles.properties
   jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-users.properties
   jbpm4/trunk/modules/enterprise/src/main/resources/jbpm.cfg.xml
   jbpm4/trunk/modules/enterprise/src/test/resources/META-INF/
   jbpm4/trunk/modules/enterprise/src/test/resources/META-INF/application.xml
   jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/
   jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/jboss-web.xml
   jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/web.xml
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/Order.java
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/TaskAssigneeTest.java
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/candidates/
   jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/candidates/TaskCandidatesTest.java
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.hibernate.cfg.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.identity.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.lifecycle.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.variable.types.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.wire.bindings.xml
   jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/
   jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml
   jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/candidates/
   jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/candidates/process.jpdl.xml
   jbpm4/trunk/modules/integration/jboss4/.classpath
   jbpm4/trunk/modules/integration/jboss4/.project
   jbpm4/trunk/modules/integration/jboss5/.classpath
   jbpm4/trunk/modules/integration/jboss5/.project
   jbpm4/trunk/modules/integration/spi/.classpath
   jbpm4/trunk/modules/integration/spi/.project
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.hibernate.cfg.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.identity.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.lifecycle.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.variable.types.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.wire.bindings.xml
   jbpm4/trunk/modules/jpdl/src/test/resources/logging.properties
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/TakeTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/MembershipImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/SerializeInterceptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AuthenticationBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CommandServiceBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SerializeInterceptorBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.hibernate.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.lifecycle.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.variable.types.xml
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.wire.bindings.xml
   jbpm4/trunk/modules/test-db/src/test/
   jbpm4/trunk/modules/test-db/src/test/java/
   jbpm4/trunk/modules/test-db/src/test/java/org/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/StateTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/cfg/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/cfg/ConfigurationTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/FindExecutionTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/SignalExecutionTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/StartExecutionTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/AvgDurationTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ProcessInstanceHistoryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/mgmt/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessAttachmentsTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessServiceTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/SubTaskTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCommentsTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCreateUpdateDeleteTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskListTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskParticipationsTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/BasicVariablesTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/VariableBasicTypesTest.java
   jbpm4/trunk/modules/test-db/src/test/resources/
   jbpm4/trunk/modules/test-db/src/test/resources/META-INF/
   jbpm4/trunk/modules/test-db/src/test/resources/META-INF/persistence.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cache.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.hibernate.cfg.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.cfg.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.lifecycle.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.variable.types.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.wire.bindings.xml
   jbpm4/trunk/modules/test-db/src/test/resources/logging.properties
Removed:
   jbpm4/trunk/modules/config/
   jbpm4/trunk/modules/distro/src/main/resources/examples-hibernate.cfg.xml
   jbpm4/trunk/modules/examples/src/test/resources/examples-hibernate.cfg.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.common.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.db2.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.derby.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.firebird.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.hsqldb.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.ingres.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.interbase.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mckoi.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mssql.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mysql.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.oracle.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.postgresql.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sapdb.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sybase.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-hsqldb-ds.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-mysql-ds.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-oracle-ds.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-postgresql-ds.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-sybase-ds.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.cfg.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml
   jbpm4/trunk/modules/jpdl/src/main/resources/logging.properties
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AsyncCommandServiceBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/StandardCommandServiceBinding.java
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.history.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.default.lifecycle.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.hbm.xml
   jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/env/EnvironmentClassLoaderTest.java
   jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/spring/SpringTest.java
   jbpm4/trunk/modules/pvm/src/test/resources/META-INF/
   jbpm4/trunk/modules/pvm/src/test/resources/hibernate.properties
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/type/
   jbpm4/trunk/modules/test-db/src/main/
Modified:
   jbpm4/trunk/build.xml
   jbpm4/trunk/modules/api/pom.xml
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/Deployment.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/ProcessEngine.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java
   jbpm4/trunk/modules/api/src/main/resources/cfg.xsd
   jbpm4/trunk/modules/db/pom.xml
   jbpm4/trunk/modules/distro/pom.xml
   jbpm4/trunk/modules/distro/scripts/antrun-installer.xml
   jbpm4/trunk/modules/distro/scripts/assembly-deploy-artifacts.xml
   jbpm4/trunk/modules/distro/src/main/resources/installer/install-definition.xml
   jbpm4/trunk/modules/enterprise/pom.xml
   jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/EjbTimerSessionTest.java
   jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/TimerTest.java
   jbpm4/trunk/modules/examples/pom.xml
   jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml
   jbpm4/trunk/modules/examples/src/test/resources/logging.properties
   jbpm4/trunk/modules/integration/jboss4/
   jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/DeploymentAdaptor.java
   jbpm4/trunk/modules/jpdl/pom.xml
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/deploy/ParseJpdlDeployer.java
   jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/JpdlTestCase.java
   jbpm4/trunk/modules/log/pom.xml
   jbpm4/trunk/modules/pvm/pom.xml
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddReplyCommentCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeployCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/NewTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/CheckProcessDeployer.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/SaveDeployer.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateTaskDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryProcessInstanceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/GroupImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/UserImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessInstanceEndedSynchronization.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/stream/ByteArrayStreamInput.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/DeploymentImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/EnvironmentInterceptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ProcessServiceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskServiceImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/StandardTransactionInterceptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SaveBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/VersionTimestampPolicy.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateConfigurationDescriptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionDescriptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Binding.java
   jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/db/model/CommentDbTest.java
   jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/execution/PvmProcessExecutionTest.java
   jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/identity/IdentityTest.java
   jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/type/VariableAutoTypeResolutionTest.java
   jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/logging.properties
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/variables/custom.types.jbpm.cfg.xml
   jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java
   jbpm4/trunk/modules/test-db/.classpath
   jbpm4/trunk/modules/test-db/pom.xml
   jbpm4/trunk/modules/test-pojo/src/main/resources/logging.properties
   jbpm4/trunk/pom.xml
Log:
introducing config tool

Added: jbpm4/trunk/bin/test.distro.bat
===================================================================
--- jbpm4/trunk/bin/test.distro.bat	                        (rev 0)
+++ jbpm4/trunk/bin/test.distro.bat	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+set JBPM4_ROOT=c:\wsjbpm4\jbpm4
+set JBPM_VERSION=4.0.0-SNAPSHOT
+set JBOSS_PARENT=C:\Software
+set DOWNLOAD_DIR=C:\Downloads\jboss
+set JBOSS_VERSION=5.0.0.GA
+set CONTAINER=jboss500
+set DATABASE=hsqldb
+
+set JBOSS_DISTRO_FILE=C:\Downloads\jboss\jboss-%JBOSS_VERSION%.zip
+set JBOSS_HOME=C:\Software\jboss-%JBOSS_VERSION%
+
+cd %JBPM4_ROOT%
+cmd /C mvn -DskipTests -Pdistro -Ddatabase=%DATABASE% -Djbpm.target.container=%CONTAINER% -Djboss.home=%JBOSS_HOME% clean install
+rmdir /S /Q %JBOSS_HOME%
+unzip -q %JBOSS_DISTRO_FILE% -d c:\Software
+java -DTRACE -jar modules\distro\target\jbpm-installer-%JBPM_VERSION%.jar modules\distro\target\resources\auto-install-template.xml
+start "JBoss" %JBOSS_HOME%\bin\run.bat


Property changes on: jbpm4/trunk/bin/test.distro.bat
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/bin/test.distro.sh
===================================================================
--- jbpm4/trunk/bin/test.distro.sh	                        (rev 0)
+++ jbpm4/trunk/bin/test.distro.sh	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+JBPM4_ROOT=~/jbpm/jbpm4/branches/tbaeyens
+JBPM_VERSION=4.0.0-SNAPSHOT
+JBOSS_PARENT=~
+JBOSS_VERSION=4.2.3.GA
+DOWNLOAD_DIR=~/Descargas/jboss
+CONTAINER=jboss423
+DATABASE=hsqldb
+
+JBOSS_DISTRO_FILE=$DOWNLOAD_DIR/jboss-$JBOSS_VERSION.zip
+JBOSS_HOME=$JBOSS_PARENT/jboss-$JBOSS_VERSION
+
+rm -r $JBOSS_HOME
+unzip -q $JBOSS_DISTRO_FILE -d $JBOSS_PARENT
+cd $JBPM4_ROOT
+mvn -Pdistro -DskipTests -Dmaven.javadoc.skip=true -Ddatabase=$DATABASE -Djbpm.target.container=$CONTAINER -Djboss.home=$JBOSS_HOME install
+java -jar modules/distro/target/jbpm-installer-$JBPM_VERSION.jar modules/distro/target/resources/auto-install-template.xml
+$JBOSS_HOME/bin/run.sh > /dev/null &


Property changes on: jbpm4/trunk/bin/test.distro.sh
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/build.xml
===================================================================
--- jbpm4/trunk/build.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/build.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -57,19 +57,22 @@
     </antcall>
   </target>
 
-  <target name="distro.package">
-    <exec executable="${mvn.executable}" os="Windows Vista, Windows XP,Windows 2000,Windows 98">
-      <arg line="-DskipTests package assembly:assembly" />
+  <target name="distro.test" depends="distro.build, distro.install" />
+
+  <target name="distro.build">
+    <exec dir="." executable="cmd" os="Windows Vista, Windows XP,Windows 2000,Windows 98">
+      <arg line="/C ${mvn.executable} -Pdistro -Ddatabase=hsqldb -Djbpm.target.container=jboss500 -Djboss.home=${distro.installation.dir}/jbpm-${distro.version}/jboss-${distro.jboss.version}  clean install" />
     </exec>
-    <antcall target="show.html">
-      <param name="page" value="target/"/>
-    </antcall>
   </target>
 
   <target name="distro.install" >
     <delete dir="${distro.installation.dir}/jbpm-${distro.version}" />
     <unzip src="${distro.jboss}" dest="${distro.installation.dir}/jbpm-${distro.version}" />
-    <java jar="modules/distro/target/jbpm-installer-${distro.version}.jar" fork="true"/>
+    <java jar="modules/distro/target/jbpm-installer-${distro.version}.jar" fork="true">
+    	<arg value="modules/distro/target/resources/auto-install-template.xml" />
+  	</java>
+  	
+  	<!-- 
     <unzip src="${distro.eclipse}" dest="${distro.installation.dir}/jbpm-${distro.version}" />
     <exec executable="cmd" os="Windows Vista, Windows XP,Windows 2000,Windows 98">
       <arg line="/C start &quot;${distro.installation.dir}/jbpm-${distro.version}/eclipse/eclipse.exe&quot; &quot;-data&quot; &quot;${distro.installation.dir}/jbpm-${distro.version}/workspace&quot;" />
@@ -77,6 +80,7 @@
     <exec executable="cmd" os="Windows Vista, Windows XP,Windows 2000,Windows 98">
       <arg line="/C start &quot;${windows.browser}&quot; &quot;file://${distro.installation.dir}/jbpm-${distro.version}&quot;" />
     </exec>
+    -->
   </target>
 
   <target name="distro.eclipse.install">
@@ -115,8 +119,7 @@
       <param name="page" value="modules/userguide/target/docbook/publish/en/html_single/index.html"/>
     </antcall>
   </target>
-
-
+	
   <!-- HTML -->
   <target name="show.html">
     <fail message="property page has to be specified to use this target" unless="page" />
@@ -131,4 +134,38 @@
     </exec>
   </target>
 
+  <target name="update.configurations" description="update the pvm, jpdl, example and test-db test resources by running the config tool">
+    <ant antfile="modules/distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+      <property name="config.files.dir" value="${basedir}/modules/pvm/src/test/resources" />
+      <property name="tmp.dir" value="${basedir}/modules/pvm/target/config-tmp" />
+      <property name="jpdl" value="exclude" />
+    </ant>
+    <ant antfile="modules/distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+      <property name="config.files.dir" value="${basedir}/modules/jpdl/src/test/resources" />
+      <property name="tmp.dir" value="${basedir}/modules/jpdl/target/config-tmp" />
+    </ant>
+    <ant antfile="modules/distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+    	<property name="config.files.dir" value="${basedir}/modules/examples/src/test/resources" />
+      <property name="tmp.dir" value="${basedir}/modules/examples/target/config-tmp" />
+  	</ant>
+    <ant antfile="modules/distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+      <property name="config.files.dir" value="${basedir}/modules/test-db/src/test/resources" />
+      <property name="tmp.dir" value="${basedir}/modules/test-db/target/config-tmp" />
+    </ant>
+  </target>
+
+  <target name="test.configuration" description="create test configuration in target/config">
+    <ant antfile="modules/distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+      <property name="config.files.dir" value="${basedir}/target/config" />
+      <property name="tmp.dir" value="${basedir}/target/config.tmp" />
+    </ant>
+  </target>
+
+	<target name="db.create">
+		<fail unless="database" message="property database must be specified. E.g. ant -Ddatabase=oracle db.create"/>
+    <exec dir="modules/db" executable="${mvn.executable}">
+      <arg line="-Ddatabase=${database} clean install" />
+    </exec>
+	</target>
+
 </project>
\ No newline at end of file

Modified: jbpm4/trunk/modules/api/pom.xml
===================================================================
--- jbpm4/trunk/modules/api/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/api/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -11,7 +11,8 @@
 
 <!-- $Id$ -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  
+
+  <!-- Module info -->
   <modelVersion>4.0.0</modelVersion>
   <name>jBPM 4 - API</name>
   <groupId>org.jbpm.jbpm4</groupId>
@@ -26,16 +27,6 @@
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
-  <!-- Properties -->
-  <properties>
-  </properties>
-  
-  <!-- DependencyManagement -->
-  <dependencyManagement>
-    <dependencies>
-    </dependencies>
-  </dependencyManagement>
-  
   <!-- Dependencies -->
   <dependencies>
     <dependency>
@@ -44,56 +35,13 @@
     </dependency>
   </dependencies>
   
-  <!-- Plugins -->
-  <build>
-    <plugins>
-    </plugins>
-  </build>
-  
-  <!-- Reporting -->
-  <reporting>
-    <plugins>
-    </plugins>
-  </reporting>
-
+  <!-- Profiles -->
   <profiles>
     <profile>
-      <id>distro</id>
-      <properties>
-        <xsddocs>true</xsddocs>
-      </properties>
+      <id>apidocs</id>
       <build>
         <plugins>
           <plugin>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>package</phase>
-                <goals>
-                  <goal>javadoc</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <show>public</show>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>xsddocs</id>
-      <activation>
-        <os>
-          <family>Windows</family>
-        </os>
-        <property>
-          <name>xsddocs</name>
-        </property>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
             <artifactId>maven-antrun-plugin</artifactId>
             <executions>
               <execution>
@@ -104,7 +52,7 @@
                 </goals>
                 <configuration>
                   <tasks>
-                    <echo message="basedir: ${basedir}" />
+                    <echo message="creating schemadocs in ${basedir}/target/schemadocs" />
                     <mkdir dir="target/schemadocs" />
                     <taskdef name="xsddoc" classname="net.sf.xframe.xsddoc.Task" classpathref="maven.plugin.classpath" />
                     <xsddoc out="${basedir}/target/schemadocs" title="jBPM 4 Schema's" verbose="false">

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/Deployment.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/Deployment.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/Deployment.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -56,6 +56,7 @@
 public interface Deployment extends Serializable {
   
   Deployment setName(String name);
+  Deployment setTimestamp(long timestamp);
 
   Deployment addResource(String resource);
   Deployment addFile(File file);
@@ -70,8 +71,8 @@
   Deployment addDirectoryCanonical(String directory);
   Deployment addDirectory(File directory);
   Deployment addDirectoryCanonical(File directory);
-  Deployment addObject(String name, Object object);
-  
+  Deployment addProcessDefinition(ProcessDefinition processDefinition);
+
   Deployment setFileType(String fileName, String fileType);
 
   Deployment deploy();

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/ProcessEngine.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/ProcessEngine.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/ProcessEngine.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -37,7 +37,7 @@
   /** the {@link ProcessService process service} and supply some 
    * transactional resources.  The given transactional resources will only 
    * be associated to the returned process service.  */ 
-  ProcessService getProcessService(Map<String, Object> txResources);
+  ProcessService getProcessService(Map<String, Object> envObjects);
 
   /** the {@link ExecutionService execution service} that provides access
    * to the runtime executions repository. */ 
@@ -46,7 +46,7 @@
   /** the {@link ExecutionService execution service} and supply some 
    * transactional resources.  The given transactional resources will only 
    * be associated to the returned execution service.  */ 
-  ExecutionService getExecutionService(Map<String, Object> txResources);
+  ExecutionService getExecutionService(Map<String, Object> envObjects);
 
   /** the {@link HistoryService history service} that provides access
    * to the history executions repository. */ 
@@ -55,7 +55,7 @@
   /** the {@link HistoryService history service} that provides access
    * to the history executions repository. The given transactional resources will only 
    * be associated to the returned history service.  */ 
-  HistoryService getHistoryService(Map<String, Object> txResources);
+  HistoryService getHistoryService(Map<String, Object> envObjects);
 
   /** the {@link TaskService task service} that exposes the 
    * runtime human task lists. */ 
@@ -64,7 +64,7 @@
   /** the {@link TaskService task service} and supply some 
    * transactional resources.  The given transactional resources will only 
    * be associated to the returned task service.  */ 
-  TaskService getTaskService(Map<String, Object> txResources);
+  TaskService getTaskService(Map<String, Object> envObjects);
 
   /** the {@link ManagementService management service} that exposes the 
    * management operations to operators that have to keep the jBPM system 
@@ -74,7 +74,7 @@
   /** the {@link ManagementService management service} and supply some 
    * transactional resources.  The given transactional resources will only 
    * be associated to the returned management service. */ 
-  ManagementService getManagementService(Map<String, Object> txResources);
+  ManagementService getManagementService(Map<String, Object> envObjects);
 
   /** retrieve and object defined in the process engine by type */
   <T> T get(Class<T> type);

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -50,8 +50,9 @@
    * Use {@link #saveTask(Task)} to persist the task. */
   Task newTask(long parentTaskDbid);
 
-  /** Saves the given task to persistent storage. */
-  void saveTask(Task task);
+  /** Saves the given task to persistent storage. 
+   * @return the taskDbid */
+  long saveTask(Task task);
 
   /** Retrieves the task with the given identifier from persistent storage. 
    * If no task with the given identifier exists, 
@@ -65,7 +66,8 @@
   /** Removes the task with the given identifier from persistent storage. */
   void deleteTask(long taskDbid);
   
-  
+  /** Takes a task from the group task list to the current user's personal task list. */
+  void takeTask(long taskDbid);
 
   /** add a role to a given task.
    * @param identityRef wither a new {@link UserRef} or a new {@link GroupRef}  
@@ -99,7 +101,7 @@
    * in this swimlane. see {@link Participant} for default constants. */
   void removeSwimlaneParticipant(long szimlaneDbid, IdentityRef identityRef, String participation);
 
-
+  /** create a new query for tasks */
   TaskQuery createTaskQuery();
 
   /** retrieves the personal task of the given user, which might be different 

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -31,6 +31,7 @@
 import org.jbpm.model.OpenExecution;
 import org.jbpm.model.Transition;
 import org.jbpm.session.PvmDbSession;
+import org.jbpm.task.Task;
 
 
 /** view upon an {@link Execution path of execution} exposed to 
@@ -285,7 +286,7 @@
   void historyActivityEnd(String transitionName);
 
   /** marks the start of a user task for history purposes. */
-  void historyTaskStart(String assignee);
+  void historyTaskStart(Task task);
 
   /** marks the end of a user task for history purposes. */
   void historyTaskEnd(String outcome);

Modified: jbpm4/trunk/modules/api/src/main/resources/cfg.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/cfg.xsd	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/api/src/main/resources/cfg.xsd	2009-03-18 08:06:35 UTC (rev 4269)
@@ -997,26 +997,26 @@
         </complexType>
       </element>
     </choice>
-	    <attribute name="name" type="string">
-	      <annotation><documentation>Optional name of this hibernate session factory.
-	      Typically a session factory is looked up by type.  Only if multiple sessions 
-	      are declared, a name can be used to distinct them. 
-	      </documentation></annotation>
-	    </attribute>
+    <attribute name="name" type="string">
+      <annotation><documentation>Optional name of this hibernate session factory.
+      Typically a session factory is looked up by type.  Only if multiple sessions 
+      are declared, a name can be used to distinct them. 
+      </documentation></annotation>
+    </attribute>
     <attribute name="init" type="tns:initType" default="lazy">
       <annotation><documentation>Specifies when and how this object should be 
       initialized. Default is lazy.</documentation></annotation>
     </attribute>
-    <attribute name="class" type="string">
-      <annotation><documentation>Optional class of the hibernate configuration.  
-      By default org.hibernate.cfg.Configuration will be used.  This can be used 
-      to specify e.g. an AnnotationConfiguration.</documentation></annotation>
+    <attribute name="annotations">
+      <annotation><documentation>Indicates if annotations should be enabled or 
+      disabled.</documentation></annotation>
+      <simpleType>
+        <restriction base="string">
+          <enumeration value="enabled" />
+          <enumeration value="disabled" />
+        </restriction>
+      </simpleType>
     </attribute>
-    <attribute name="schema-operation" type="tns:hibernateSchemaOperationType">
-      <annotation><documentation>Optional schema operation to be applied when 
-      this configuration has been created.  By default, no schema operation will 
-      be applied.</documentation></annotation>
-    </attribute>
   </complexType>
 
   <complexType name="businessCalendarDayType">

Modified: jbpm4/trunk/modules/db/pom.xml
===================================================================
--- jbpm4/trunk/modules/db/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/db/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -11,6 +11,8 @@
 
 <!-- $Id: pom.xml 3010 2008-11-20 08:30:16Z tom.baeyens at jboss.com $ -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <!-- Module Info -->
   <modelVersion>4.0.0</modelVersion>
   <name>jBPM 4 - DB</name>
   <groupId>org.jbpm.jbpm4</groupId>
@@ -30,16 +32,8 @@
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-jpdl</artifactId>
-      <version>${version}</version>
     </dependency>
     <dependency>
-      <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-test-base</artifactId>
-      <version>${version}</version>
-    </dependency>
-
-    <!-- Database Driver Versions  -->
-    <dependency>
       <groupId>hsqldb</groupId>
       <artifactId>hsqldb</artifactId>
     </dependency>
@@ -55,140 +49,55 @@
       <groupId>net.sourceforge.jtds</groupId>
       <artifactId>jtds</artifactId>
     </dependency>   
-
   </dependencies>
-
-  <!-- Plugins -->
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>src/test/resources</directory>
-        <filtering>true</filtering>
-      </testResource>
-    </testResources>
-
-    <plugins>
-      <plugin>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>unpack.jbpm.db</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>unpack</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>org.jbpm.jbpm4</groupId>
-                  <artifactId>jbpm-jpdl</artifactId>
-                  <classifier>config</classifier>
-                  <overWrite>true</overWrite>
-                </artifactItem>
-              </artifactItems>
-              <excludeTransitive>true</excludeTransitive>
-              <outputDirectory>target/jpdl-config</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>install.hibernate.database.properties</id>
-            <phase>generate-test-resources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <copy file="target/jpdl-config/hibernate.cfg.${database}.xml"
-                      tofile="target/test-classes/hibernate.cfg.xml"
-                      overwrite="true" />
-              </tasks>
-            </configuration>
-          </execution>
-          <execution>
-            <id>generate-db-scripts</id>
-            <phase>process-resources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
-                <ant antfile="src/main/ant/build.schema.xml" target="create-schema" />
-              </tasks>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
+  
   <profiles>
     <profile>
-      <id>drop-tables</id>
+      <id>database</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
       <build>
         <plugins>
+          <!-- Get Libs -->
           <plugin>
-            <artifactId>maven-antrun-plugin</artifactId>
+            <artifactId>maven-dependency-plugin</artifactId>
             <executions>
               <execution>
-                <id>create-drop-tables</id>
-                <phase>pre-integration-test</phase>
+                <id>get.config.tool</id>
+                <phase>generate-resources</phase>
                 <goals>
-                  <goal>run</goal>
+                  <goal>copy-dependencies</goal>
                 </goals>
                 <configuration>
-                  <tasks>
-                    <!-- Implicit reference to all command line switches, i.e. -Ddatabase=xyz -->
-                    <property name="compile_classpath" refid="maven.compile.classpath"/>
-                    <property name="runtime_classpath" refid="maven.runtime.classpath"/>
-                    <property name="test_classpath" refid="maven.test.classpath"/>
-                    <property name="plugin_classpath" refid="maven.plugin.classpath"/>
-
-                    <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
-                    <ant antfile="target/test-classes/antrun-create_drop.xml" target="drop-tables" />
-                  </tasks>
+                  <outputDirectory>target/libs</outputDirectory>
                 </configuration>
               </execution>
             </executions>
           </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <profile>
-      <id>create-tables</id>
-      <build>
-        <plugins>
+          <!-- Execute config tool -->
           <plugin>
             <artifactId>maven-antrun-plugin</artifactId>
             <executions>
               <execution>
-                <id>create-drop-tables</id>
-                <phase>pre-integration-test</phase>
+                <id>drop.create.db</id>
+                <phase>process-resources</phase>
                 <goals>
                   <goal>run</goal>
                 </goals>
                 <configuration>
                   <tasks>
-                    <!-- Implicit reference to all command line switches, i.e. -Ddatabase=xyz -->
-                    <property name="compile_classpath" refid="maven.compile.classpath"/>
-                    <property name="runtime_classpath" refid="maven.runtime.classpath"/>
-                    <property name="test_classpath" refid="maven.test.classpath"/>
-                    <property name="plugin_classpath" refid="maven.plugin.classpath"/>
-
-                    <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
-                    <ant antfile="target/test-classes/antrun-create_drop.xml" target="create-tables" />                    
+                    <ant antfile="../distro/src/main/resources/config-tool/build.xml" 
+                         target="db.drop.create" 
+                         inheritall="false">
+                      <property name="database" value="${database}" />
+                      <property name="config.files.dir" value="${basedir}/target/config.tool/config.files" />
+                      <property name="tmp.dir" value="${basedir}/target/config.tool/tmp" />
+                      <property name="db.scripts.dir" value="${basedir}/target/config.tool/db.scripts" />
+                      <property name="libs.dir" value="${basedir}/target/libs" />
+                    </ant>
                   </tasks>
                 </configuration>
               </execution>
@@ -197,31 +106,6 @@
         </plugins>
       </build>
     </profile>
-
-    <!-- -Ddatabase=oracle -->
-    <profile>
-      <id>oracle</id>
-      <activation>
-        <property>
-          <name>database</name>
-          <value>oracle</value>
-        </property>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>com.oracle</groupId>
-          <artifactId>ojdbc14</artifactId>
-          <version>${oracle.version}</version>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-      <repositories>
-        <repository>
-          <id>qa.jboss.com</id>
-          <url>http://www.qa.jboss.com/jdbc-drivers/maven2</url>
-        </repository>
-      </repositories>
-    </profile>
   </profiles>
 
 </project>
\ No newline at end of file

Modified: jbpm4/trunk/modules/distro/pom.xml
===================================================================
--- jbpm4/trunk/modules/distro/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/distro/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -29,70 +29,61 @@
   <dependencies>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-gpd</artifactId>
-      <type>zip</type>
+      <artifactId>jbpm-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-api</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-enterprise</artifactId>
+      <classifier>config</classifier>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-log</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-examples</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-pvm</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-enterprise</artifactId>      
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jpdl</artifactId>
+      <artifactId>jbpm-jboss4</artifactId>
       <version>${version}</version>
     </dependency>
-    <dependency>
+     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jpdl</artifactId>
+      <artifactId>jbpm-jboss4</artifactId>
       <classifier>config</classifier>
       <version>${version}</version>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-db</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-jboss5</artifactId>
     </dependency>
+     <dependency>
+      <groupId>org.jbpm.jbpm4</groupId>
+      <artifactId>jbpm-jboss5</artifactId>
+      <classifier>config</classifier>
+    </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-enterprise</artifactId>      
-      <version>${version}</version>
+      <artifactId>jbpm-jpdl</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-enterprise</artifactId>
-      <classifier>config</classifier>
-      <version>${version}</version>
+      <artifactId>jbpm-gpd</artifactId>
+      <type>zip</type>
     </dependency>
-
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-examples</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-log</artifactId>
     </dependency>
-       
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-test-db</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-pvm</artifactId>
     </dependency>
-
-    <!-- server integration -->
-
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-spi</artifactId>
-      <version>${version}</version>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
@@ -102,34 +93,17 @@
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jboss5</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-test-db</artifactId>
     </dependency>
-     <dependency>
-      <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jboss5</artifactId>
-      <classifier>config</classifier>
-      <version>${version}</version>
-    </dependency>
+
     <dependency>
-      <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jboss4</artifactId>
-      <version>${version}</version>
+      <groupId>hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+      <scope>test</scope>
     </dependency>
-     <dependency>
-      <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jboss4</artifactId>
-      <classifier>config</classifier>
-      <version>${version}</version>
-    </dependency>
 
     <!-- GWT Console -->
     <dependency>
-      <artifactId>jbpm-console-integration</artifactId>
-      <groupId>org.jbpm.jbpm4</groupId>
-      <version>${version}</version>
-    </dependency>
-    <dependency>
       <groupId>org.jboss.bpm</groupId>
       <artifactId>gwt-console</artifactId>
       <type>war</type>
@@ -149,6 +123,11 @@
       <scope>provided</scope>
     </dependency>
 
+    <dependency>
+      <groupId>org.jboss.identity</groupId>
+      <artifactId>idm</artifactId>
+    </dependency>
+
     <!-- Please sort by groupid -->
     <dependency>
       <groupId>org.apache.ant</groupId>
@@ -225,6 +204,8 @@
                 <property name="product.short.name" value="${artifactId}" />
                 <property name="product.version" value="${project.version}" />
                 <property name="user.home" value="${user.home}" />
+                <property name="user.dir" value="${user.dir}" />
+                
                 <ant antfile="scripts/antrun-installer.xml" target="build-installer" />
               </tasks>
             </configuration>

Modified: jbpm4/trunk/modules/distro/scripts/antrun-installer.xml
===================================================================
--- jbpm4/trunk/modules/distro/scripts/antrun-installer.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/distro/scripts/antrun-installer.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -12,36 +12,6 @@
 <!-- $Id: antrun-installer.xml 3319 2008-12-10 14:29:01Z thomas.diesler at jboss.com $ -->
 <project>
 
-  <macrodef name="macro-disable">
-    <attribute name="file" />
-    <attribute name="section" />
-    <sequential>
-      <replace file="@{file}" summary="true">
-        <replacetoken><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) -->]]></replacetoken>
-        <replacevalue><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) ===]]></replacevalue>
-      </replace>
-      <replace file="@{file}" summary="true">
-        <replacetoken><![CDATA[<!-- ]]>@{section}<![CDATA[ (end) -->]]></replacetoken>
-        <replacevalue><![CDATA[==== ]]>@{section}<![CDATA[ (end) -->]]></replacevalue>
-      </replace>
-    </sequential>
-  </macrodef>
-
-  <macrodef name="macro-enable">
-    <attribute name="file" />
-    <attribute name="section" />
-    <sequential>
-      <replace file="@{file}" summary="true">
-        <replacetoken><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) ===]]></replacetoken>
-        <replacevalue><![CDATA[<!-- ]]>@{section}<![CDATA[ (begin) -->]]></replacevalue>
-      </replace>
-      <replace file="@{file}" summary="true">
-        <replacetoken><![CDATA[==== ]]>@{section}<![CDATA[ (end) -->]]></replacetoken>
-        <replacevalue><![CDATA[<!-- ]]>@{section}<![CDATA[ (end) -->]]></replacevalue>
-      </replace>
-    </sequential>
-  </macrodef>
-
   <!-- ================================================================== -->
   <!-- Setup                                                              -->
   <!-- ================================================================== -->
@@ -56,44 +26,88 @@
   <!-- Initialization                                                     -->
   <!-- ================================================================== -->
   <target name="init">
-
   </target>
 
   <!-- ================================================================== -->
   <!-- Configuration                                                     -->
   <!-- ================================================================== -->
   <target name="configure" depends="init">
+    <mkdir dir="${deploy.artifacts.dir}/resources/hsqldb" />
 
-    <property name="hsqldb.cfg.xml" value="${deploy.artifacts.resources}/jbpm-jpdl-config/hibernate.cfg.hsqldb.xml"/>
-    <macro-disable file="${hsqldb.cfg.xml}" section="JDBC connection properties"/>
-    <macro-disable file="${hsqldb.cfg.xml}" section="Automatic schema creation"/>
-    <macro-enable file="${hsqldb.cfg.xml}" section="DataSource properties"/>
-    <macro-enable file="${hsqldb.cfg.xml}" section="JTA transaction properties"/>
+    <echo message="creating hsqldb db" />
 
-    <property name="mysql.cfg.xml" value="${deploy.artifacts.resources}/jbpm-jpdl-config/hibernate.cfg.mysql.xml"/>
-    <macro-disable file="${mysql.cfg.xml}" section="JDBC connection properties"/>
-    <macro-disable file="${mysql.cfg.xml}" section="Automatic schema creation"/>
-    <macro-enable file="${mysql.cfg.xml}" section="DataSource properties"/>
-    <macro-enable file="${mysql.cfg.xml}" section="JTA transaction properties"/>
+    <echo message="USER DIR: ${user.dir}/target/db" />
+    <mkdir dir="${user.dir}/target/db" />
+    
+    <ant antfile="src/main/resources/config-tool/build.xml" 
+    	   target="db.create" 
+    	   inheritall="false">
+      <property name="database" value="hsqldb.url" />
+      <property name="jdbc.hsqldb.url" value="jdbc:hsqldb:file:target/db/jbpm4DB" />
+      <property name="config.files.dir" value="${deploy.artifacts.resources}/jbpm-hsqldb-config" />
+      <property name="db.scripts.dir" value="${output.dir}/config.tool.tmp/hsqldb.scripts" />
+      <property name="tmp.dir" value="${output.dir}/config.tool.tmp" />
+      <property name="libs.dir" value="${deploy.artifacts.dir}/lib" />
+    </ant>
 
-    <property name="postgresql.cfg.xml" value="${deploy.artifacts.resources}/jbpm-jpdl-config/hibernate.cfg.postgresql.xml"/>
-    <macro-disable file="${postgresql.cfg.xml}" section="JDBC connection properties"/>
-    <macro-disable file="${postgresql.cfg.xml}" section="Automatic schema creation"/>
-    <macro-enable file="${postgresql.cfg.xml}" section="DataSource properties"/>
-    <macro-enable file="${postgresql.cfg.xml}" section="JTA transaction properties"/>
+    <sql driver="org.hsqldb.jdbcDriver"
+        url="jdbc:hsqldb:file:target/db/jbpm4DB"
+        userid="sa"
+        password=""
+        onerror="continue">
+      <transaction>SHUTDOWN</transaction>
+      <classpath>
+        <fileset dir="${deploy.artifacts.dir}/lib">
+          <include name="*.jar"/>
+        </fileset>
+      </classpath>
+    </sql>
 
-    <property name="oracle.cfg.xml" value="${deploy.artifacts.resources}/jbpm-jpdl-config/hibernate.cfg.oracle.xml"/>
-    <macro-disable file="${oracle.cfg.xml}" section="JDBC connection properties"/>
-    <macro-disable file="${oracle.cfg.xml}" section="Automatic schema creation"/>
-    <macro-enable file="${oracle.cfg.xml}" section="DataSource properties"/>
-    <macro-enable file="${oracle.cfg.xml}" section="JTA transaction properties"/>
+    <mkdir dir="${deploy.artifacts.dir}/resources/hsqldb" />
+    <copy todir="${deploy.artifacts.dir}/resources/hsqldb">
+      <fileset dir="${user.dir}/target/db" />
+    </copy>
 
-    <property name="sybase.cfg.xml" value="${deploy.artifacts.resources}/jbpm-jpdl-config/hibernate.cfg.sybase.xml"/>
-    <macro-disable file="${sybase.cfg.xml}" section="JDBC connection properties"/>
-    <macro-disable file="${sybase.cfg.xml}" section="Automatic schema creation"/>
-    <macro-enable file="${sybase.cfg.xml}" section="DataSource properties"/>
-    <macro-enable file="${sybase.cfg.xml}" section="JTA transaction properties"/>
+    
+    <echo message="creating db configurations" />
+    <ant antfile="src/main/resources/config-tool/build.xml" target="create.db.scripts" inheritall="false">
+      <property name="database" value="hsqldb" />
+      <property name="connection.type" value="datasource" />
+      <property name="deployment.type" value="sar" />
+      <property name="hibernate.session" value="current" />
+      <property name="config.files.dir" value="${deploy.artifacts.resources}/jbpm-hsqldb-config" />
+      <property name="db.scripts.dir" value="${deploy.artifacts.dir}/db.scripts" />
+      <property name="tmp.dir" value="${output.dir}/config.tool.tmp" />
+      <property name="libs.dir" value="${deploy.artifacts.dir}/lib" />
+    </ant>
+    <ant antfile="src/main/resources/config-tool/build.xml" target="create.db.scripts" inheritall="false">
+      <property name="database" value="mysql" />
+      <property name="connection.type" value="datasource" />
+      <property name="deployment.type" value="sar" />
+      <property name="hibernate.session" value="current" />
+      <property name="config.files.dir" value="${deploy.artifacts.resources}/jbpm-mysql-config" />
+      <property name="db.scripts.dir" value="${deploy.artifacts.dir}/db.scripts" />
+      <property name="tmp.dir" value="${output.dir}/config.tool.tmp" />
+      <property name="libs.dir" value="${deploy.artifacts.dir}/lib" />
+    </ant>
+    <ant antfile="src/main/resources/config-tool/build.xml" target="create.db.scripts" inheritall="false">
+      <property name="database" value="oracle" />
+      <property name="connection.type" value="datasource" />
+      <property name="deployment.type" value="sar" />
+      <property name="hibernate.session" value="current" />
+      <property name="config.files.dir" value="${deploy.artifacts.resources}/jbpm-oracle-config" />
+      <property name="db.scripts.dir" value="${deploy.artifacts.dir}/db.scripts" />
+      <property name="tmp.dir" value="${output.dir}/config.tool.tmp" />
+      <property name="libs.dir" value="${deploy.artifacts.dir}/lib" />
+    </ant>
 
+
+    <!-- the next copy depends on previous config-tool execution -->
+    <mkdir dir="${deploy.artifacts.dir}/resources/datasources" />
+    <copy todir="${deploy.artifacts.dir}/resources/datasources">
+      <fileset dir="${output.dir}/config.tool.tmp/resolved/jboss/datasource"/>
+    </copy>
+
     <condition property="database.is.hsqldb" value="true" else="false">
       <equals arg1="${database}" arg2="hsqldb"/>
     </condition>
@@ -144,8 +158,11 @@
 
     <!-- Run installer build -->
     <echo message="Running IzPack to build the installer..." />
-    <izpack input="${resources.dir}/installer/install-definition.xml" output="${output.dir}/jbpm-installer-${product.version}.jar"
-      installerType="standard" inheritAll="true" basedir="${izpack.temp.dir}" />
+    <izpack input="${resources.dir}/installer/install-definition.xml" 
+            output="${output.dir}/jbpm-installer-${product.version}.jar"
+            installerType="standard" 
+            inheritAll="true" 
+            basedir="${izpack.temp.dir}" />
 
     <!-- Clean working directory -->
     <delete dir="${izpack.temp.dir}" quiet="true" includeemptydirs="true" />

Modified: jbpm4/trunk/modules/distro/scripts/assembly-deploy-artifacts.xml
===================================================================
--- jbpm4/trunk/modules/distro/scripts/assembly-deploy-artifacts.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/distro/scripts/assembly-deploy-artifacts.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -41,14 +41,6 @@
     </dependencySet>
     <!-- resources -->
     <dependencySet>
-      <outputDirectory>resources/jbpm-jpdl-config</outputDirectory>
-      <useStrictFiltering>true</useStrictFiltering>
-      <includes>
-        <include>*:jbpm-jpdl:jar:config</include>
-      </includes>
-      <unpack>true</unpack>
-    </dependencySet>
-    <dependencySet>
       <outputDirectory>resources/jbpm-enterprise-config</outputDirectory>
       <useStrictFiltering>true</useStrictFiltering>
       <includes>
@@ -80,14 +72,6 @@
       </includes>
       <unpack>true</unpack>
     </dependencySet>
-     <dependencySet>
-      <outputDirectory>resources/jbpm-db</outputDirectory>
-      <useStrictFiltering>true</useStrictFiltering>
-      <includes>
-        <include>*:jbpm-db:jar:*</include>
-      </includes>
-      <unpack>true</unpack>
-    </dependencySet>
   </dependencySets>
 
   <fileSets>
@@ -109,14 +93,6 @@
       <outputDirectory>doc/schemadoc</outputDirectory>
     </fileSet>
     <fileSet>
-      <directory>../db/target/create</directory>
-      <outputDirectory>db/create</outputDirectory>
-    </fileSet>
-    <fileSet>
-      <directory>../db/target/drop</directory>
-      <outputDirectory>db/drop</outputDirectory>
-    </fileSet>
-    <fileSet>
       <directory>../devguide/target/docbook/publish/en</directory>
       <outputDirectory>doc/devguide</outputDirectory>
       <excludes>

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.properties
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.properties	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,16 @@
+
+config.files.dir=config.files
+db.scripts.dir=db.scripts
+tmp.dir=tmp.files
+libs.dir=../../lib
+
+database=hsqldb
+
+cache=hashtable
+connection.type=jdbc
+deployment.type=standalone
+hibernate.session=default
+jpdl=include
+identity=include
+format.sql=include
+log.cfg=logging.properties

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,263 @@
+
+<project name="jbpm.config.tool" default="create.configuration.files" basedir=".">
+
+	<!-- input properties -->
+  <property file="build.properties" />
+
+	<!-- derived properties -->
+  <property name="resolved.dir" value="${tmp.dir}/resolved" />
+
+  <condition property="is.jpdl.included">
+    <equals arg1="${jpdl}" arg2="include" />
+  </condition>
+	
+  <!-- condition property="is.identity.included">
+    <equals arg1="${identity}" arg2="include" />
+  </condition -->
+	
+  <!-- public targets -->
+
+  <target name="create.configuration.files" 
+  	      depends="internal.prepare"
+	        description="creates a full set of jbpm configuration files">
+
+  	<concat destfile="${config.files.dir}/jbpm.hibernate.cfg.xml">
+      <filelist dir="${resolved.dir}">
+        <file name="hibernate/cfg/part1.jbpm.hibernate.cfg.xml" />
+        <file name="hibernate/${connection.type}/${database}.xml"/>
+        <file name="hibernate/other/format.sql.${format.sql}.xml"/>
+        <file name="hibernate/cache/${cache}.xml"/>
+        <file name="hibernate/mapping.references/pvm.xml"/>
+        <file name="hibernate/mapping.references/jpdl.${jpdl}.xml"/>
+        <file name="hibernate/mapping.references/identity.${identity}.xml"/>
+        <file name="hibernate/cfg/part2.jbpm.hibernate.cfg.xml" />
+      </filelist>
+    </concat>
+
+    <copy todir="${config.files.dir}">
+      <fileset dir="hibernate/mapping.files">
+        <exclude name="jbpm.jpdl.hbm.xml" />
+        <exclude name="jbpm.jpdl.activities.xml" />
+      </fileset>
+    </copy>
+    <copy todir="${config.files.dir}">
+      <fileset dir="jbpm">
+        <include name="*.xml" />
+      </fileset>
+    </copy>
+
+    <concat destfile="${config.files.dir}/jbpm.cfg.xml">
+      <filelist dir=".">
+        <file name="jbpm/cfg/part1.jbpm.cfg.xml" />
+        <file name="jbpm/cfg/identity.service.${identity}.xml" />
+        <file name="jbpm/cfg/command.service.${deployment.type}.xml" />
+        <file name="jbpm/cfg/part2.jbpm.cfg.xml" />
+      	<!-- file name="jbpm/cfg/identity.session.factory.${identity}.xml" / -->
+        <file name="jbpm/cfg/jpdl.deployers.${jpdl}.xml" />
+        <file name="jbpm/cfg/part3.jbpm.cfg.xml" />
+        <file name="jbpm/cfg/hibernate.session.${hibernate.session}.xml" />
+        <file name="jbpm/cfg/identity.session.${identity}.xml" />
+        <file name="jbpm/cfg/part4.jbpm.cfg.xml" />
+      </filelist>
+    </concat>
+  	<copy todir="${config.files.dir}">
+  		<fileset dir="log">
+  			<include name="${log.cfg}" />
+  		</fileset>
+    </copy>
+
+    <concat destfile="${config.files.dir}/jbpm.wire.bindings.xml">
+      <filelist dir=".">
+        <file name="jbpm/wire.bindings/part1.jbpm.wire.bindings.xml" />
+        <file name="jbpm/wire.bindings/jpdl.${jpdl}.xml"/>
+        <file name="jbpm/wire.bindings/deployment.type.${deployment.type}.xml"/>
+        <file name="jbpm/wire.bindings/part2.jbpm.wire.bindings.xml" />
+      </filelist>
+    </concat>
+
+    <antcall target="internal.jpdl.hibernate.mapping.files" />
+    <!-- antcall target="internal.identity.config.files" / -->
+  	<antcall target="internal.jdk.logging" />
+  	
+  	<echo>Created jbpm configuration files in ${config.files.dir}</echo>
+  </target>
+
+  <target name="create.remote.configuration" 
+          depends="internal.prepare"
+          description="creates a jbpm.cfg.xml that connects to a remote jboss">
+    <delete>
+      <fileset dir="${config.files.dir}">
+        <include name="jbpm.*.xml" />
+      </fileset>
+    </delete>
+    <concat destfile="${config.files.dir}/jbpm.wire.bindings.xml">
+      <filelist dir=".">
+        <file name="jbpm/wire.bindings/part1.jbpm.wire.bindings.xml" />
+        <file name="jbpm/wire.bindings/jpdl.${jpdl}.xml"/>
+        <file name="jbpm/wire.bindings/deployment.type.ejb.remote.xml" />
+        <file name="jbpm/wire.bindings/part2.jbpm.wire.bindings.xml" />
+      </filelist>
+    </concat>
+    <concat destfile="${config.files.dir}/jbpm.cfg.xml">
+      <filelist dir="${resolved.dir}">
+        <file name="jbpm/cfg/part1.jbpm.cfg.xml" />
+        <file name="jbpm/cfg/identity.service.${identity}.xml" />
+        <file name="jbpm/cfg/command.service.ejb.remote.xml" />
+      </filelist>
+    </concat>
+    <echo>Created remote jbpm configuration files in ${config.files.dir}</echo>
+  </target>
+
+  <target name="create.db.scripts" 
+          depends="create.configuration.files" 
+          description="create ddl scripts for creating the db">
+    
+    <mkdir dir="${db.scripts.dir}" />
+
+    <taskdef name="schemaexport"
+             classname="org.hibernate.tool.hbm2ddl.SchemaExportTask">
+      <classpath>
+        <pathelement location="${config.files.dir}" />
+        <fileset dir="${libs.dir}">
+          <include name="*.jar"/>
+        </fileset>
+      </classpath>
+    </taskdef>
+
+    <schemaexport output="${db.scripts.dir}/jbpm.${database}.create.sql" 
+                  create="yes" 
+                  drop="no" 
+                  config="${config.files.dir}/jbpm.hibernate.cfg.xml" 
+                  text="yes" 
+                  delimiter=";" 
+                  quiet="yes" />
+
+    <schemaexport output="${db.scripts.dir}/jbpm.${database}.drop.sql" 
+                  create="no" 
+                  drop="yes" 
+                  config="${config.files.dir}/jbpm.hibernate.cfg.xml" 
+                  text="yes" 
+                  delimiter=";" 
+                  quiet="yes" />
+  </target>
+
+  <target name="db.create"
+          depends="create.db.scripts, internal.load.hibernate.properties"
+          description="creates the db tables in the database">
+    <echo message="driver: ${hibernate.connection.driver_class}" />
+    <echo message="url: ${hibernate.connection.url}" />
+    <echo message="username: ${hibernate.connection.username}" />
+    <sql driver="${hibernate.connection.driver_class}"
+        url="${hibernate.connection.url}"
+        userid="${hibernate.connection.username}"
+        password="${hibernate.connection.password}"
+        onerror="continue">
+      <transaction src="${db.scripts.dir}/jbpm.${database}.create.sql"/>
+    	<classpath>
+        <fileset dir="${libs.dir}">
+          <include name="*.jar"/>
+        </fileset>
+      </classpath>
+    </sql>
+  </target>    
+
+  <target name="db.drop"
+          depends="create.db.scripts, internal.load.hibernate.properties"
+          description="drops the db tables in the database">
+    <sql driver="${hibernate.connection.driver_class}"
+        url="${hibernate.connection.url}"
+        userid="${hibernate.connection.username}"
+        password="${hibernate.connection.password}"
+        onerror="continue">
+      <transaction src="${db.scripts.dir}/jbpm.${database}.drop.sql"/>
+      <classpath>
+        <fileset dir="${libs.dir}">
+          <include name="*.jar"/>
+        </fileset>
+      </classpath>
+    </sql>
+  </target>
+	
+  <target name="db.drop.create"
+          depends="db.drop, db.create"
+          description="drops and then creates the db tables in the database">
+	</target>
+
+
+	<!-- internal targets -->
+	<target name="internal.load.hibernate.properties">
+    <copy file="${resolved.dir}/hibernate/jdbc/${database}.xml" 
+          tofile="${tmp.dir}/hibernate.properties" />
+    <replace file="${tmp.dir}/hibernate.properties" 
+             value="">
+      <replacetoken><![CDATA[      <property name="]]></replacetoken>
+    </replace>
+    <replace  file="${tmp.dir}/hibernate.properties" 
+             value="=">
+      <replacetoken><![CDATA[">]]></replacetoken>
+     </replace>
+    <replace file="${tmp.dir}/hibernate.properties" 
+             value="">
+     <replacetoken><![CDATA[</property>]]></replacetoken>
+    </replace>
+    <property file="${tmp.dir}/hibernate.properties" />
+	</target>
+
+	<!--
+  <target name="internal.identity.config.files" if="is.identity.included">
+    <mkdir dir="${tmp.dir}/identity" />
+    <mkdir dir="${config.files.dir}/META-INF" />
+    <copy file="hibernate/${connection.type}/${database}.xml"
+          tofile="${tmp.dir}/identity/identity.persistence.properties.xml"
+          overwrite="true"/>
+  	<replace file="${tmp.dir}/identity/identity.persistence.properties.xml"
+  	         token="&quot;&gt;"
+  	         value="&quot; value=&quot;" />
+    <replace file="${tmp.dir}/identity/identity.persistence.properties.xml"
+             token="&lt;/property&gt;"
+             value="&quot; /&gt;" />
+  	<copy todir="${tmp.dir}/identity">
+  		<fileset dir="identity/META-INF" />
+  	</copy>
+    <concat destfile="${config.files.dir}/META-INF/persistence.xml">
+      <filelist dir="${tmp.dir}/identity">
+        <file name="part1.persistence.xml" />
+        <file name="connectiontype.${connection.type}.xml"/>
+        <file name="part2.persistence.xml" />
+        <file name="identity.persistence.properties.xml"/>
+        <file name="part3.persistence.xml"/>
+      </filelist>
+    </concat>
+    <copy file="identity/jbpm.identity.cfg.xml" todir="${config.files.dir}" overwrite="true" />
+  </target>
+  -->
+
+  <target name="internal.jpdl.hibernate.mapping.files" if="is.jpdl.included">
+    <copy todir="${config.files.dir}">
+      <fileset dir="hibernate/mapping.files">
+        <include name="jbpm.jpdl.hbm.xml" />
+        <include name="jbpm.jpdl.activities.xml" />
+      </fileset>
+    </copy>
+  </target>
+
+  <target name="internal.jdk.logging" if="is.jdk.logging.included">
+  	<copy todir="${config.files.dir}">
+  		<fileset dir="jdk" />
+    </copy>
+  </target>
+
+  <target name="internal.prepare">
+    <delete dir="${tmp.dir}" />
+    <mkdir dir="${config.files.dir}" />
+    <mkdir dir="${resolved.dir}" />
+    <copy todir="${resolved.dir}" filtering="true">
+      <fileset dir="." />
+    	<filterset filtersfile="jdbc.properties">
+    		<filter token="jboss.bind.address" value="${jboss.bind.address}"/>
+    		<filter token="jdbc.hsqldb.url" value="${jdbc.hsqldb.url}" />
+      </filterset>
+    </copy>
+  </target>
+
+</project>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/build.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cache/hashtable.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cache/hashtable.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cache/hashtable.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,2 @@
+      <property name="hibernate.cache.use_second_level_cache">true</property>
+      <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cache/hashtable.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part1.jbpm.hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part1.jbpm.hibernate.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part1.jbpm.hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part1.jbpm.hibernate.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part2.jbpm.hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part2.jbpm.hibernate.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part2.jbpm.hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,2 @@
+  </session-factory>
+</hibernate-configuration>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/cfg/part2.jbpm.hibernate.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/db2.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/db2.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/db2.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
+      <property name="hibernate.connection.datasource">java:JbpmDS</property>
+      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+      <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+      <property name="jta.UserTransaction">UserTransaction</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/db2.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/hsqldb.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/hsqldb.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/hsqldb.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.datasource">java:JbpmDS</property>
+      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+      <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+      <property name="jta.UserTransaction">UserTransaction</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/hsqldb.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/mysql.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/mysql.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/mysql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
+      <property name="hibernate.connection.datasource">java:JbpmDS</property>
+      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+      <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+      <property name="jta.UserTransaction">UserTransaction</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/mysql.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/oracle.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/oracle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/oracle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
+      <property name="hibernate.connection.datasource">java:JbpmDS</property>
+      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+      <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+      <property name="jta.UserTransaction">UserTransaction</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/oracle.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/postgresql.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/postgresql.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/postgresql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+      <property name="hibernate.connection.datasource">java:JbpmDS</property>
+      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+      <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+      <property name="jta.UserTransaction">UserTransaction</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/postgresql.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/sybase.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/sybase.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/sybase.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.SybaseDialect</property>
+      <property name="hibernate.connection.datasource">java:JbpmDS</property>
+      <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+      <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+      <property name="jta.UserTransaction">UserTransaction</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/datasource/sybase.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/db2.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/db2.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/db2.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
+      <property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
+      <property name="hibernate.connection.url">@jdbc.db2.url@</property>
+      <property name="hibernate.connection.username">@jdbc.db2.username@</property>
+      <property name="hibernate.connection.password">@jdbc.db2.password@</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/db2.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.url.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.url.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.url.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+      <property name="hibernate.connection.url">@jdbc.hsqldb.url@</property>
+      <property name="hibernate.connection.username">sa</property>
+      <property name="hibernate.connection.password"></property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.url.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,6 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+      <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
+      <property name="hibernate.connection.username">sa</property>
+      <property name="hibernate.connection.password"></property>
+      <property name="hibernate.hbm2ddl.auto">create-drop</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/hsqldb.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/mysql.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/mysql.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/mysql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
+      <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
+      <property name="hibernate.connection.url">@jdbc.mysql.url@</property>
+      <property name="hibernate.connection.username">@jdbc.mysql.username@</property>
+      <property name="hibernate.connection.password">@jdbc.mysql.password@</property>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/mysql.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/oracle.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/oracle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/oracle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,6 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
+      <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
+      <property name="hibernate.connection.url">@jdbc.oracle.url@</property>
+      <property name="hibernate.connection.username">@jdbc.oracle.username@</property>
+      <property name="hibernate.connection.password">@jdbc.oracle.password@</property>
+      <property name="hibernate.query.substitutions">true 1, false 0</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/oracle.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/postgresql.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/postgresql.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/postgresql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
+      <property name="hibernate.connection.url">@jdbc.postgresql.url@</property>
+      <property name="hibernate.connection.username">@jdbc.postgresql.username@</property>
+      <property name="hibernate.connection.password">@jdbc.postgresql.password@</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/postgresql.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/sybase.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/sybase.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/sybase.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+      <property name="hibernate.dialect">org.hibernate.dialect.SybaseDialect</property>
+      <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
+      <property name="hibernate.connection.url">@jdbc.sybase.url@</property>
+      <property name="hibernate.connection.username">@jdbc.sybase.username@</property>
+      <property name="hibernate.connection.password">@jdbc.sybase.password@</property>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/jdbc/sybase.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,641 @@
+<?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">
+    <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <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="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/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,375 @@
+<?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">
+
+  <!-- ### TYPEDEFS ####################################################### -->
+  <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
+    <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter"    >bool-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter"         >byte-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter"  >char-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter"         >date-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter"       >date-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter"     >double-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter"      >float-double</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter"      >float-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter"      >int-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter"        >short-long</param>
+  </typedef>
+
+  <!-- ### PROCESS DEFINITION ############################################# -->
+  <class name="ExecutionImpl" table="JBPM_EXECUTION">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACT_"
+                 lazy="false"
+                 foreign-key="FK_EXEC_ACT"
+                 index="IDX_EXEC_ACT" />
+
+    <property name="hasVariables" column="HASVARS_" />
+    <map name="variables"
+         cascade="all-delete-orphan"
+         table="JBPM_VARIABLE">
+      <key foreign-key="FK_VAR_EXECUTION">
+         <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
+      </key>
+      <map-key type="string" column="KEY_" />
+      <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
+    </map>
+    
+    <property name="hasTimers" column="HASTIMERS_" />
+    <set name="timers"
+         cascade="all-delete-orphan">
+      <key foreign-key="FK_TMR_EXECUTION">
+         <column name="EXECUTION_" />
+      </key>
+      <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
+    </set>
+
+    <property name="name" column="NAME_" />
+    <property name="key" column="KEY_" />
+    <property name="id" column="ID_" unique="true" />
+
+    <property name="state" column="STATE_" />
+
+    <property name="priority" column="PRIORITY_" />
+    <property name="historyActivityInstanceDbid" column="HISACTINST_" />
+
+    <many-to-one name="processDefinition"
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCESS_"
+                 foreign-key="FK_EXEC_PROCESS" 
+                 index="IDX_EXEC_PROCESS" />
+
+    <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
+
+    <many-to-one name="transitionOrigin" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="TRANSORIG_"
+                 foreign-key="FK_EXEC_TRANSORIG"
+                 index="IDX_EXEC_TRANSORIG" />
+
+    <list name="executions" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="ExecutionImpl" />
+    </list>
+
+    <many-to-one name="parent"
+                 column="PARENT_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_PARENT"
+                 index="IDX_EXEC_PARENT" />
+
+    <many-to-one name="processInstance"
+                 class="ExecutionImpl" 
+                 column="INSTANCE_"
+                 foreign-key="FK_EXEC_INSTANCE"
+                 index="IDX_EXEC_INSTANCE" />
+
+    <many-to-one name="superProcessExecution"
+                 column="SUPEREXEC_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_SUPEREXEC"
+                 index="IDX_EXEC_SUPEREXEC" />
+  </class>
+
+  <!-- ### COMMENTS ####################################################### -->
+  <class name="CommentImpl" table="JBPM_COMMENT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="userId" column="USERID_" />
+    <property name="time" column="TIME_" />
+    <property name="message" column="MESSAGE_" />
+
+    <list name="comments" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="none" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="CommentImpl" />
+    </list>
+  </class>
+  
+  <!-- ### VARIABLE ####################################################### -->
+  <class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
+    <!-- discriminator values:
+    date   : org.jbpm.pvm.internal.type.variable.DateVariable
+    double : org.jbpm.pvm.internal.type.variable.DoubleVariable
+    hibl   : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
+    long   : org.jbpm.pvm.internal.type.variable.LongVariable
+    hibs   : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
+    string : org.jbpm.pvm.internal.type.variable.StringVariable
+    null   : org.jbpm.pvm.internal.type.variable.NullVariable
+    blob   : org.jbpm.pvm.internal.type.variable.BlobVariable
+    clob   : org.jbpm.pvm.internal.type.variable.ClobVariable
+    -->
+  
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="key" column="KEY_"/>
+    <property name="queryText" column="QUERYTEXT_" />
+    <property name="converter" type="converter" column="CONVERTER_" />
+    <many-to-one name="processInstance"
+                 column="PROCINST_" 
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"
+                 foreign-key="FK_VAR_PROCINST"
+                 index="IDX_VAR_PROCINST"/>
+  </class>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
+    <property name="date" column="DATE_VALUE_" type="timestamp"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
+    <property name="d" column="DOUBLE_VALUE_" type="double"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
+    <property name="hibernatable" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
+    <property name="l" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
+    <property name="hibernatable" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
+    <property name="string" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="FK_VAR_LOB"
+                 index="IDX_VAR_LOB" />
+  </subclass>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="none"/>
+  </subclass>
+  
+  <!-- ### LOB ############################################################ -->
+  <class name="org.jbpm.pvm.internal.lob.Lob" table="JBPM_LOB">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    <property name="blob" type="blob" column="BLOB_VALUE_" />
+    <property name="bytes" type="binary" column="BINARY_VALUE_"/>
+    <property name="clob" type="clob" column="CLOB_VALUE_" />
+    <property name="text" type="text" column="TEXT_VALUE_"/>
+  </class>
+  
+    <class name="org.jbpm.pvm.internal.job.JobImpl" table="JBPM_JOB" discriminator-value="Job">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="dueDate" column="DUEDATE_" type="timestamp" index="IDX_JOBDUEDATE"  />
+    <property name="isSuspended" column="ISSUSPENDED_" />
+    <property name="isExclusive" column="ISEXCLUSIVE_" />
+    <property name="lockOwner" column="LOCKOWNER_" />
+    <property name="lockExpirationTime" column="LOCKEXPTIME_" index="IDX_JOBLOCKEXP" />
+    <property name="info" column="INFO_" />
+    <property name="exception" column="EXCEPTION_" type="text" />
+    <property name="retries" column="RETRIES_" index="IDX_JOBRETRIES" />
+    
+    <many-to-one name="processInstance"   
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="PROCESSINSTANCE_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_PRINST"
+                 index="IDX_JOB_PRINST"/>
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="EXECUTION_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_EXE"
+                 index="IDX_JOB_EXE"/>
+    <many-to-one name="commandDescriptor"
+                 column="CMDDESCR_"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" 
+                 cascade="all"
+                 foreign-key="FK_JOB_CMDDESCR"
+                 index="IDX_JOB_CMDDESCR"/>
+
+    <subclass name="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="Msg">
+      <subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeActivityMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
+        <property name="signalName" column="SIGNAL_" />
+        <many-to-one name="activity"   
+                     column="NODE_" 
+                     cascade="none"
+                     foreign-key="FK_JOB_NODE"/>
+      </subclass>
+      <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
+      <subclass name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
+    </subclass>
+    
+    <subclass name="org.jbpm.pvm.internal.job.TimerImpl" discriminator-value="Timer">
+      <property name="signalName" column="SIGNAL_" />
+      <property name="eventName" column="EVENT_" />
+      <property name="repeat" column="REPEAT_" />
+    </subclass>
+     
+  </class>
+
+  <!-- ### HibernatePvmDbSession QUERIES ################################## -->
+
+  <query name="findTimers">
+    <![CDATA[
+     select t
+     from org.jbpm.pvm.internal.job.TimerImpl as t
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <query name="findMessages">
+    <![CDATA[
+     select m
+     from org.jbpm.pvm.internal.job.MessageImpl as m
+    ]]>
+  </query>
+
+  <query name="findJobsWithException">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.retries = 0 
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <!-- ### HibernateJobDbSession QUERIES ################################## -->
+  <query name="findFirstAcquirableJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where ( ( (job.lockExpirationTime is null)
+               or (job.lockExpirationTime <= :now) 
+             )
+             and 
+             ( (job.dueDate is null)
+               or (job.dueDate <= :now) 
+             ) 
+             and 
+             ( job.retries > 0 ) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+
+  <query name="findExclusiveJobs">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.processInstance = :processInstance 
+       and job.isExclusive = true 
+       and job.retries > 0 
+       and ( (job.dueDate is null)
+             or (job.dueDate <= :now) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <query name="findFirstDueJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.retries > 0 
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <!-- ### HibernatePvmDbSession QUERIES ############################################# -->
+  <query name="findExecutionById">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.id = :id
+    ]]>
+  </query>
+
+  <query name="findProcessInstanceById">
+    <![CDATA[
+     select processInstance
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.id = :processInstanceId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+  <query name="findExecutionByKey">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.key = :executionKey
+       and execution.processDefinition.name = :processDefinitionName
+    ]]>
+  </query>
+  
+  <query name="findProcessInstanceIds">
+    <![CDATA[
+     select processInstance.id
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.processDefinition.id = :processDefinitionId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.execution.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,73 @@
+<?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.history.model" default-access="field">
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryProcessInstanceImpl" table="JBPM_HIST_PROCINST">
+    <id name="processInstanceId" column="ID_">
+      <generator class="assigned" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="processDefinitionId" column="PROCDEFID_" />
+    <property name="key" column="KEY_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="state" column="STATE_" />
+    <property name="endActivityName" column="ENDACTIVITY_" />
+
+    <many-to-one name="processDefinition" 
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCDEF_"
+                 foreign-key="FK_HISTPI_PROCDEF"
+                 index="IDX_HISTPI_PROCDEF" />
+                 
+    <set name="historyActivityInstances"
+         cascade="all">
+      <key>
+         <column name="HPI_" />
+      </key>
+      <one-to-many class="HistoryActivityInstanceImpl" />
+    </set>
+                 
+  </class>
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryActivityInstanceImpl" table="JBPM_HIST_ACTINST" discriminator-value="ACT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <many-to-one name="historyProcessInstance" 
+                 class="HistoryProcessInstanceImpl" 
+                 column="HPI_"
+                 foreign-key="FK_HAI_HPI"
+                 index="IDX_HAI_HPI" />
+
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACTIVITY_"
+                 foreign-key="FK_HISTAI_ACT"
+                 index="IDX_HISTAI_ACT" />
+
+    <property name="executionId" column="EXECUTION_" />
+    <property name="activityName" column="ACTIVITY_NAME_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="transitionName" column="TRANSITION_" />
+
+    <subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
+      <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+    </subclass>
+    
+    <subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
+      <property name="assignee" column="ASSIGNEE_" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.history.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.identity.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.identity.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.identity.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,57 @@
+<?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.identity.impl" default-access="field">
+
+  <!-- ### USER ########################################################### -->
+  <class name="UserImpl" table="JBPM_ID_USER">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="givenName" column="GIVENNAME_" />
+    <property name="familyName" column="FAMILYNAME_" />
+  </class>
+  
+  <!-- ### MEMBERSHIP ##################################################### -->
+  <class name="MembershipImpl" table="JBPM_ID_MEMBERSHIP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="user"
+                 column="USER_" 
+                 class="UserImpl"
+                 foreign-key="FK_MEM_USER"
+                 index="IDX_MEM_USER"/>
+
+    <many-to-one name="group"
+                 column="GROUP_" 
+                 class="GroupImpl"
+                 foreign-key="FK_MEM_GROUP"
+                 index="IDX_MEM_GROUP"/>
+
+    <property name="role" column="NAME_" />
+  </class>
+  
+  <!-- ### GROUP ########################################################### -->
+  <class name="GroupImpl" table="JBPM_ID_GROUP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="type" column="TYPE_" />
+
+    <many-to-one name="parent"
+                 column="PARENT_" 
+                 class="GroupImpl"
+                 foreign-key="FK_GROUP_PARENT"
+                 index="IDX_GROUP_PARENT"/>
+  </class>
+  
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.identity.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,95 @@
+<?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 default-access="field">
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlProcessDefinition" table="JBPM_JPDL_PROCDEF"  extends="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" table="JBPM_JPDL_EXECUTION" extends="org.jbpm.pvm.internal.model.ExecutionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <class name="org.jbpm.jpdl.internal.activity.JpdlActivity" table="JBPM_JPDL_ACTIVITY"  abstract="true" discriminator-value="X">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+      <property name="expr" column="TEXT_" />
+      <property name="lang" column="TEXT2_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
+      <property name="exclusiveHandlerName" column="TEXT_" />
+      <many-to-one name="exclusiveHandlerDescriptor"
+                   column="EXCLDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_EXCLDESCR"
+                   index="IDX_ACT_EXCLDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.StateActivity" discriminator-value="state" />
+    <subclass name="org.jbpm.jpdl.internal.activity.EndActivity" discriminator-value="end">
+      <property name="endProcessInstance" column="ENDPI_" />
+      <property name="state" column="TEXT_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ForkActivity" discriminator-value="fork" />
+    <subclass name="org.jbpm.jpdl.internal.activity.JoinActivity" discriminator-value="join" />
+    <subclass name="org.jbpm.jpdl.internal.activity.HqlActivity" discriminator-value="hql">
+      <property name="query" column="TEXT_" />
+      <property name="resultVariableName" column="TEXT2_" />
+      <property name="isResultUnique" column="ISUNIQ_" />
+      <many-to-one name="parametersDescriptor"
+                   column="PARAMDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+                   foreign-key="FK_ACT_PARAMDESCR"
+                   index="IDX_ACT_PARAMDESCR" />
+      
+      <subclass name="org.jbpm.jpdl.internal.activity.SqlActivity" discriminator-value="sql" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.JavaActivity" discriminator-value="java">
+      <property name="methodName" column="TEXT_" />
+      <property name="variableName" column="TEXT2_" />
+      <many-to-one name="descriptor"
+                   column="JAVADESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_JAVADESCR"
+                   index="IDX_ACT_JAVADESCR" />
+      <many-to-one name="invokeOperation"
+                   column="INVOPER_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
+                   foreign-key="FK_ACT_INVKOPER"
+                   index="IDX_ACT_INVKOPER" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ScriptActivity" discriminator-value="script">
+      <property name="script" column="TEXT_" />
+      <property name="language" column="TEXT2_" />
+      <property name="variableName" column="TEXT3_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.EsbActivity" discriminator-value="esb">
+      <property name="service" column="TEXT_" />
+      <property name="category" column="TEXT2_" />
+      <many-to-one name="partsListDescriptor"
+               column="PARTSDESCR_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+               foreign-key="FK_ACT_PARTSDESCR"
+               index="IDX_ACT_PARTSDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
+      <many-to-one name="taskDefinition"
+               column="TASKDEF_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.task.TaskDefinitionImpl"
+               foreign-key="FK_ACT_TASKDEF"
+               index="IDX_ACT_TASKDEF" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,174 @@
+<?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 auto-import="false" package="org.jbpm.pvm.internal.task" default-access="field">
+
+  <!-- ### TASK DEFINITION ################################################ -->
+  <class name="TaskDefinitionImpl" discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+
+    <property name="priority" column="PRIORITY_"/>
+    <property name="dueDateDuration" column="DUEDATE_"/>
+    <property name="isBlocking" column="BLOCK_"/>
+    <property name="isSignalling" column="SIGNAL_"/>
+    <property name="assigneeExpression" column="ASSIGNEE_EXPR_"/>
+    <property name="candidatesExpression" column="CANDIDATES_EXPR_"/>
+
+    <many-to-one name="assignerDescriptor"
+                 column="ASSIGNER_DESCR_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                 foreign-key="FK_TSK_ASIG_DESCR"
+                 index="IDX_TSK_ASIG_DESCR" />
+
+    <many-to-one name="swimlaneDefinition"
+                 column="SWIMLANE_DEF_" 
+                 cascade="all"
+                 class="SwimlaneDefinitionImpl"
+                 foreign-key="FK_TSK_SWIML_DEF"
+                 index="IDX_TSK_SWIML_DEF" />
+
+		<list name="subTaskDefinitions" cascade="all-delete-orphan">
+			<key column="TASKDEF_" />
+			<list-index column="TASKDEF_IDX_" />
+			<one-to-many class="TaskDefinitionImpl" />
+		</list>
+  </class>
+  
+  <!-- ### TASK ########################################################### -->
+  <class name="TaskImpl" 
+         discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="id" column="ID_" unique="true" />
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+    
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="TASK_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+    <property name="priority" column="PRIORITY_"/>
+    <property name="create" column="CREATE_"/>
+    <property name="dueDate" column="DUEDATE_"/>
+    <property name="progress" column="PROGRESS_"/>
+    
+    <!-- 
+    <many-to-one name="variableMap"
+                 class="org.jbpm.pvm.impl.VariableMap" 
+                 column="VARMAP_" 
+                 foreign-key="FK_TASK_VARMAP"
+                 cascade="all" />
+    -->
+
+    <many-to-one name="superTask"
+                 class="TaskImpl" 
+                 column="SUPERTASK_" 
+                 foreign-key="FK_TASK_SUPERTASK" 
+                 index="IDX_TASK_SUPERTASK" />
+
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="EXECUTION_" 
+                 foreign-key="FK_TASK_EXEC" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_TASK_SWIML" />
+
+		<list name="comments" cascade="all-delete-orphan">
+			<key column="TASK_" />
+			<list-index column="TASK_IDX_" />
+			<one-to-many class="org.jbpm.pvm.internal.model.CommentImpl" />
+		</list>
+
+    <set name="subTasks" cascade="all-delete-orphan">
+      <key column="SUPERTASK_" />
+      <one-to-many class="TaskImpl" />
+    </set>
+    
+  </class>
+  
+  <!-- ### PARTICIPANT #################################################### -->
+  <class name="ParticipantImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="identityType" column="IDENTITYTYPE_"/>
+    <property name="identityId" column="IDENTITYID_"/>
+    <property name="participation" column="PARTICIPATION_" />
+
+    <many-to-one name="task"
+                 class="TaskImpl" 
+                 column="TASK_" 
+                 index="IDX_PART_TASK"
+                 foreign-key="FK_PART_TASK" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_PART_SWIMLANE" />
+
+  </class>
+  
+  <!-- ### SWIMLANE DEFINITION ############################################ -->
+  <class name="SwimlaneDefinitionImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+  </class>
+
+
+  <!-- ### SWIMLANE ####################################################### -->
+  <class name="SwimlaneImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+
+    <many-to-one name="swimlaneDefinition"
+                 class="SwimlaneDefinitionImpl" 
+                 column="SWIMLANEDEF_" 
+                 foreign-key="FK_SWIMLANE_DEF" />
+
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="SWIMLANE_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+  </class>
+  
+  
+  <!-- ### QUERIES ######################################################## -->
+
+  <query name="findTasks">
+    <![CDATA[
+     select task
+     from org.jbpm.pvm.internal.task.TaskImpl as task
+    ]]>
+  </query>
+
+</hibernate-mapping>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.task.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+      <mapping resource="jbpm.identity.hbm.xml" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/identity.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+      <mapping resource="jbpm.jpdl.hbm.xml" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/jpdl.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/pvm.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/pvm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/pvm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,4 @@
+      <mapping resource="jbpm.definition.hbm.xml" />
+      <mapping resource="jbpm.execution.hbm.xml" />
+      <mapping resource="jbpm.history.hbm.xml" />
+      <mapping resource="jbpm.task.hbm.xml" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/mapping.references/pvm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+      <property name="hibernate.format_sql">true</property>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/hibernate/other/format.sql.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.datasource.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.datasource.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.datasource.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+    <non-jta-data-source>java:DefaultDS</non-jta-data-source>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.datasource.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.jdbc.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/connectiontype.jdbc.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part1.persistence.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part1.persistence.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part1.persistence.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
+             http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+             version="1.0">
+
+  <persistence-unit name="jboss-identity-jbpm" transaction-type="RESOURCE_LOCAL">
+
+    <provider>org.hibernate.ejb.HibernatePersistence</provider>
+    


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part1.persistence.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part2.persistence.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part2.persistence.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part2.persistence.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,13 @@
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateRealm</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObject</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredential</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredentialType</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectAttribute</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectType</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationship</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipType</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipName</class>
+
+    <exclude-unlisted-classes>true</exclude-unlisted-classes>
+    
+    <properties>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part2.persistence.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part3.persistence.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part3.persistence.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part3.persistence.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+    </properties>
+
+  </persistence-unit>
+
+</persistence>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/META-INF/part3.persistence.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/jbpm.identity.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/jbpm.identity.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/jbpm.identity.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
+  <realms>
+    <realm>
+      <id>realm://jbpm-identity</id>
+      <repository-id-ref>jBPM Identity DB</repository-id-ref>
+      <identity-type-mappings>
+        <identity-mapping>IDENTITY</identity-mapping>
+      </identity-type-mappings>
+    </realm>
+  </realms>
+
+  <repositories>
+    <repository>
+      <id>jBPM Identity DB</id>
+      <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
+      <external-config/>
+      <default-identity-store-id>Hibernate Identity Store</default-identity-store-id>
+      <default-attribute-store-id>Hibernate Identity Store</default-attribute-store-id>
+      <options>
+        <option>
+          <name>allowNotDefinedAttributes</name>
+          <value>true</value>
+        </option>
+      </options>
+    </repository>
+  </repositories>
+
+  <stores>
+    <attribute-stores/>
+    <identity-stores>
+      <identity-store>
+        <id>Hibernate Identity Store</id>
+        <class>org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl</class>
+        <external-config/>
+        <supported-relationship-types>
+          <relationship-type>JBOSS_IDENTITY_MEMBERSHIP</relationship-type>
+          <relationship-type>JBOSS_IDENTITY_ROLE</relationship-type>
+        </supported-relationship-types>
+        <supported-identity-object-types>
+          <identity-object-type>
+            <name>IDENTITY</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>OFFICE</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>SECURITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>PROJECT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials>
+              <credential-type>PASSWORD</credential-type>
+            </credentials>
+            <attributes>
+              <attribute>
+                <name>picture</name>
+                <mapping>user.picture</mapping>
+                <type>binary</type>
+                <isRequired>false</isRequired>
+                <isMultivalued>false</isMultivalued>
+                <isReadOnly>false</isReadOnly>
+              </attribute>
+            </attributes>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>ORGANIZATION</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DIVISION</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>ORGANIZATION_UNIT</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DIVISION</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>OFFICE</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>PROJECT</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>DIVISION</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>DEPARTMENT</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>PROJECT</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>PEOPLE</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>ADMINISTRATION</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>COMMUNITY</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>OFFICE</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>SECURITY</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>SYSTEM</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>SECURITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+        </supported-identity-object-types>
+        <options>
+          <option>
+            <name>persistenceUnit</name>
+            <value>jboss-identity-jbpm</value>
+          </option>
+          <option>
+            <name>populateRelationshipTypes</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>populateIdentityObjectTypes</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>allowNotDefinedAttributes</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>isRealmAware</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>allowNotDefinedAttributes</name>
+            <value>true</value>
+          </option>
+        </options>
+      </identity-store>
+    </identity-stores>
+  </stores>
+</jboss-identity>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/identity/jbpm.identity.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-hsqldb-ds.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-hsqldb-ds.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-hsqldb-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources>
+
+  <local-tx-datasource>
+    <jndi-name>JbpmDS</jndi-name>
+
+    <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}jbpm4DB</connection-url>    
+    <driver-class>org.hsqldb.jdbcDriver</driver-class>
+    <user-name>sa</user-name>
+    <password></password>
+
+    <!-- connection pool parameters -->
+    <min-pool-size>1</min-pool-size>
+    <max-pool-size>5</max-pool-size>
+
+    <!-- disable idle connection removal, hsqldb does not reap threads on closed connections -->
+    <idle-timeout-minutes>0</idle-timeout-minutes>
+    <!-- check all statements are closed when the connection is returned to the pool -->
+    <track-statements />
+    <!-- hsqldb benefits from prepared statement caching -->
+    <prepared-statement-cache-size>32</prepared-statement-cache-size>
+
+    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
+    <metadata>
+      <type-mapping>Hypersonic SQL</type-mapping>
+    </metadata>
+
+    <!-- ensure the datasource is not initialized before the database itself -->
+    <depends>jboss:service=Hypersonic,database=jbpm4DB</depends>
+  </local-tx-datasource>
+
+  <mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic,database=jbpm4DB">
+    <attribute name="Database">jbpm4DB</attribute>
+    <attribute name="InProcessMode">true</attribute>
+  </mbean>
+
+</datasources>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-hsqldb-ds.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-mysql-ds.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-mysql-ds.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-mysql-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources>
+
+  <xa-datasource>
+    <jndi-name>JbpmDS</jndi-name>
+
+    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
+    <xa-datasource-property name="ServerName">@jdbc.mysql.server@</xa-datasource-property>
+    <xa-datasource-property name="PortNumber">@jdbc.mysql.port@</xa-datasource-property>
+    <xa-datasource-property name="DatabaseName">@jdbc.mysql.database@</xa-datasource-property>
+    <user-name>@jdbc.mysql.username@</user-name>
+    <password>@jdbc.mysql.password@</password>
+
+    <!-- reduce isolation from the default level (repeatable read) -->
+    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
+    <!-- separate connections used with and without JTA transaction -->
+    <no-tx-separate-pools />
+    <!-- disable transaction interleaving -->
+    <track-connection-by-tx />
+
+    <!-- leverage mysql integration features -->
+    <exception-sorter-class-name>
+      com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
+    </exception-sorter-class-name>
+    <valid-connection-checker-class-name>
+      com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
+    </valid-connection-checker-class-name>
+
+    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
+    <metadata>
+      <type-mapping>mySQL</type-mapping>
+    </metadata>
+  </xa-datasource>
+
+</datasources>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-mysql-ds.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-oracle-ds.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-oracle-ds.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-oracle-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  JBoss Server Configuration                                           -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id$ -->
+
+<!-- ===================================================================== -->
+<!-- ATTENTION:  DO NOT FORGET TO SET Pad=true IN transaction-service.xml  -->
+<!-- ===================================================================== -->
+
+<datasources>
+  <xa-datasource>
+    <jndi-name>JbpmDS</jndi-name>
+    <!-- uncomment to enable interleaving <interleaving/> -->
+    <isSameRM-override-value>false</isSameRM-override-value>
+    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
+    <xa-datasource-property name="URL">@jdbc.oracle.url@</xa-datasource-property>
+    <xa-datasource-property name="User">@jdbc.oracle.username@</xa-datasource-property>
+    <xa-datasource-property name="Password">@jdbc.oracle.password@</xa-datasource-property>
+    <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
+    <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
+    <!-- Checks the Oracle error codes and messages for fatal errors -->
+    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
+    <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
+    <no-tx-separate-pools/>
+
+      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
+      <metadata>
+         <type-mapping>Oracle9i</type-mapping>
+      </metadata>
+  </xa-datasource>
+
+  <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter" 
+         name="jboss.jca:service=OracleXAExceptionFormatter">
+    <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
+  </mbean>
+
+</datasources>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-oracle-ds.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-postgresql-ds.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-postgresql-ds.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-postgresql-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources>
+
+  <xa-datasource>
+    <jndi-name>JbpmDS</jndi-name>
+
+    <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
+    <xa-datasource-property name="ServerName">@jdbc.postgresql.server@</xa-datasource-property>
+    <xa-datasource-property name="PortNumber">@jdbc.postgresql.port@</xa-datasource-property>
+    <xa-datasource-property name="DatabaseName">@jdbc.postgresql.database@</xa-datasource-property>
+    <user-name>@jdbc.postgresql.username@</user-name>
+    <password>@jdbc.postgresql.password@</password>
+
+    <!-- disable transaction interleaving -->
+    <track-connection-by-tx />
+
+    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
+    <metadata>
+      <type-mapping>PostgreSQL 8.0</type-mapping>
+    </metadata>
+  </xa-datasource>
+
+</datasources>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-postgresql-ds.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-sybase-ds.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-sybase-ds.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-sybase-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<datasources>
+
+  <xa-datasource>
+    <jndi-name>JbpmDS</jndi-name>
+    
+    <xa-datasource-class>@jdbc.sybase.datasource@</xa-datasource-class>
+    <xa-datasource-property name="ServerName">@jdbc.sybase.server@</xa-datasource-property>
+    <xa-datasource-property name="PortNumber">@jdbc.sybase.port@</xa-datasource-property>
+    <xa-datasource-property name="DatabaseName">@jdbc.sybase.database@</xa-datasource-property>
+    <user-name>@jdbc.sybase.username@</user-name>
+    <password>@jdbc.sybase.password@</password>
+
+    <!-- disable transaction interleaving -->
+    <track-connection-by-tx />
+
+    <exception-sorter-class-name>
+      org.jboss.resource.adapter.jdbc.vendor.SybaseExceptionSorter
+    </exception-sorter-class-name>
+
+    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
+    <metadata>
+      <type-mapping>Sybase</type-mapping>
+    </metadata>
+  </xa-datasource>
+
+</datasources>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jboss/datasource/jbpm-sybase-ds.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.local.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.local.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.local.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,3 @@
+    <ejb-local-command-service>
+      <home jndi-name="java:jbpm/CommandExecutor"/>
+    </ejb-local-command-service>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.local.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.remote.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.remote.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.remote.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,10 @@
+
+    <ejb-remote-command-service 
+        initial-context-factory="org.jnp.interfaces.NamingContextFactory"
+        provider-url="jnp://@jboss.bind.address@"
+        url-pkg-prefixes="org.jboss.naming:org.jnp.interfaces">
+      <retry-interceptor />
+    </ejb-remote-command-service>
+
+  </process-engine-context>
+</jbpm-configuration>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.ejb.remote.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.sar.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.sar.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.sar.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+    <command-service>
+      <retry-interceptor />
+      <environment-interceptor />
+      <!-- TODO: JBPM-2101 TX interceptor with 'required' semantics -->
+    </command-service>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.sar.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.standalone.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.standalone.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.standalone.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+    <command-service>
+      <retry-interceptor />
+      <environment-interceptor />
+      <standard-transaction-interceptor />
+    </command-service>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/command.service.standalone.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.current.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.current.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.current.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+    <hibernate-session current="true"/>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.current.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.default.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.default.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.default.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+    <hibernate-session />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/hibernate.session.default.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+    <identity-service />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.service.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,2 @@
+    <identity-session-factory resource="jbpm.identity.cfg.xml" />
+


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.factory.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+    <identity-session />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/identity.session.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.exclude.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.exclude.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.exclude.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+    <deployer-manager>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+    <deployer-manager>
+      <assign-file-type>
+        <file extension=".jpdl.xml" type="jpdl" />
+      </assign-file-type>
+      <parse-jpdl />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/jpdl.deployers.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part1.jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part1.jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part1.jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
+
+  <process-engine-context>
+  
+    <process-service />
+    <execution-service />
+    <history-service />
+    <management-service />
+    <task-service />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part1.jbpm.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part2.jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part2.jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part2.jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,9 @@
+    
+    <hibernate-configuration>
+      <cfg resource="jbpm.hibernate.cfg.xml" />     
+      <cache-configuration resource="jbpm.cache.xml" 
+                           usage="nonstrict-read-write" />
+    </hibernate-configuration>
+
+    <hibernate-session-factory />
+


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part2.jbpm.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part3.jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part3.jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part3.jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,37 @@
+      <check-process />
+      <check-problems />
+      <save />
+    </deployer-manager>
+
+    <script-manager default-expression-language="juel"
+                    default-script-language="juel"
+                    read-contexts="execution, environment, process-engine"
+                    write-context="">
+        <script-language name="juel" factory="com.sun.script.juel.JuelScriptEngineFactory" />
+    </script-manager>
+
+    <job-executor auto-start="false" />
+
+    <id-generator />
+    <types resource="jbpm.variable.types.xml" />
+
+    <business-calendar>
+      <monday    hours="9:00-12:00 and 12:30-17:00"/>
+      <tuesday   hours="9:00-12:00 and 12:30-17:00"/>
+      <wednesday hours="9:00-12:00 and 12:30-17:00"/>
+      <thursday  hours="9:00-12:00 and 12:30-17:00"/>
+      <friday    hours="9:00-12:00 and 12:30-17:00"/>
+      <holiday period="01/07/2008 - 31/08/2008"/>
+    </business-calendar>
+  
+  </process-engine-context>
+
+  <transaction-context>
+    <transaction />
+    <pvm-db-session />
+    <job-db-session />
+    <task-db-session />
+    <message-session />
+    <timer-session />
+    <history-session />
+    
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part3.jbpm.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part4.jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part4.jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part4.jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,3 @@
+  </transaction-context>
+
+</jbpm-configuration>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/cfg/part4.jbpm.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.cache.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.cache.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.cache.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+<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" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ForkBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JoinBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.HqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.SqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ScriptBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EsbBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.TaskBinding" />
+</activities>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.jpdl.activities.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.task.lifecycle.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.task.lifecycle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.task.lifecycle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,13 @@
+<task-lifecycle initial="open">
+  <state name="open">
+    <transition name="complete" to="completed" />
+    <transition name="suspend" to="suspended" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="suspended">
+    <transition name="resume" to="open" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="cancelled" />
+  <state name="completed" />
+</task-lifecycle>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.task.lifecycle.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.variable.types.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.variable.types.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.variable.types.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,34 @@
+<types>
+
+  <!-- types stored in a native column -->
+  <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="long"   class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- types converted to a string -->
+  <type name="date"    class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="char"    class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+
+  <!-- types converted to a long -->
+  <type name="byte"    class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="short"   class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+
+  <!-- types converted to a double -->
+  <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- byte[] and char[] -->
+  <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+  <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
+
+  <type name="hibernate-long-id"   class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
+  <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
+
+  <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+
+  <!-- TODO: add ejb3 entity bean support -->
+  <!-- TODO: add JCR activity support -->
+  <!-- TODO: add collection support -->
+  
+</types>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/jbpm.variable.types.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.local.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.local.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.local.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+
+  <!-- enterprise bindings -->
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbTimerSessionBinding" />
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbLocalCommandServiceBinding" />
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbRemoteCommandServiceBinding" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.local.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.remote.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.remote.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.remote.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+
+  <!-- enterprise bindings -->
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbTimerSessionBinding" />
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbLocalCommandServiceBinding" />
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbRemoteCommandServiceBinding" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.ejb.remote.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.sar.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.sar.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.sar.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,5 @@
+
+  <!-- enterprise bindings -->
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbTimerSessionBinding" />
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbLocalCommandServiceBinding" />
+  <binding class="org.jbpm.enterprise.internal.wire.binding.EjbRemoteCommandServiceBinding" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.sar.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.standalone.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/deployment.type.standalone.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.exclude.xml
===================================================================


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.exclude.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.include.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.include.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.include.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,2 @@
+  <!-- jpdl bindings -->
+  <binding class="org.jbpm.jpdl.internal.xml.ParseJpdlBinding" />


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/jpdl.include.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part1.jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part1.jbpm.wire.bindings.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part1.jbpm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,89 @@
+<wire-bindings>
+
+  <!-- ########################### -->
+  <!-- ### Descriptor bindings ### -->
+  <!-- ########################### -->
+  <!-- basic types -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
+  <!-- object and ref --> 
+  <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
+  <!-- collections -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
+  <!-- environment refs -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
+  <!-- various specials -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthenticationBinding" />
+  <!-- hibernate bindings -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
+  <!-- sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistorySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionFactoryBinding" />
+  <!-- db sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskDbSessionBinding" />
+  
+  <!-- dynamic type mapping configuration  -->    
+  <binding class="org.jbpm.pvm.internal.wire.binding.TypesBinding" />
+  <!-- services  -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.CommandServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentityServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistoryServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskServiceBinding" />
+  
+  <!-- deployers -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AssignFileTypesBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProcessBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SaveBinding" />
+
+  <!-- interceptors -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StandardTransactionInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SerializeInterceptorBinding" />
+
+  <!-- operation -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
+


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part1.jbpm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part2.jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part2.jbpm.wire.bindings.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part2.jbpm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,2 @@
+
+</wire-bindings>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jbpm/wire.bindings/part2.jbpm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/jdbc.properties
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/jdbc.properties	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/jdbc.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,29 @@
+jdbc.mysql.server=localhost
+jdbc.mysql.port=3306
+jdbc.mysql.database=jbpm
+jdbc.mysql.url=jdbc:mysql://localhost:3306/jbpm
+jdbc.mysql.username=jbpm
+jdbc.mysql.password=jbpm
+
+jdbc.postgresql.server=localhost
+jdbc.postgresql.port=5432
+jdbc.postgresql.database=jbpm
+jdbc.postgresql.url=jdbc:postgresql://localhost:5432/jbpm
+jdbc.postgresql.username=jbpm
+jdbc.postgresql.password=jbpm
+
+jdbc.sybase.server=localhost
+jdbc.sybase.port=5000
+jdbc.sybase.database=jbpm
+jdbc.sybase.url=jdbc:sybase:Tds:localhost:5000/jbpm
+jdbc.sybase.username=jbpm
+jdbc.sybase.password=jbpm
+jdbc.sybase.driver=com.sybase.jdbc3.jdbc.SybDriver
+jdbc.sybase.datasource=com.sybase.jdbc3.jdbc.SybXADataSource
+
+jdbc.oracle.server=localhost
+jdbc.oracle.port=1521
+jdbc.oracle.database=XE
+jdbc.oracle.username=jbpm
+jdbc.oracle.password=jbpm
+jdbc.oracle.url=jdbc:oracle:thin:@localhost:1521:XE

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/log4j.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/log4j.xml	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/log4j.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ================ -->
+   <!-- Console Appender -->
+   <!-- ================ -->
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <param name="Target" value="System.out"/>
+      <param name="Threshold" value="INFO"/>
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+  
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+   <category name="org.hibernate">
+     <priority value="INFO"/>
+   </category>
+   
+   
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>


Property changes on: jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/log4j.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/logging.properties
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/logging.properties	                        (rev 0)
+++ jbpm4/trunk/modules/distro/src/main/resources/config-tool/log/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,18 @@
+handlers= java.util.logging.ConsoleHandler
+redirect.commons.logging = enabled
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
+
+org.jbpm.level=FINE
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
+
+org.hibernate.level=INFO
+org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
+# org.hibernate.SQL.level=FINEST
+# org.hibernate.type.level=FINEST
+# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file

Deleted: jbpm4/trunk/modules/distro/src/main/resources/examples-hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/examples-hibernate.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/distro/src/main/resources/examples-hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,35 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-
-<!DOCTYPE hibernate-configuration PUBLIC
-          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
-
-<hibernate-configuration>
-  <session-factory>
-
-    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
-    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>    
-    <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
-    <property name="hibernate.connection.username">sa</property>
-    <property name="hibernate.connection.password"></property>
-
-    <property name="hibernate.hbm2ddl.auto">create</property>
-
-    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
-
-    <property name="hibernate.format_sql">true</property>
-
-    <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
-    <mapping resource="jbpm.pvm.wire.hbm.xml" />
-    <mapping resource="jbpm.pvm.definition.hbm.xml" />
-    <mapping resource="jbpm.pvm.execution.hbm.xml" />
-    <mapping resource="jbpm.pvm.variable.hbm.xml" />
-    <mapping resource="jbpm.pvm.job.hbm.xml" />
-    <mapping resource="jbpm.pvm.history.hbm.xml" />
-    <mapping resource="jbpm.task.hbm.xml" />
-    <mapping resource="jbpm.jpdl.hbm.xml" />
-
-  </session-factory>
-  
-</hibernate-configuration>
-    
\ No newline at end of file

Modified: jbpm4/trunk/modules/distro/src/main/resources/installer/install-definition.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/resources/installer/install-definition.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/distro/src/main/resources/installer/install-definition.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -120,15 +120,12 @@
       <file src="@{deploy.artifacts.dir}/license.txt" targetdir="$INSTALL_PATH" override="true" />
       <file src="@{deploy.artifacts.dir}/readme.html" targetdir="$INSTALL_PATH" override="true" />
 
-      <!-- jbpm4/config -->
-      <file src="@{deploy.artifacts.dir}/lib/jbpm-jpdl-config.jar" targetdir="$INSTALL_PATH/config"
-            unpack="true" override="true" />
-
-      <!-- jbpm4/doc -->
+      <!-- jbpm4/doc 
       <fileset dir="@{deploy.artifacts.dir}/doc" targetdir="$INSTALL_PATH/doc" />
       <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-db"
                targetdir="$INSTALL_PATH/doc/database-scripts"
                includes="create/,drop/"/>
+      -->
                       
       <!-- jbpm4/examples -->
       <fileset dir="@{deploy.artifacts.dir}/examples" targetdir="$INSTALL_PATH/examples" />
@@ -154,52 +151,44 @@
     <pack name="Install jBPM in JBoss" required="no" preselected="yes">
 
       <description>The Install jBPM in JBoss</description>
-     
-      <!-- jbpm/jbpm-service.sar , spi config-->
+
+      <!-- jbpm/jbpm-service.sar
+      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" override="true">
+        <include name="logging.properties"/>
+      </fileset>
+       -->
+
+      <!-- jbpm/jbpm-service.sar , enterprise config-->
       <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-spi-config" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" override="true">
-        <include name="jbpm.cfg.xml"/>
         <include name="jbpm-users.properties"/>
         <include name="jbpm-roles.properties"/>
       </fileset>
-      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-spi-config" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar/META-INF" override="true">
+      <!-- jbpm/jbpm-service.sar/META-INF , enterprise config-->
+      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-enterprise-config" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar/META-INF" override="true">
         <include name="jboss-service.xml"/>
       </fileset>
-     
-      <fileset dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" override="true">        
+
+      <fileset dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" override="true">
+        <include name="jbpm-log.jar" />
         <include name="jbpm-pvm.jar" />
         <include name="jbpm-jpdl.jar" />
+        <include name="jbpm-task.jar" />
         <include name="jbpm-console-integration.jar" />
+        <include name="idm*.jar" />
+        <include name="livetribe-jsr223.jar" />
+        <include name="juel*.jar" />
       </fileset>
 
       <!-- jbpm/jbpm-enterprise.jar -->
       <file src="@{deploy.artifacts.dir}/lib/jbpm-enterprise.jar" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-enterprise.jar"
-            unpack="true" override="true" />    
+            unpack="true" override="true" />
 
-      <!-- enterprise config, jbpm-destinations-service.xml -->
+
+      <!-- jbpm-destinations-service.xml -->
       <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-enterprise-config" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/" override="true">
         <include name="jbpm-destinations-service.xml"/>
       </fileset>
 
-      <!-- Database configs to docs/examples/jbpm -->
-      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config" targetdir="${jbossInstallPath}/docs/examples/jbpm" override="true">
-        <include name="hibernate.cfg.hsqldb.xml"/>
-        <include name="hibernate.cfg.mysql.xml"/>
-        <include name="hibernate.cfg.postgresql.xml"/>
-        <include name="hibernate.cfg.oracle.xml"/>
-        <include name="hibernate.cfg.sybase.xml"/>
-        <include name="jbpm-hsqldb-ds.xml"/>
-        <include name="jbpm-mysql-ds.xml"/>
-        <include name="jbpm-postgresql-ds.xml"/>
-        <include name="jbpm-oracle-ds.xml"/>
-        <include name="jbpm-sybase-ds.xml"/>
-      </fileset>
-
-      <!-- Database Scripts / DDL -->
-      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-db"
-               targetdir="${jbossInstallPath}/docs/examples/jbpm/database-scripts"
-               override="true"
-               includes="create/,drop/"/>
-        
       <!--
          ==============================
          JBoss 422
@@ -277,7 +266,6 @@
                override="true"
                condition="isJBoss500">
         <include name="jbpm-service-jboss-beans.xml"/>
-        <!--include name="jbpm.deployer.cfg.xml"/-->
       </fileset>
 
 
@@ -288,25 +276,39 @@
         -->
 
       <!-- Database Hypsersonic -->
-      <file src="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config/jbpm-hsqldb-ds.xml" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm" condition="isHypersonic"/>
-      <singlefile src="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config/hibernate.cfg.hsqldb.xml" condition="isHypersonic"
-                  target="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar/hibernate.cfg.xml" />
-      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/data" condition="isHypersonic">
-        <include name="hypersonic/jbpm4DB.*" />
+      <file src="@{deploy.artifacts.dir}/resources/datasources/jbpm-hsqldb-ds.xml" 
+            targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm" 
+            condition="isHypersonic"/>
+      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-hsqldb-config" 
+               targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" 
+               condition="isHypersonic" />
+      <fileset dir="@{deploy.artifacts.dir}/resources/hsqldb" 
+               targetdir="${jbossInstallPath}/server/${jbossTargetServer}/data/hypersonic" 
+               condition="isHypersonic">
+        <include name="jbpm4DB.*" />
       </fileset>
 
       <!-- Database MySQL -->
-      <file src="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config/jbpm-mysql-ds.xml" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm" condition="isMySQL"/>
-      <singlefile src="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config/hibernate.cfg.mysql.xml" condition="isMySQL"
-                  target="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar/hibernate.cfg.xml" />
-      <fileset dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" override="true" condition="isMySQL">
+      <file src="@{deploy.artifacts.dir}/resources/datasources/jbpm-mysql-ds.xml" 
+           targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm" 
+           condition="isMySQL"/>
+      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-mysql-config" 
+               targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" 
+               condition="isMySQL" />
+      <fileset dir="@{deploy.artifacts.dir}/lib" 
+               targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" 
+               override="true" 
+               condition="isMySQL">
         <include name="mysql-connector-java.jar" />
       </fileset>
 
        <!-- Database Oracle -->
-      <file src="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config/jbpm-oracle-ds.xml" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm" condition="isOracle"/>
-      <singlefile src="@{deploy.artifacts.dir}/resources/jbpm-jpdl-config/hibernate.cfg.oracle.xml" condition="isOracle"
-                  target="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar/hibernate.cfg.xml" />
+      <file src="@{deploy.artifacts.dir}/resources/datasources/jbpm-oracle-ds.xml" 
+            targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm" 
+            condition="isOracle"/>
+      <fileset dir="@{deploy.artifacts.dir}/resources/jbpm-oracle-config" 
+               targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/jbpm/jbpm-service.sar" 
+               condition="isOracle" />
       <!-- NOTE: oracle driver needs to be provided manually -->
 
       <!--
@@ -325,29 +327,5 @@
 
     </pack>
 
-    <!--
-    ==============================
-    Optional Components
-    ==============================
-    <pack name="Optional Components" required="no" preselected="no">
-      <description>Optional jBPM4 Components</description>
-    </pack>
-    -->
-
-    <!-- JBoss-5.0.0 
-    <pack name="Download JBoss-5.0.0" required="no" parent="Optional Components" preselected="no">
-      <description>Download and Install JBoss-5.0.0</description>
-      http://jira.codehaus.org/browse/IZPACK-158 
-      <file src="@{resources.dir}/installer/download-helper.xml" targetdir="$INSTALL_PATH/Uninstaller"/>
-    </pack>
-    -->
-
-    <!-- Eclipse-3.4.0 -->
-    <!--pack name="Download Eclipse-3.4.0" required="no" parent="Optional Components" preselected="no">
-      <description>Download and Install Eclipse-3.4.0</description>
-      http://jira.codehaus.org/browse/IZPACK-158
-      <file src="@{resources.dir}/installer/download-helper.xml" targetdir="$INSTALL_PATH/Uninstaller"/>
-    </pack-->
-
   </packs>
 </installation>
\ No newline at end of file

Modified: jbpm4/trunk/modules/enterprise/pom.xml
===================================================================
--- jbpm4/trunk/modules/enterprise/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/enterprise/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -39,11 +39,11 @@
       <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-pvm</artifactId>
       <version>${version}</version>
-    </dependency>        
+    </dependency>    
     <dependency>
-      <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-spi</artifactId>
-      <version>${version}</version>
+      <groupId>org.jboss.bpm</groupId>
+      <artifactId>gwt-console-server-integration</artifactId>
+      <scope>compile</scope>
     </dependency>
 
     <!-- Test Dependencies -->
@@ -81,8 +81,12 @@
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
-          <excludes>            
-            <exclude>jbpm-destinations-service.xml</exclude>          
+          <excludes>
+            <exclude>jbpm.cfg.xml</exclude>
+            <exclude>jbpm-destinations-service.xml</exclude>
+            <exclude>jbpm-users.properties</exclude>
+            <exclude>jbpm-roles.properties</exclude>
+            <exclude>jboss-service.xml</exclude>
           </excludes>
         </configuration>
       </plugin>

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbRemoteCommandService.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbRemoteCommandService.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbRemoteCommandService.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,76 @@
+/*
+ * 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.enterprise.internal.ejb;
+
+import java.util.Properties;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+
+import org.jbpm.JbpmException;
+import org.jbpm.cmd.Command;
+import org.jbpm.cmd.CommandService;
+import org.jbpm.internal.log.Log;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class EjbRemoteCommandService implements CommandService {
+  
+  private static final Log log = Log.getLog(EjbRemoteCommandService.class.getName());
+
+  protected String initialContextFactory; 
+  protected String providerUrl; 
+  protected String urlPkgPrefixes;
+  
+  protected String jndiName;
+  
+  public EjbRemoteCommandService(String initialContextFactory, String providerUrl, String urlPkgPrefixes, String jndiName) {
+    this.initialContextFactory = initialContextFactory;
+    this.providerUrl = providerUrl;
+    this.urlPkgPrefixes = urlPkgPrefixes;
+    this.jndiName = jndiName;
+  }
+
+  public <T> T execute(Command<T> command) {
+
+    Properties env = new Properties();
+    env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
+    env.put(Context.PROVIDER_URL, providerUrl);
+    env.put(Context.URL_PKG_PREFIXES, urlPkgPrefixes);
+    
+    try {
+      log.debug("creating initial context with env "+env);
+      InitialContext initialContext = new InitialContext(env);
+      log.debug("looking up "+jndiName);
+      RemoteCommandExecutorHome remoteCommandExecutorHome = (RemoteCommandExecutorHome) initialContext.lookup(jndiName);
+      RemoteCommandExecutor remoteCommandExecutor = remoteCommandExecutorHome.create();
+      Object result = remoteCommandExecutor.execute(command);
+      remoteCommandExecutor.remove();
+      return (T) result;
+
+    } catch (Exception e) {
+      throw new JbpmException("couldn't execute remote command", e);
+    }
+  }
+}


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

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/wire/binding/EjbRemoteCommandServiceBinding.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/wire/binding/EjbRemoteCommandServiceBinding.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/wire/binding/EjbRemoteCommandServiceBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,56 @@
+/*
+ * 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.enterprise.internal.wire.binding;
+
+import org.jbpm.enterprise.internal.ejb.EjbRemoteCommandService;
+import org.jbpm.pvm.internal.util.XmlUtil;
+import org.jbpm.pvm.internal.wire.Descriptor;
+import org.jbpm.pvm.internal.wire.binding.WireDescriptorBinding;
+import org.jbpm.pvm.internal.wire.descriptor.ProvidedObjectDescriptor;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class EjbRemoteCommandServiceBinding extends WireDescriptorBinding {
+
+  public EjbRemoteCommandServiceBinding() {
+    super("ejb-remote-command-service");
+  }
+
+  public Object parse(Element element, Parse parse, Parser parser) {
+    String initialContextFactory = XmlUtil.attribute(element, "initial-context-factory", true, parse); 
+    String providerUrl = XmlUtil.attribute(element, "provider-url", true, parse); 
+    String urlPkgPrefixes = XmlUtil.attribute(element, "url-pkg-prefixes", true, parse);
+    String jndiName = XmlUtil.attribute(element, "jndi-name", false, parse, "jbpm/CommandExecutor");
+    
+    EjbRemoteCommandService ejbRemoteCommandService = new EjbRemoteCommandService(initialContextFactory, providerUrl, urlPkgPrefixes, jndiName);
+    Descriptor descriptor = new ProvidedObjectDescriptor(ejbRemoteCommandService, true);
+
+    return descriptor;
+  }
+
+
+}


Property changes on: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/wire/binding/EjbRemoteCommandServiceBinding.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/CommandDelegate.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/CommandDelegate.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/CommandDelegate.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.enterprise.mgmt;
+
+
+import org.jbpm.enterprise.internal.ejb.LocalCommandExecutor;
+import org.jbpm.enterprise.internal.ejb.LocalCommandExecutorHome;
+
+import javax.ejb.CreateException;
+
+/**
+ * Adopts a business interface to the command facade.<br>
+ * Depends on the CommandExecutor(<code>java:jbpm/CommandExecutor</code>).
+ *
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+class CommandDelegate
+{
+  private LocalCommandExecutor facade;
+  private static final String DEFAULT_JNDI_NAME = "java:jbpm/CommandExecutor";
+
+  /*
+  * Lookup with particluar JNDI name.
+  * @param jndiName
+  */
+  public CommandDelegate(String jndiName)
+  {
+    initialize(jndiName);
+  }
+
+  /*
+  * Lookup using default JNDI name.
+  * @see #DEFAULT_JNDI_NAME
+  */
+
+  public CommandDelegate()
+  {
+    initialize(DEFAULT_JNDI_NAME);
+  }
+
+  private void initialize(String jndiName)
+  {
+    try
+    {
+      LocalCommandExecutorHome home = (LocalCommandExecutorHome)ServiceLocator.getEjbLocalHome(jndiName);
+      this.facade = home.create();
+    }
+    catch (CreateException e)
+    {
+      throw new RuntimeException("Failed to create LocalCommandService", e);
+    }
+  }
+}


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

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ManagementFactoryImpl.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ManagementFactoryImpl.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ManagementFactoryImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.enterprise.mgmt;
+
+import org.jboss.bpm.console.server.integration.*;
+import org.jboss.bpm.console.server.util.InvocationProxy;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class ManagementFactoryImpl extends ManagementFactory
+{
+
+  public ProcessManagement createProcessManagement()
+  {
+    return (ProcessManagement)
+        InvocationProxy.newInstance(new ProcessManagementImpl());
+  }
+
+  public TaskManagement createTaskManagement()
+  {
+    throw new RuntimeException("Not implemented");
+  }
+
+  public UserManagement createUserManagement()
+  {
+    throw new RuntimeException("Not implemented");
+  }
+}


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

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ModelAdaptor.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ModelAdaptor.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ModelAdaptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.enterprise.mgmt;
+
+import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
+
+import org.jbpm.model.OpenExecution;
+import org.jbpm.model.OpenProcessDefinition;
+import org.jbpm.model.Transition;
+
+import java.util.Date;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class ModelAdaptor
+{
+  public static ProcessDefinitionRef adoptDefinition(OpenProcessDefinition p0)
+  {
+    ProcessDefinitionRef def = new ProcessDefinitionRef();
+    def.setId( p0.getId() );
+    def.setName(p0.getName());
+    def.setVersion(p0.getVersion());
+
+    def.setKey( p0.getKey() );
+    def.setDescription(p0.getDescription());
+    def.setPackageName(p0.getPackageName());
+    
+    return def;
+
+  }
+
+  public static ProcessInstanceRef adoptExecution(OpenExecution e0)
+  {
+    ProcessInstanceRef ref = new ProcessInstanceRef();
+    ref.setId( e0.getId() );
+    ref.setKey(e0.getKey());
+    ref.setDefinitionId(e0.getProcessDefinition().getId() );    
+    ref.setStartDate( new Date() );                   // TODO: FIXME
+
+    OpenExecution topLevelExecution = e0.getProcessInstance();
+    TokenReference tok = execution2TokenReference(topLevelExecution);
+
+    Collection<OpenExecution> childExecutions = topLevelExecution.getExecutions();
+    if(childExecutions!=null)
+    {
+      for(OpenExecution childExecution : childExecutions)
+      {
+        TokenReference childTok = execution2TokenReference(childExecution);
+        tok.getChildren().add(childTok);
+      }
+    }
+
+    ref.setRootToken(tok);
+    
+    return ref;
+  }
+
+  private static TokenReference execution2TokenReference(OpenExecution topLevelExecution)
+  {
+    TokenReference tok = new TokenReference();
+    tok.setName(topLevelExecution.getName());
+    tok.setId(topLevelExecution.getId());
+    tok.setCurrentNodeName( topLevelExecution.getActivityName() );    
+
+    List<String> availableSignals = new ArrayList<String>();
+    for(Transition t : topLevelExecution.getActivity().getOutgoingTransitions())
+    {
+      availableSignals.add(t.getName());
+    }
+
+    tok.setAvailableSignals(availableSignals);
+    return tok;
+  }
+}


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

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ProcessManagementImpl.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ProcessManagementImpl.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ProcessManagementImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,176 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.enterprise.mgmt;
+
+import org.jboss.bpm.console.server.integration.ProcessManagement;
+import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jbpm.*;
+import org.jbpm.model.OpenProcessDefinition;
+import org.jbpm.model.OpenExecution;
+
+import java.util.*;
+import java.io.InputStream;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+class ProcessManagementImpl implements ProcessManagement
+{
+  private ProcessEngine processEngine;
+
+  public ProcessManagementImpl()
+  {
+    this.processEngine = new Configuration().buildProcessEngine(); 
+  }
+
+  public List<ProcessDefinitionRef> getProcessDefinitions()
+  {
+    List<ProcessDefinitionRef> results = new ArrayList<ProcessDefinitionRef>();
+
+    ProcessService processService = this.processEngine.getProcessService();
+    List<String> keys = processService.findProcessDefinitionKeys();
+    Set<ProcessDefinition> definitions = new HashSet<ProcessDefinition>();
+    for(String key : keys)
+    {
+      definitions.addAll(
+          processService.findProcessDefinitionsByKey(key)
+      );            
+    }
+
+    // adopt ProcessDefinition to console model
+    for(ProcessDefinition p0 : definitions)
+    {
+      results.add( ModelAdaptor.adoptDefinition((OpenProcessDefinition)p0) );
+    }
+
+    return results;
+
+  }
+
+  public ProcessDefinitionRef getProcessDefinition(String procDefId)
+  {
+    ProcessService processService = this.processEngine.getProcessService();
+    ProcessDefinition p0 = processService.findProcessDefinitionById(procDefId);
+    return ModelAdaptor.adoptDefinition((OpenProcessDefinition)p0);
+  }
+
+  public List<ProcessDefinitionRef> removeProcessDefinition(String procDefId)
+  {
+    ProcessService processService = this.processEngine.getProcessService();
+    processService.deleteProcessDefinitionCascade(procDefId);
+    return getProcessDefinitions();
+  }
+
+  public List<ProcessInstanceRef> getProcessInstances(String procDefId)
+  {
+    ExecutionService execService = this.processEngine.getExecutionService();
+    ExecutionQuery query = execService.createExecutionQuery();
+    query.processDefinitionId(String.valueOf(procDefId));
+    
+    List<Execution> executions = query.execute();
+
+    List<ProcessInstanceRef> results = adoptTopLevelExecutions(executions);
+
+    return results;
+  }
+
+  private List<ProcessInstanceRef> adoptTopLevelExecutions(List<Execution> executions)
+  {
+    List<ProcessInstanceRef> results = new ArrayList<ProcessInstanceRef>();
+    for(Execution exec : executions)
+    {
+      if(exec.isEnded())
+      {
+        System.out.println("*** JBPM-2055: Execution ("+exec.getId()+") is already ended. Should not show up in query");
+        continue;
+      }
+
+      if(exec.isProcessInstance()) // parent execution
+      {
+        results.add( ModelAdaptor.adoptExecution((OpenExecution)exec) );
+      }
+    }
+    return results;
+  }
+
+  public ProcessInstanceRef getProcessInstance(String instanceId)
+  {
+    ExecutionService execService = this.processEngine.getExecutionService();
+    ExecutionQuery query = execService.createProcessInstanceQuery();
+    query.processInstanceId(instanceId);
+    List<Execution> executions = query.execute();
+
+    if(executions.size()>1 || executions.isEmpty())
+      throw new IllegalStateException("No precise match for instanceId " + instanceId +". Num results "+executions);
+
+    return ModelAdaptor.adoptExecution( (OpenExecution)executions.get(0));
+  }
+
+  public ProcessInstanceRef newInstance(String definitionId)
+  {
+    ExecutionService execService = this.processEngine.getExecutionService();
+    Execution exec = execService.startProcessInstanceById(definitionId);
+    return ModelAdaptor.adoptExecution((OpenExecution)exec);
+  }
+
+  public void setProcessState(String executionId, ProcessInstanceRef.STATE nextState)
+  {
+    if(ProcessInstanceRef.STATE.ENDED==nextState)
+    {
+      // TODO: It's actually a delte call. Once we got the 'cancel' notion this should be changed
+      ExecutionService execService = this.processEngine.getExecutionService();
+      Execution exec = execService.findExecution(executionId);
+      if(null==exec)
+        throw new IllegalArgumentException("No such execution with id "+ executionId);
+      
+      execService.deleteProcessInstance(executionId);
+    }
+    else
+    {
+      throw new IllegalArgumentException("State " + nextState + " currently not supported");
+    }
+  }
+
+  public void signalExecution(String executionId, String signal)
+  {        
+    ExecutionService execService = this.processEngine.getExecutionService();
+
+    if(null==signal)
+      execService.signalExecutionById(executionId);
+    else
+      execService.signalExecutionById(executionId, signal);
+            
+  }
+
+  public void deploy(String fileName, String contentType, InputStream deployment)
+  {
+    List<ProcessDefinition> definitions =
+        this.processEngine.getProcessService()
+        .createDeployment()
+        .addInputStream(fileName, deployment)
+        .deploy()
+        .getProcessDefinitions();
+    
+  }
+}
+


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

Added: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ServiceLocator.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ServiceLocator.java	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/mgmt/ServiceLocator.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.enterprise.mgmt;
+
+import javax.ejb.EJBLocalHome;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.InitialContext;
+import javax.transaction.UserTransaction;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+class ServiceLocator
+{
+  public static EJBLocalHome getEjbLocalHome(String localHomeJndiName)
+  {
+    EJBLocalHome localHome = null;
+    try
+    {
+      Context ctx = createContext();
+      localHome = (EJBLocalHome) ctx.lookup(localHomeJndiName);
+    }
+    catch (Exception cce)
+    {
+      throw new RuntimeException("Failed load access EJB: " +localHomeJndiName, cce);
+    }
+
+    return localHome;
+  }
+
+  public static UserTransaction getUserTransaction()
+  {
+    UserTransaction tx = null;
+
+    try
+    {
+      Context ctx = createContext();
+      tx = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
+    }
+    catch (Exception e)
+    {
+      throw new RuntimeException("Failed to create UserTransaction");
+    }
+
+    return tx;
+  }
+
+  private static Context createContext()
+      throws NamingException
+  {
+    InitialContext ctx = new InitialContext();
+    return ctx;
+  }
+}
\ No newline at end of file


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

Added: jbpm4/trunk/modules/enterprise/src/main/resources/META-INF/services/org.jboss.bpm.console.server.integration.ManagementFactory
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/resources/META-INF/services/org.jboss.bpm.console.server.integration.ManagementFactory	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/resources/META-INF/services/org.jboss.bpm.console.server.integration.ManagementFactory	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+org.jbpm.enterprise.mgmt.ManagementFactoryImpl
\ No newline at end of file

Added: jbpm4/trunk/modules/enterprise/src/main/resources/jboss-service.xml
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/resources/jboss-service.xml	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/resources/jboss-service.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+  <!-- The custom JAAS login configuration that installs
+      a Configuration capable of dynamically updating the
+      config settings
+  -->
+  <mbean code="org.jboss.security.auth.login.DynamicLoginConfig" name="org.jboss.jbpm:service=LoginConfig">
+    <attribute name="PolicyConfig" serialDataType="jbxb">
+      <jaas:policy xsi:schemaLocation="urn:jboss:security-config:4.1 resource:security-config_4_1.xsd" xmlns:jaas="urn:jboss:security-config:4.1"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        <jaas:application-policy name="jbpm-console">
+          <jaas:authentication>
+
+            <!-- Simple authentication -->
+            <jaas:login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
+                               flag="required">
+              <jaas:module-option name="usersProperties">jbpm-users.properties</jaas:module-option>
+              <jaas:module-option name="rolesProperties">jbpm-roles.properties</jaas:module-option>
+            </jaas:login-module>
+
+
+            <!-- Authenticate against the IDM database -->
+            <!--jaas:login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
+              <jaas:module-option name="dsJndiName">java:/JbpmDS</jaas:module-option>
+              <jaas:module-option name="principalsQuery"> SELECT PASSWORD_ FROM JBPM_ID_USER WHERE NAME_=? </jaas:module-option>
+              <jaas:module-option name="rolesQuery">
+                SELECT g.NAME_ ,'Roles' FROM JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g
+                WHERE g.TYPE_='security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_=? </jaas:module-option>
+            </jaas:login-module-->
+          </jaas:authentication>
+        </jaas:application-policy>
+      </jaas:policy>
+    </attribute>
+    <depends optional-attribute-name="LoginConfigService"> jboss.security:service=XMLLoginConfig</depends>
+    <depends optional-attribute-name="SecurityManagerService"> jboss.security:service=JaasSecurityManager</depends>
+  </mbean>
+</server>


Property changes on: jbpm4/trunk/modules/enterprise/src/main/resources/jboss-service.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-roles.properties
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-roles.properties	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-roles.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+admin=admin
\ No newline at end of file

Added: jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-users.properties
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-users.properties	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/resources/jbpm-users.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1 @@
+admin=admin
\ No newline at end of file

Added: jbpm4/trunk/modules/enterprise/src/main/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/resources/jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/main/resources/jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  jBPM4 enterprise configuration.
+  Uses different command service and environment config.
+  (i.e. skips the TX interceptor)
+-->
+
+<jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
+
+  <process-engine-context>
+
+    <deployer-manager>
+      <assign-file-type>
+        <file extension=".jpdl.xml" type="jpdl" />
+      </assign-file-type>
+      <parse-jpdl />
+      <check-process />
+      <check-problems />
+      <save />
+    </deployer-manager>
+
+    <process-service />
+    <execution-service />
+    <management-service />
+
+    <ejb-local-command-service>
+      <home jndi-name="java:jbpm/CommandExecutor"/>
+    </ejb-local-command-service>
+
+    <hibernate-configuration resource="hibernate.cfg.xml"/>
+
+    <hibernate-session-factory />
+
+    <id-generator />
+    <types resource="jbpm.pvm.types.xml" />
+
+    <business-calendar>
+      <monday    hours="9:00-12:00 and 12:30-17:00"/>
+      <tuesday   hours="9:00-12:00 and 12:30-17:00"/>
+      <wednesday hours="9:00-12:00 and 12:30-17:00"/>
+      <thursday  hours="9:00-12:00 and 12:30-17:00"/>
+      <friday    hours="9:00-12:00 and 12:30-17:00"/>
+      <holiday period="01/07/2008 - 31/08/2008"/>
+    </business-calendar>
+
+  </process-engine-context>
+
+  <transaction-context>
+    <hibernate-session current="true" />
+    <pvm-db-session />
+    <job-db-session />
+    <ejb-timer-session />
+  </transaction-context>
+
+</jbpm-configuration>


Property changes on: jbpm4/trunk/modules/enterprise/src/main/resources/jbpm.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/EjbTimerSessionTest.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/EjbTimerSessionTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/EjbTimerSessionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -80,9 +80,13 @@
       .startActivity("end", new ObjectDescriptor(WaitState.class))
       .endActivity()
     .endProcess();
+
     // deploy process
-    environment.get(ProcessService.class).createDeployment().addObject(processDefinition.getName(),
-        processDefinition).deploy();
+    environment.get(ProcessService.class)
+      .createDeployment()
+      .addProcessDefinition(processDefinition)
+      .deploy();
+
     processDefinitionId = processDefinition.getId();
   }
 

Modified: jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/TimerTest.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/TimerTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/TimerTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -130,8 +130,11 @@
   public void testHappyTimer() throws CreateException {
     // deploy process
     listenerDescriptor.setClassName(HappyListener.class.getName());
-    environment.get(ProcessService.class).createDeployment().addObject(processDefinition.getName(),
-        processDefinition).deploy();
+    environment.get(ProcessService.class)
+      .createDeployment()
+      .addProcessDefinition(processDefinition)
+      .deploy();
+    
     // start execution
     Execution execution = environment.get(ExecutionService.class).startProcessInstanceById(
         processDefinition.getId());
@@ -172,8 +175,11 @@
   public void testNoisyTimer() throws CreateException {
     // deploy process
     listenerDescriptor.setClassName(NoisyListener.class.getName());
-    environment.get(ProcessService.class).createDeployment().addObject(processDefinition.getName(),
-        processDefinition).deploy();
+    environment.get(ProcessService.class)
+      .createDeployment()
+      .addProcessDefinition(processDefinition)
+      .deploy();
+
     // start execution
     ExecutionService executionService = environment.get(ExecutionService.class);
     ExecutionImpl execution = (ExecutionImpl) executionService.startProcessInstanceById(processDefinition
@@ -222,8 +228,11 @@
   public void testCyclicTimer() throws CreateException {
     // deploy process
     listenerDescriptor.setClassName(HappyListener.class.getName());
-    environment.get(ProcessService.class).createDeployment().addObject(processDefinition.getName(),
-        processDefinition).deploy();
+    environment.get(ProcessService.class)
+      .createDeployment()
+      .addProcessDefinition(processDefinition)
+      .deploy();
+
     // start execution
     ExecutionImpl execution = (ExecutionImpl) environment.get(ExecutionService.class)
         .startProcessInstanceById(processDefinition.getId());

Added: jbpm4/trunk/modules/enterprise/src/test/resources/META-INF/application.xml
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/resources/META-INF/application.xml	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/test/resources/META-INF/application.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<application version="5"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee">
+
+  <display-name>JBoss jBPM enterprise beans</display-name>
+
+  <module>
+    <web>
+      <web-uri>jbpm-enterprise-test.war</web-uri>
+      <context-root>/jbpm-enterprise-test</context-root>
+    </web>
+  </module>
+  <library-directory>lib</library-directory>
+
+</application>


Property changes on: jbpm4/trunk/modules/enterprise/src/test/resources/META-INF/application.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/jboss-web.xml
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/jboss-web.xml	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/jboss-web.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN" 
+  "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd" >
+<jboss-web>
+
+  <!--resource-ref>
+    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
+    <jndi-name>java:ConnectionFactory</jndi-name>
+  </resource-ref-->
+
+</jboss-web>


Property changes on: jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/jboss-web.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/web.xml
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/web.xml	                        (rev 0)
+++ jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/web.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+  <servlet>
+    <servlet-name>ServletRedirector</servlet-name>
+    <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>ServletRedirector</servlet-name>
+    <url-pattern>/ServletRedirector</url-pattern>
+  </servlet-mapping>
+
+  <!--ejb-local-ref>
+    <ejb-ref-name>ejb/LocalCommandExecutor</ejb-ref-name>
+    <ejb-ref-type>Session</ejb-ref-type>
+    <local-home>org.jbpm.enterprise.internal.ejb.LocalCommandExecutorHome</local-home>
+    <local>org.jbpm.enterprise.internal.ejb.LocalCommandExecutor</local>
+    <ejb-link>CommandExecutor</ejb-link>
+  </ejb-local-ref>
+
+  <ejb-local-ref>
+    <ejb-ref-name>ejb/LocalTimer</ejb-ref-name>
+    <ejb-ref-type>Entity</ejb-ref-type>
+    <local-home>org.jbpm.enterprise.internal.ejb.LocalTimerHome</local-home>
+    <local>org.jbpm.enterprise.internal.ejb.LocalTimer</local>
+    <ejb-link>Timer</ejb-link>
+  </ejb-local-ref>
+
+  <resource-ref>
+    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
+    <res-type>javax.jms.ConnectionFactory</res-type>
+    <res-auth>Container</res-auth>
+    <res-sharing-scope>Shareable</res-sharing-scope>
+  </resource-ref>
+
+  <message-destination-ref>
+    <message-destination-ref-name>jms/CommandQueue</message-destination-ref-name>
+    <message-destination-type>javax.jms.Queue</message-destination-type>
+    <message-destination-usage>Produces</message-destination-usage>
+    <message-destination-link>CommandQueue</message-destination-link>
+  </message-destination-ref-->
+</web-app>


Property changes on: jbpm4/trunk/modules/enterprise/src/test/resources/WEB-INF/web.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/examples/pom.xml
===================================================================
--- jbpm4/trunk/modules/examples/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/examples/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -11,6 +11,8 @@
 
 <!-- $Id$ -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  
+  <!-- Module Info -->
   <modelVersion>4.0.0</modelVersion>
   <name>jBPM 4 - Examples</name>
   <groupId>org.jbpm.jbpm4</groupId>
@@ -30,35 +32,24 @@
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-api</artifactId>
-      <version>${version}</version>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-test-base</artifactId>
-      <version>${version}</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-jpdl</artifactId>    
-      <version>${version}</version>
-      <scope>test</scope>
-      <!--exclusions> TODO: Re-enable when JBPM-1997 is done.
-        <exclusion>
-          <artifactId>org.jbpm.jbpm4</artifactId>
-          <groupId>jbpm-pvm</groupId>
-        </exclusion>        
-      </exclusions-->
+      <scope>runtime</scope>
     </dependency>
+
     <dependency>
-      <groupId>org.jbpm.jbpm4.dependencies.esb</groupId>
-      <artifactId>test-util</artifactId>
-      <scope>test</scope>
-    </dependency>
-     <dependency>
       <groupId>org.codehaus.woodstox</groupId>
       <artifactId>wstx-lgpl</artifactId>
       <scope>test</scope>
-    </dependency>   
+    </dependency>
+
     <dependency>
       <groupId>org.jbpm.jbpm4.dependencies.esb</groupId>
       <artifactId>jbossesb-rosetta</artifactId>
@@ -66,56 +57,100 @@
     <dependency>
       <groupId>org.jbpm.jbpm4.dependencies.esb</groupId>
       <artifactId>test-util</artifactId>
+      <scope>test</scope>
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>                                                   
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>unpack.jbpm.db</id>
-            <phase>generate-test-resources</phase>
-            <goals>
-              <goal>unpack</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>org.jbpm.jbpm4</groupId>
-                  <artifactId>jbpm-jpdl</artifactId>
-                  <classifier>config</classifier>
-                  <overWrite>true</overWrite>
-                </artifactItem>
-              </artifactItems>
-              <excludeTransitive>true</excludeTransitive>
-              <outputDirectory>target/jpdl-config</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
 
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>install.hibernate.database.properties</id>
-            <phase>generate-test-resources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <copy file="target/jpdl-config/hibernate.cfg.${database}.xml"
-                      tofile="target/test-classes/examples-hibernate.cfg.xml"
-                      overwrite="true" />
-              </tasks>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
+  <profiles>
+    <!-- -Ddatabase= -->
+    <profile>
+      <id>use.database.directly</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo>Overwriting db configuration for ${database}</echo>
+                    <ant antfile="../distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+                      <property name="config.files.dir" value="${basedir}/target/test-classes" />
+                      <property name="tmp.dir" value="${basedir}/target/config-tmp" />
+                      <property name="database" value="${database}" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
 
-    </plugins>
-  </build>
+    <!-- -Djboss.bind.address= --> 
+    <profile>
+      <id>use.jboss.directly</id>
+      <activation>
+        <property>
+          <name>jboss.bind.address</name>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.jbpm.jbpm4</groupId>
+          <artifactId>jbpm-enterprise</artifactId>    
+          <scope>runtime</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.client</groupId>
+          <artifactId>jbossall-client</artifactId>
+          <scope>runtime</scope>
+        </dependency>
+        <dependency>
+        	<groupId>org.jboss.client</groupId>
+        	<artifactId>jboss-client</artifactId>
+        	<scope>runtime</scope>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo>Overwriting db configuration for ${database}</echo>
+                    <ant antfile="../distro/src/main/resources/config-tool/build.xml" 
+                         target="create.remote.configuration" 
+                         inheritall="false">
+                      <property name="jboss.bind.address" value="${jboss.bind.address}" />
+                      <property name="config.files.dir" value="${basedir}/target/test-classes" />
+                      <property name="tmp.dir" value="${basedir}/target/config-tmp" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
 </project>
\ No newline at end of file

Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/Order.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/Order.java	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/Order.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.examples.task.assignee;
+
+import java.io.Serializable;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class Order implements Serializable {
+  
+  String owner;
+
+  public Order(String owner) {
+    this.owner = owner;
+  }
+
+  public String getOwner() {
+    return owner;
+  }
+
+  public void setOwner(String owner) {
+    this.owner = owner;
+  }
+}


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

Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/TaskAssigneeTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/TaskAssigneeTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/assignee/TaskAssigneeTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.examples.task.assignee;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskAssigneeTest extends JbpmTestCase {
+
+  public void testTaskAssignee() {
+    deployJpdlResource("org/jbpm/examples/task/assignee/process.jpdl.xml");
+    
+    Map<String, Object> variables = new HashMap<String, Object>(); 
+    variables.put("order", new Order("johndoe"));
+    Execution execution = executionService.startProcessInstanceByKey("TaskAssignee", variables);
+    String executionId = execution.getId();
+    
+    List<Task> taskList = taskService.getPersonalTaskList("johndoe", 0, 10);
+    assertEquals(1, taskList.size());
+    Task task = taskList.get(0);
+    assertEquals("review", task.getName());
+    assertEquals("johndoe", task.getAssignee());
+
+    // submit the task
+    taskService.submitTask(task.getDbid());
+    
+    // verify that the task list is now empty
+    taskList = taskService.getPersonalTaskList("johndoe", 0, 10);
+    assertEquals(0, taskList.size());
+
+    // verify that process moved to the next state
+    execution = executionService.findExecution(executionId);
+    assertEquals("wait", execution.getActivityName());
+  }
+
+}


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

Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/candidates/TaskCandidatesTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/candidates/TaskCandidatesTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/candidates/TaskCandidatesTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.examples.task.candidates;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.examples.task.assignee.Order;
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskCandidatesTest extends JbpmTestCase {
+
+  public void testTaskAssignee() {
+    /*
+    deployJpdlResource("org/jbpm/examples/task/candidates/process.jpdl.xml");
+    
+    Map<String, Object> variables = new HashMap<String, Object>(); 
+    variables.put("order", new Order("johndoe"));
+    Execution execution = executionService.startProcessInstanceByKey("TaskCandidates", variables);
+    String executionId = execution.getId();
+    
+    List<Task> taskList = taskService.getGroupTaskList("johndoe", 0, 10);
+    assertEquals(1, taskList.size());
+    Task task = taskList.get(0);
+    assertEquals("review", task.getName());
+
+    taskList = taskService.getGroupTaskList("joesmoe", 0, 10);
+    assertEquals(1, taskList.size());
+    task = taskList.get(0);
+    assertEquals("review", task.getName());
+
+    // submit the task
+    taskService.takeTask(task.getDbid());
+    
+    // verify that the group task lists are now empty
+    taskList = taskService.getPersonalTaskList("johndoe", 0, 10);
+    assertEquals(0, taskList.size());
+
+    // verify that process moved to the next state
+    execution = executionService.findExecution(executionId);
+    assertEquals("wait", execution.getActivityName());
+    */
+  }
+}


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

Deleted: jbpm4/trunk/modules/examples/src/test/resources/examples-hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/examples-hibernate.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/examples/src/test/resources/examples-hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,35 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-
-<!DOCTYPE hibernate-configuration PUBLIC
-          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
-
-<hibernate-configuration>
-  <session-factory>
-
-    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
-    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>    
-    <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
-    <property name="hibernate.connection.username">sa</property>
-    <property name="hibernate.connection.password"></property>
-
-    <property name="hibernate.hbm2ddl.auto">create</property>
-
-    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
-
-    <property name="hibernate.format_sql">true</property>
-
-    <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
-    <mapping resource="jbpm.pvm.wire.hbm.xml" />
-    <mapping resource="jbpm.pvm.definition.hbm.xml" />
-    <mapping resource="jbpm.pvm.execution.hbm.xml" />
-    <mapping resource="jbpm.pvm.variable.hbm.xml" />
-    <mapping resource="jbpm.pvm.job.hbm.xml" />
-    <mapping resource="jbpm.pvm.history.hbm.xml" />
-    <mapping resource="jbpm.task.hbm.xml" />
-    <mapping resource="jbpm.jpdl.hbm.xml" />
-
-  </session-factory>
-  
-</hibernate-configuration>
-    
\ No newline at end of file

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.cache.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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/trunk/modules/examples/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -4,47 +4,47 @@
 
   <process-engine-context>
   
-    <deployer-manager>
-      <assign-file-type>
-        <file extension=".jpdl.xml" type="jpdl" />
-      </assign-file-type>
-      <parse-jpdl />
-      <check-process />
-      <check-problems />
-      <save />
-    </deployer-manager>
-    
     <process-service />
     <execution-service />
     <history-service />
     <management-service />
     <task-service />
-  
+    <identity-service />
     <command-service>
       <retry-interceptor />
       <environment-interceptor />
       <standard-transaction-interceptor />
     </command-service>
     
-    <hibernate-configuration resource="examples-hibernate.cfg.xml">      
-      <cache-configuration resource="jbpm.pvm.cache.xml" 
+    <hibernate-configuration>
+      <cfg resource="jbpm.hibernate.cfg.xml" />     
+      <cache-configuration resource="jbpm.cache.xml" 
                            usage="nonstrict-read-write" />
     </hibernate-configuration>
-    
+
     <hibernate-session-factory />
-    
+
+    <deployer-manager>
+      <assign-file-type>
+        <file extension=".jpdl.xml" type="jpdl" />
+      </assign-file-type>
+      <parse-jpdl />
+      <check-process />
+      <check-problems />
+      <save />
+    </deployer-manager>
+
     <script-manager default-expression-language="juel"
                     default-script-language="juel"
                     read-contexts="execution, environment, process-engine"
                     write-context="">
         <script-language name="juel" factory="com.sun.script.juel.JuelScriptEngineFactory" />
     </script-manager>
-    
+
     <job-executor auto-start="false" />
-    <job-test-helper />
 
     <id-generator />
-    <types resource="jbpm.pvm.types.xml" />
+    <types resource="jbpm.variable.types.xml" />
 
     <business-calendar>
       <monday    hours="9:00-12:00 and 12:30-17:00"/>
@@ -66,6 +66,7 @@
     <message-session />
     <timer-session />
     <history-session />
+    <identity-session />
   </transaction-context>
 
 </jbpm-configuration>

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,641 @@
+<?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">
+    <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <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="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/trunk/modules/examples/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,375 @@
+<?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">
+
+  <!-- ### TYPEDEFS ####################################################### -->
+  <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
+    <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter"    >bool-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter"         >byte-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter"  >char-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter"         >date-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter"       >date-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter"     >double-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter"      >float-double</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter"      >float-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter"      >int-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter"        >short-long</param>
+  </typedef>
+
+  <!-- ### PROCESS DEFINITION ############################################# -->
+  <class name="ExecutionImpl" table="JBPM_EXECUTION">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACT_"
+                 lazy="false"
+                 foreign-key="FK_EXEC_ACT"
+                 index="IDX_EXEC_ACT" />
+
+    <property name="hasVariables" column="HASVARS_" />
+    <map name="variables"
+         cascade="all-delete-orphan"
+         table="JBPM_VARIABLE">
+      <key foreign-key="FK_VAR_EXECUTION">
+         <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
+      </key>
+      <map-key type="string" column="KEY_" />
+      <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
+    </map>
+    
+    <property name="hasTimers" column="HASTIMERS_" />
+    <set name="timers"
+         cascade="all-delete-orphan">
+      <key foreign-key="FK_TMR_EXECUTION">
+         <column name="EXECUTION_" />
+      </key>
+      <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
+    </set>
+
+    <property name="name" column="NAME_" />
+    <property name="key" column="KEY_" />
+    <property name="id" column="ID_" unique="true" />
+
+    <property name="state" column="STATE_" />
+
+    <property name="priority" column="PRIORITY_" />
+    <property name="historyActivityInstanceDbid" column="HISACTINST_" />
+
+    <many-to-one name="processDefinition"
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCESS_"
+                 foreign-key="FK_EXEC_PROCESS" 
+                 index="IDX_EXEC_PROCESS" />
+
+    <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
+
+    <many-to-one name="transitionOrigin" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="TRANSORIG_"
+                 foreign-key="FK_EXEC_TRANSORIG"
+                 index="IDX_EXEC_TRANSORIG" />
+
+    <list name="executions" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="ExecutionImpl" />
+    </list>
+
+    <many-to-one name="parent"
+                 column="PARENT_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_PARENT"
+                 index="IDX_EXEC_PARENT" />
+
+    <many-to-one name="processInstance"
+                 class="ExecutionImpl" 
+                 column="INSTANCE_"
+                 foreign-key="FK_EXEC_INSTANCE"
+                 index="IDX_EXEC_INSTANCE" />
+
+    <many-to-one name="superProcessExecution"
+                 column="SUPEREXEC_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_SUPEREXEC"
+                 index="IDX_EXEC_SUPEREXEC" />
+  </class>
+
+  <!-- ### COMMENTS ####################################################### -->
+  <class name="CommentImpl" table="JBPM_COMMENT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="userId" column="USERID_" />
+    <property name="time" column="TIME_" />
+    <property name="message" column="MESSAGE_" />
+
+    <list name="comments" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="none" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="CommentImpl" />
+    </list>
+  </class>
+  
+  <!-- ### VARIABLE ####################################################### -->
+  <class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
+    <!-- discriminator values:
+    date   : org.jbpm.pvm.internal.type.variable.DateVariable
+    double : org.jbpm.pvm.internal.type.variable.DoubleVariable
+    hibl   : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
+    long   : org.jbpm.pvm.internal.type.variable.LongVariable
+    hibs   : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
+    string : org.jbpm.pvm.internal.type.variable.StringVariable
+    null   : org.jbpm.pvm.internal.type.variable.NullVariable
+    blob   : org.jbpm.pvm.internal.type.variable.BlobVariable
+    clob   : org.jbpm.pvm.internal.type.variable.ClobVariable
+    -->
+  
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="key" column="KEY_"/>
+    <property name="queryText" column="QUERYTEXT_" />
+    <property name="converter" type="converter" column="CONVERTER_" />
+    <many-to-one name="processInstance"
+                 column="PROCINST_" 
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"
+                 foreign-key="FK_VAR_PROCINST"
+                 index="IDX_VAR_PROCINST"/>
+  </class>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
+    <property name="date" column="DATE_VALUE_" type="timestamp"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
+    <property name="d" column="DOUBLE_VALUE_" type="double"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
+    <property name="hibernatable" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
+    <property name="l" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
+    <property name="hibernatable" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
+    <property name="string" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="FK_VAR_LOB"
+                 index="IDX_VAR_LOB" />
+  </subclass>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="none"/>
+  </subclass>
+  
+  <!-- ### LOB ############################################################ -->
+  <class name="org.jbpm.pvm.internal.lob.Lob" table="JBPM_LOB">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    <property name="blob" type="blob" column="BLOB_VALUE_" />
+    <property name="bytes" type="binary" column="BINARY_VALUE_"/>
+    <property name="clob" type="clob" column="CLOB_VALUE_" />
+    <property name="text" type="text" column="TEXT_VALUE_"/>
+  </class>
+  
+    <class name="org.jbpm.pvm.internal.job.JobImpl" table="JBPM_JOB" discriminator-value="Job">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="dueDate" column="DUEDATE_" type="timestamp" index="IDX_JOBDUEDATE"  />
+    <property name="isSuspended" column="ISSUSPENDED_" />
+    <property name="isExclusive" column="ISEXCLUSIVE_" />
+    <property name="lockOwner" column="LOCKOWNER_" />
+    <property name="lockExpirationTime" column="LOCKEXPTIME_" index="IDX_JOBLOCKEXP" />
+    <property name="info" column="INFO_" />
+    <property name="exception" column="EXCEPTION_" type="text" />
+    <property name="retries" column="RETRIES_" index="IDX_JOBRETRIES" />
+    
+    <many-to-one name="processInstance"   
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="PROCESSINSTANCE_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_PRINST"
+                 index="IDX_JOB_PRINST"/>
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="EXECUTION_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_EXE"
+                 index="IDX_JOB_EXE"/>
+    <many-to-one name="commandDescriptor"
+                 column="CMDDESCR_"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" 
+                 cascade="all"
+                 foreign-key="FK_JOB_CMDDESCR"
+                 index="IDX_JOB_CMDDESCR"/>
+
+    <subclass name="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="Msg">
+      <subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeActivityMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
+        <property name="signalName" column="SIGNAL_" />
+        <many-to-one name="activity"   
+                     column="NODE_" 
+                     cascade="none"
+                     foreign-key="FK_JOB_NODE"/>
+      </subclass>
+      <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
+      <subclass name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
+    </subclass>
+    
+    <subclass name="org.jbpm.pvm.internal.job.TimerImpl" discriminator-value="Timer">
+      <property name="signalName" column="SIGNAL_" />
+      <property name="eventName" column="EVENT_" />
+      <property name="repeat" column="REPEAT_" />
+    </subclass>
+     
+  </class>
+
+  <!-- ### HibernatePvmDbSession QUERIES ################################## -->
+
+  <query name="findTimers">
+    <![CDATA[
+     select t
+     from org.jbpm.pvm.internal.job.TimerImpl as t
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <query name="findMessages">
+    <![CDATA[
+     select m
+     from org.jbpm.pvm.internal.job.MessageImpl as m
+    ]]>
+  </query>
+
+  <query name="findJobsWithException">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.retries = 0 
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <!-- ### HibernateJobDbSession QUERIES ################################## -->
+  <query name="findFirstAcquirableJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where ( ( (job.lockExpirationTime is null)
+               or (job.lockExpirationTime <= :now) 
+             )
+             and 
+             ( (job.dueDate is null)
+               or (job.dueDate <= :now) 
+             ) 
+             and 
+             ( job.retries > 0 ) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+
+  <query name="findExclusiveJobs">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.processInstance = :processInstance 
+       and job.isExclusive = true 
+       and job.retries > 0 
+       and ( (job.dueDate is null)
+             or (job.dueDate <= :now) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <query name="findFirstDueJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.retries > 0 
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <!-- ### HibernatePvmDbSession QUERIES ############################################# -->
+  <query name="findExecutionById">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.id = :id
+    ]]>
+  </query>
+
+  <query name="findProcessInstanceById">
+    <![CDATA[
+     select processInstance
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.id = :processInstanceId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+  <query name="findExecutionByKey">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.key = :executionKey
+       and execution.processDefinition.name = :processDefinitionName
+    ]]>
+  </query>
+  
+  <query name="findProcessInstanceIds">
+    <![CDATA[
+     select processInstance.id
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.processDefinition.id = :processDefinitionId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/jbpm.execution.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.hibernate.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+      <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
+      <property name="hibernate.connection.username">sa</property>
+      <property name="hibernate.connection.password"></property>
+      <property name="hibernate.hbm2ddl.auto">create-drop</property>
+      <property name="hibernate.format_sql">true</property>
+      <property name="hibernate.cache.use_second_level_cache">true</property>
+      <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+      <mapping resource="jbpm.definition.hbm.xml" />
+      <mapping resource="jbpm.execution.hbm.xml" />
+      <mapping resource="jbpm.history.hbm.xml" />
+      <mapping resource="jbpm.task.hbm.xml" />
+      <mapping resource="jbpm.jpdl.hbm.xml" />
+      <mapping resource="jbpm.identity.hbm.xml" />
+  </session-factory>
+</hibernate-configuration>


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/jbpm.hibernate.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,73 @@
+<?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.history.model" default-access="field">
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryProcessInstanceImpl" table="JBPM_HIST_PROCINST">
+    <id name="processInstanceId" column="ID_">
+      <generator class="assigned" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="processDefinitionId" column="PROCDEFID_" />
+    <property name="key" column="KEY_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="state" column="STATE_" />
+    <property name="endActivityName" column="ENDACTIVITY_" />
+
+    <many-to-one name="processDefinition" 
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCDEF_"
+                 foreign-key="FK_HISTPI_PROCDEF"
+                 index="IDX_HISTPI_PROCDEF" />
+                 
+    <set name="historyActivityInstances"
+         cascade="all">
+      <key>
+         <column name="HPI_" />
+      </key>
+      <one-to-many class="HistoryActivityInstanceImpl" />
+    </set>
+                 
+  </class>
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryActivityInstanceImpl" table="JBPM_HIST_ACTINST" discriminator-value="ACT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <many-to-one name="historyProcessInstance" 
+                 class="HistoryProcessInstanceImpl" 
+                 column="HPI_"
+                 foreign-key="FK_HAI_HPI"
+                 index="IDX_HAI_HPI" />
+
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACTIVITY_"
+                 foreign-key="FK_HISTAI_ACT"
+                 index="IDX_HISTAI_ACT" />
+
+    <property name="executionId" column="EXECUTION_" />
+    <property name="activityName" column="ACTIVITY_NAME_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="transitionName" column="TRANSITION_" />
+
+    <subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
+      <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+    </subclass>
+    
+    <subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
+      <property name="assignee" column="ASSIGNEE_" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/jbpm.history.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.identity.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.identity.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.identity.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,57 @@
+<?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.identity.impl" default-access="field">
+
+  <!-- ### USER ########################################################### -->
+  <class name="UserImpl" table="JBPM_ID_USER">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="givenName" column="GIVENNAME_" />
+    <property name="familyName" column="FAMILYNAME_" />
+  </class>
+  
+  <!-- ### MEMBERSHIP ##################################################### -->
+  <class name="MembershipImpl" table="JBPM_ID_MEMBERSHIP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="user"
+                 column="USER_" 
+                 class="UserImpl"
+                 foreign-key="FK_MEM_USER"
+                 index="IDX_MEM_USER"/>
+
+    <many-to-one name="group"
+                 column="GROUP_" 
+                 class="GroupImpl"
+                 foreign-key="FK_MEM_GROUP"
+                 index="IDX_MEM_GROUP"/>
+
+    <property name="role" column="NAME_" />
+  </class>
+  
+  <!-- ### GROUP ########################################################### -->
+  <class name="GroupImpl" table="JBPM_ID_GROUP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="type" column="TYPE_" />
+
+    <many-to-one name="parent"
+                 column="PARENT_" 
+                 class="GroupImpl"
+                 foreign-key="FK_GROUP_PARENT"
+                 index="IDX_GROUP_PARENT"/>
+  </class>
+  
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/jbpm.identity.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.activities.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+<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" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ForkBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JoinBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.HqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.SqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ScriptBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EsbBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.TaskBinding" />
+</activities>


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

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,95 @@
+<?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 default-access="field">
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlProcessDefinition" table="JBPM_JPDL_PROCDEF"  extends="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" table="JBPM_JPDL_EXECUTION" extends="org.jbpm.pvm.internal.model.ExecutionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <class name="org.jbpm.jpdl.internal.activity.JpdlActivity" table="JBPM_JPDL_ACTIVITY"  abstract="true" discriminator-value="X">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+      <property name="expr" column="TEXT_" />
+      <property name="lang" column="TEXT2_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
+      <property name="exclusiveHandlerName" column="TEXT_" />
+      <many-to-one name="exclusiveHandlerDescriptor"
+                   column="EXCLDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_EXCLDESCR"
+                   index="IDX_ACT_EXCLDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.StateActivity" discriminator-value="state" />
+    <subclass name="org.jbpm.jpdl.internal.activity.EndActivity" discriminator-value="end">
+      <property name="endProcessInstance" column="ENDPI_" />
+      <property name="state" column="TEXT_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ForkActivity" discriminator-value="fork" />
+    <subclass name="org.jbpm.jpdl.internal.activity.JoinActivity" discriminator-value="join" />
+    <subclass name="org.jbpm.jpdl.internal.activity.HqlActivity" discriminator-value="hql">
+      <property name="query" column="TEXT_" />
+      <property name="resultVariableName" column="TEXT2_" />
+      <property name="isResultUnique" column="ISUNIQ_" />
+      <many-to-one name="parametersDescriptor"
+                   column="PARAMDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+                   foreign-key="FK_ACT_PARAMDESCR"
+                   index="IDX_ACT_PARAMDESCR" />
+      
+      <subclass name="org.jbpm.jpdl.internal.activity.SqlActivity" discriminator-value="sql" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.JavaActivity" discriminator-value="java">
+      <property name="methodName" column="TEXT_" />
+      <property name="variableName" column="TEXT2_" />
+      <many-to-one name="descriptor"
+                   column="JAVADESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_JAVADESCR"
+                   index="IDX_ACT_JAVADESCR" />
+      <many-to-one name="invokeOperation"
+                   column="INVOPER_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
+                   foreign-key="FK_ACT_INVKOPER"
+                   index="IDX_ACT_INVKOPER" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ScriptActivity" discriminator-value="script">
+      <property name="script" column="TEXT_" />
+      <property name="language" column="TEXT2_" />
+      <property name="variableName" column="TEXT3_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.EsbActivity" discriminator-value="esb">
+      <property name="service" column="TEXT_" />
+      <property name="category" column="TEXT2_" />
+      <many-to-one name="partsListDescriptor"
+               column="PARTSDESCR_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+               foreign-key="FK_ACT_PARTSDESCR"
+               index="IDX_ACT_PARTSDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
+      <many-to-one name="taskDefinition"
+               column="TASKDEF_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.task.TaskDefinitionImpl"
+               foreign-key="FK_ACT_TASKDEF"
+               index="IDX_ACT_TASKDEF" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


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

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,174 @@
+<?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 auto-import="false" package="org.jbpm.pvm.internal.task" default-access="field">
+
+  <!-- ### TASK DEFINITION ################################################ -->
+  <class name="TaskDefinitionImpl" discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+
+    <property name="priority" column="PRIORITY_"/>
+    <property name="dueDateDuration" column="DUEDATE_"/>
+    <property name="isBlocking" column="BLOCK_"/>
+    <property name="isSignalling" column="SIGNAL_"/>
+    <property name="assigneeExpression" column="ASSIGNEE_EXPR_"/>
+    <property name="candidatesExpression" column="CANDIDATES_EXPR_"/>
+
+    <many-to-one name="assignerDescriptor"
+                 column="ASSIGNER_DESCR_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                 foreign-key="FK_TSK_ASIG_DESCR"
+                 index="IDX_TSK_ASIG_DESCR" />
+
+    <many-to-one name="swimlaneDefinition"
+                 column="SWIMLANE_DEF_" 
+                 cascade="all"
+                 class="SwimlaneDefinitionImpl"
+                 foreign-key="FK_TSK_SWIML_DEF"
+                 index="IDX_TSK_SWIML_DEF" />
+
+		<list name="subTaskDefinitions" cascade="all-delete-orphan">
+			<key column="TASKDEF_" />
+			<list-index column="TASKDEF_IDX_" />
+			<one-to-many class="TaskDefinitionImpl" />
+		</list>
+  </class>
+  
+  <!-- ### TASK ########################################################### -->
+  <class name="TaskImpl" 
+         discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="id" column="ID_" unique="true" />
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+    
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="TASK_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+    <property name="priority" column="PRIORITY_"/>
+    <property name="create" column="CREATE_"/>
+    <property name="dueDate" column="DUEDATE_"/>
+    <property name="progress" column="PROGRESS_"/>
+    
+    <!-- 
+    <many-to-one name="variableMap"
+                 class="org.jbpm.pvm.impl.VariableMap" 
+                 column="VARMAP_" 
+                 foreign-key="FK_TASK_VARMAP"
+                 cascade="all" />
+    -->
+
+    <many-to-one name="superTask"
+                 class="TaskImpl" 
+                 column="SUPERTASK_" 
+                 foreign-key="FK_TASK_SUPERTASK" 
+                 index="IDX_TASK_SUPERTASK" />
+
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="EXECUTION_" 
+                 foreign-key="FK_TASK_EXEC" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_TASK_SWIML" />
+
+		<list name="comments" cascade="all-delete-orphan">
+			<key column="TASK_" />
+			<list-index column="TASK_IDX_" />
+			<one-to-many class="org.jbpm.pvm.internal.model.CommentImpl" />
+		</list>
+
+    <set name="subTasks" cascade="all-delete-orphan">
+      <key column="SUPERTASK_" />
+      <one-to-many class="TaskImpl" />
+    </set>
+    
+  </class>
+  
+  <!-- ### PARTICIPANT #################################################### -->
+  <class name="ParticipantImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="identityType" column="IDENTITYTYPE_"/>
+    <property name="identityId" column="IDENTITYID_"/>
+    <property name="participation" column="PARTICIPATION_" />
+
+    <many-to-one name="task"
+                 class="TaskImpl" 
+                 column="TASK_" 
+                 index="IDX_PART_TASK"
+                 foreign-key="FK_PART_TASK" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_PART_SWIMLANE" />
+
+  </class>
+  
+  <!-- ### SWIMLANE DEFINITION ############################################ -->
+  <class name="SwimlaneDefinitionImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+  </class>
+
+
+  <!-- ### SWIMLANE ####################################################### -->
+  <class name="SwimlaneImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+
+    <many-to-one name="swimlaneDefinition"
+                 class="SwimlaneDefinitionImpl" 
+                 column="SWIMLANEDEF_" 
+                 foreign-key="FK_SWIMLANE_DEF" />
+
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="SWIMLANE_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+  </class>
+  
+  
+  <!-- ### QUERIES ######################################################## -->
+
+  <query name="findTasks">
+    <![CDATA[
+     select task
+     from org.jbpm.pvm.internal.task.TaskImpl as task
+    ]]>
+  </query>
+
+</hibernate-mapping>


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

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.lifecycle.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.lifecycle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.task.lifecycle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,13 @@
+<task-lifecycle initial="open">
+  <state name="open">
+    <transition name="complete" to="completed" />
+    <transition name="suspend" to="suspended" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="suspended">
+    <transition name="resume" to="open" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="cancelled" />
+  <state name="completed" />
+</task-lifecycle>


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

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.variable.types.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.variable.types.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.variable.types.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,34 @@
+<types>
+
+  <!-- types stored in a native column -->
+  <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="long"   class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- types converted to a string -->
+  <type name="date"    class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="char"    class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+
+  <!-- types converted to a long -->
+  <type name="byte"    class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="short"   class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+
+  <!-- types converted to a double -->
+  <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- byte[] and char[] -->
+  <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+  <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
+
+  <type name="hibernate-long-id"   class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
+  <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
+
+  <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+
+  <!-- TODO: add ejb3 entity bean support -->
+  <!-- TODO: add JCR activity support -->
+  <!-- TODO: add collection support -->
+  
+</types>


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/jbpm.variable.types.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/examples/src/test/resources/jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.wire.bindings.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,93 @@
+<wire-bindings>
+
+  <!-- ########################### -->
+  <!-- ### Descriptor bindings ### -->
+  <!-- ########################### -->
+  <!-- basic types -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
+  <!-- object and ref --> 
+  <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
+  <!-- collections -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
+  <!-- environment refs -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
+  <!-- various specials -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthenticationBinding" />
+  <!-- hibernate bindings -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
+  <!-- sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistorySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionFactoryBinding" />
+  <!-- db sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskDbSessionBinding" />
+  
+  <!-- dynamic type mapping configuration  -->    
+  <binding class="org.jbpm.pvm.internal.wire.binding.TypesBinding" />
+  <!-- services  -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.CommandServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentityServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistoryServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskServiceBinding" />
+  
+  <!-- deployers -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AssignFileTypesBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProcessBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SaveBinding" />
+
+  <!-- interceptors -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StandardTransactionInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SerializeInterceptorBinding" />
+
+  <!-- operation -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
+
+  <!-- jpdl bindings -->
+  <binding class="org.jbpm.jpdl.internal.xml.ParseJpdlBinding" />
+
+</wire-bindings>


Property changes on: jbpm4/trunk/modules/examples/src/test/resources/jbpm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/examples/src/test/resources/logging.properties
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/logging.properties	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/examples/src/test/resources/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,28 +1,18 @@
 handlers= java.util.logging.ConsoleHandler
-# to add the error triggered file handler
-# handlers= java.util.logging.ConsoleHandler org.jbpm.util.ErrorTriggeredFileHandler
-
 redirect.commons.logging = enabled
 
-java.util.logging.ConsoleHandler.level = FINEST
+java.util.logging.ConsoleHandler.level = FINE
 java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
 
-# org.jbpm.util.ErrorTriggeredFileHandler.size = 500
-# org.jbpm.util.ErrorTriggeredFileHandler.push = OFF
-# org.jbpm.util.ErrorTriggeredFileHandler.pattern = %h/jbpm%u.log
+org.jbpm.level=FINE
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
 
-# For example, set the com.xyz.foo logger to only log SEVERE messages:
-# com.xyz.foo.level = SEVERE
-
-org.jbpm.level=INFO
-org.jbpm.pvm.internal.tx.level=FINE
-org.jbpm.pvm.internal.wire.level=FINE
-org.jbpm.pvm.internal.util.level=FINE
-
 org.hibernate.level=INFO
-org.hibernate.cfg.HbmBinder.level=SEVERE
 org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
 # org.hibernate.SQL.level=FINEST
 # org.hibernate.type.level=FINEST
 # org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
-# org.hibernate.transaction.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file

Added: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="TaskAssignee">
+
+  <start g="20,20,48,48">
+    <transition to="review" />
+  </start>
+
+  <task name="review" 
+        g="96,16,127,52">
+    <assignment assignee="#{order.owner}" />
+            
+    <transition to="wait" />
+  </task>
+  
+  <state name="wait" g="255,16,88,52"/>
+
+</process>


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

Added: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/candidates/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/candidates/process.jpdl.xml	                        (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/candidates/process.jpdl.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="TaskCandidates">
+
+  <start g="20,20,48,48">
+    <transition to="review" />
+  </start>
+
+  <task name="review" 
+        g="96,16,127,52">
+    <assignment candidates="johndoe, joesmoe" />
+            
+    <transition to="wait" />
+  </task>
+  
+  <state name="wait" g="255,16,88,52"/>
+
+</process>


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


Property changes on: jbpm4/trunk/modules/integration/jboss4
___________________________________________________________________
Name: svn:ignore
   + target


Added: jbpm4/trunk/modules/integration/jboss4/.classpath
===================================================================
--- jbpm4/trunk/modules/integration/jboss4/.classpath	                        (rev 0)
+++ jbpm4/trunk/modules/integration/jboss4/.classpath	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: jbpm4/trunk/modules/integration/jboss4/.project
===================================================================
--- jbpm4/trunk/modules/integration/jboss4/.project	                        (rev 0)
+++ jbpm4/trunk/modules/integration/jboss4/.project	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>integration-jboss4</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: jbpm4/trunk/modules/integration/jboss5/.classpath
===================================================================
--- jbpm4/trunk/modules/integration/jboss5/.classpath	                        (rev 0)
+++ jbpm4/trunk/modules/integration/jboss5/.classpath	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: jbpm4/trunk/modules/integration/jboss5/.project
===================================================================
--- jbpm4/trunk/modules/integration/jboss5/.project	                        (rev 0)
+++ jbpm4/trunk/modules/integration/jboss5/.project	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>integration-jboss5</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: jbpm4/trunk/modules/integration/spi/.classpath
===================================================================
--- jbpm4/trunk/modules/integration/spi/.classpath	                        (rev 0)
+++ jbpm4/trunk/modules/integration/spi/.classpath	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: jbpm4/trunk/modules/integration/spi/.project
===================================================================
--- jbpm4/trunk/modules/integration/spi/.project	                        (rev 0)
+++ jbpm4/trunk/modules/integration/spi/.project	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>integration-spi</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Modified: jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/DeploymentAdaptor.java
===================================================================
--- jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/DeploymentAdaptor.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/DeploymentAdaptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -62,8 +62,8 @@
 
       Deployment dpl = processService.createDeployment()
           .addUrl(deploymentMetData.getProcessDescriptor())
-          .addObject("jbpmdeployer.deploymentArtifact.timestamp", Long.valueOf(deploymentFile.lastModified()))
-          .addObject("jbpmdeployer.deploymentArtifact.location", deploymentMetData.getWatch().getPath());
+          .setTimestamp(deploymentFile.lastModified())
+          .setName(deploymentMetData.getWatch().getPath());
 
       List<ProcessDefinition> processesInScope =
           dpl

Modified: jbpm4/trunk/modules/jpdl/pom.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -67,101 +67,6 @@
 
   <!-- Plugins -->
   <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>hibernate.*</exclude>
-            <exclude>jbpm.cfg.xml</exclude>
-            <exclude>jbpm-*-ds.xml</exclude>
-            <exclude>db.properties/**</exclude>
-            <exclude>logging.properties</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <!--execution>
-            <id>ant-copy-resources</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <property name="build.path.system" value="${project.build.directory}" />
-                <property name="from.dir" value="src/main/resources" />
-                <property name="to.dir" value="target/classes"/>
-                <ant antfile="scripts/antrun-patch-hsql-properties.xml" target="patch" />
-              </tasks>
-            </configuration>
-          </execution-->
-          <execution>
-            <phase>compile</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-
-                <!-- Patch the Hsql DB Url to make it portable -->
-                <property name="build.path.system" value="${project.build.directory}" />
-                <property name="from.dir" value="${basedir}/src/main/resources" />
-                <property name="to.dir" value="${project.build.directory}/classes"/>
-                <ant antfile="scripts/antrun-patch-hsql-properties.xml" target="patch" />
-
-                <echo>============================</echo>
-                <echo>Database config: ${database}</echo>
-                <echo>============================</echo>
-                <property name="database" value="${database}" />
-                <property name="build.path.system" value="${project.build.directory}" />
-                <ant antfile="scripts/antrun-jbpm-config.xml" target="concat" />
-              </tasks>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <!-- https://jira.jboss.org/jira/browse/JBPM-1759 -->
-            <exclude>org/jbpm/jpdl/controlflow/DecisionExpressionTest.java</exclude>
-            <exclude>org/jbpm/jpdl/controlflow/DecisionHandlerTest.java</exclude>
-            <exclude>org/jbpm/jpdl/parsing/JpdlSchemaTest.java</exclude>
-            <exclude>org/jbpm/jpdl/parsing/ProcessParsingTest.java</exclude>
-            <exclude>org/jbpm/jpdl/parsing/TransitionParsingTest.java</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <finalName>${project.build.finalName}</finalName>
-              <appendAssemblyId>true</appendAssemblyId>
-              <descriptors>
-                <descriptor>scripts/assembly-config.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
   </build>
 
   <!-- Profiles -->

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -28,6 +28,7 @@
 import org.jbpm.env.Environment;
 import org.jbpm.model.Activity;
 import org.jbpm.model.Transition;
+import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
 import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.session.TaskDbSession;
 
@@ -39,17 +40,19 @@
 
   private static final long serialVersionUID = 1L;
 
-  protected String assignee;
+  protected TaskDefinitionImpl taskDefinition;
   
   public void execute(ActivityExecution execution) {
     TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
     TaskImpl task = TaskImpl.create();
     task.setExecution(execution);
     task.setName(execution.getActivityName());
-    task.setAssignee(assignee);
+    
+    taskDefinition.initialize(task);
+    
     taskDbSession.saveTask(task);
     
-    execution.historyTaskStart(assignee);
+    execution.historyTaskStart(task);
     execution.waitForSignal();
   }
   
@@ -71,7 +74,10 @@
     }
   }
 
-  public void setAssignee(String assignee) {
-    this.assignee = assignee;
+  public TaskDefinitionImpl getTaskDefinition() {
+    return taskDefinition;
   }
-}
+  public void setTaskDefinition(TaskDefinitionImpl taskDefinition) {
+    this.taskDefinition = taskDefinition;
+  }
+}
\ No newline at end of file

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.jpdl.internal.activity;
 
+import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
 import org.jbpm.pvm.internal.util.XmlUtil;
 import org.jbpm.pvm.internal.xml.Parse;
 import org.jbpm.pvm.internal.xml.Parser;
@@ -40,11 +41,25 @@
 
   public Object parse(Element element, Parse parse, Parser parser) {
     TaskActivity taskActivity = new TaskActivity();
+
+    TaskDefinitionImpl taskDefinition = parseTaskDefinition(element, parse, parser);
+    taskActivity.setTaskDefinition(taskDefinition);
+
+    return taskActivity;
+  }
+
+  public static TaskDefinitionImpl parseTaskDefinition(Element element, Parse parse, Parser parser) {
+    TaskDefinitionImpl taskDefinition = new TaskDefinitionImpl();
     
-    String assignee = XmlUtil.attribute(element, "assignee", true, parse);
-    taskActivity.setAssignee(assignee);
+    for (Element assignmentElement: XmlUtil.elements(element, "assignment")) {
+      String assigneeExpression = XmlUtil.attribute(assignmentElement, "assignee");
+      taskDefinition.setAssigneeExpression(assigneeExpression);
+      
+      String candidatesExpression = XmlUtil.attribute(assignmentElement, "candidates");
+      taskDefinition.setCandidatesExpression(candidatesExpression);
+    }
     
-    return taskActivity;
+    return taskDefinition;
   }
 
 }

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/deploy/ParseJpdlDeployer.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/deploy/ParseJpdlDeployer.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/deploy/ParseJpdlDeployer.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.jpdl.internal.deploy;
 
+import org.jbpm.ProcessDefinition;
 import org.jbpm.jpdl.internal.xml.JpdlParser;
 import org.jbpm.pvm.internal.deploy.Deployer;
 import org.jbpm.pvm.internal.svc.DeploymentImpl;
@@ -46,9 +47,11 @@
       // so that other subsequent deployers can just use the dom
       // instead of reparsing the whole jpdl.xml file
       deployment.addDocument(fileName, parse.getDocument());
-      // add the parsed process definition to the objects
+
+      // add the parsed process definition to the processDefinitions
       // this is where the save process deployer will find it
-      deployment.addObject(fileName, parse.getDocumentObject());
+      ProcessDefinition processDefinition = (ProcessDefinition) parse.getDocumentObject();
+      deployment.addProcessDefinition(processDefinition);
     }
   }
 }

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.common.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.common.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.common.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,38 +0,0 @@
-
-    <!-- DataSource properties (begin) ===
-    <property name="hibernate.connection.datasource">java:JbpmDS</property>
-    ==== DataSource properties (end) -->
-
-    <!-- JTA transaction properties (begin) ===
-    <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
-    <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
-    <property name="jta.UserTransaction">UserTransaction</property>
-    ==== JTA transaction properties (end) -->
-
-    <!-- CMT transaction properties (begin) ===
-    <property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
-    <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
-    ==== CMT transaction properties (end) -->
-
-    <!-- ################################### -->
-    <!-- # common settings                 # -->
-    <!-- ################################### -->
-
-    <!-- Simple memory-only cache -->
-    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
-
-    <!-- logging properties -->
-    <property name="hibernate.format_sql">true</property>
-    <property name="hibernate.use_sql_comments">true</property>
-
-    <!-- Common hibernate mapping used with jpdl -->
-
-    <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
-    <mapping resource="jbpm.pvm.wire.hbm.xml" />
-    <mapping resource="jbpm.pvm.definition.hbm.xml" />
-    <mapping resource="jbpm.pvm.execution.hbm.xml" />
-    <mapping resource="jbpm.pvm.variable.hbm.xml" />
-    <mapping resource="jbpm.pvm.job.hbm.xml" />
-    <mapping resource="jbpm.pvm.history.hbm.xml" />
-    <mapping resource="jbpm.task.hbm.xml" />
-    <mapping resource="jbpm.jpdl.hbm.xml" />

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.db2.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.db2.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.db2.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://www-128.ibm.com/developerworks/db2/downloads/jcc -->
-    <property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
-    <property name="hibernate.connection.url">jdbc:db2://localhost:50000/testing</property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.derby.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.derby.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.derby.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://db.apache.org/derby -->
-    <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
-    <property name="hibernate.connection.url">jdbc:derby:build/derby/jbpmtest;create=true</property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.firebird.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.firebird.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.firebird.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.FirebirdDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://firebird.sourceforge.net/ -->
-    <property name="hibernate.connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>
-    <property name="hibernate.connection.url">jdbc:firebirdsql:localhost:jbpmtest</property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.hsqldb.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.hsqldb.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.hsqldb.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,15 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>    
-    <property name="hibernate.connection.url">jdbc:hsqldb:file:@project.build.directory@/hypersonic/jbpm4DB</property>
-    <property name="hibernate.connection.username">sa</property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-
-    <!-- Automatic schema creation (begin) -->
-    <property name="hibernate.hbm2ddl.auto">create</property>
-    <!-- Automatic schema creation (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.ingres.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.ingres.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.ingres.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.IngresDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://google.com -->
-    <property name="hibernate.connection.driver_class"></property>
-    <property name="hibernate.connection.url"></property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.interbase.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.interbase.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.interbase.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.InterbaseDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://google.com -->
-    <property name="hibernate.connection.driver_class"></property>
-    <property name="hibernate.connection.url"></property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mckoi.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mckoi.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mckoi.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.MckoiDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://google.com -->
-    <property name="hibernate.connection.driver_class"></property>
-    <property name="hibernate.connection.url"></property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mssql.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mssql.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mssql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://msdn.microsoft.com/data/jdbc -->
-    <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
-    <property name="hibernate.connection.url">jdbc:jtds:sqlserver://localhost:1433/jbpmtest</property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mysql.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mysql.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.mysql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,11 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
-    <property name="hibernate.connection.url">${jdbc.mysql.url}</property>
-    <property name="hibernate.connection.username">${jdbc.mysql.username}</property>
-    <property name="hibernate.connection.password">${jdbc.mysql.password}</property>
-    <property name="hibernate.query.substitutions">true 1, false 0</property>
-    <!-- JDBC connection properties (end) -->

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.oracle.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.oracle.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.oracle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,10 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
-                                       
-    <!-- JDBC connection properties (begin) -->
-    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
-    <property name="hibernate.connection.url">${jdbc.oracle.url}</property>
-    <property name="hibernate.connection.username">${jdbc.oracle.username}</property>
-    <property name="hibernate.connection.password">${jdbc.oracle.password}</property>
-    <!-- JDBC connection properties (end) -->

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.postgresql.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.postgresql.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.postgresql.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,11 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
-    <property name="hibernate.connection.url">${jdbc.postgresql.url}</property>
-    <property name="hibernate.connection.username">${jdbc.postgresql.username}</property>
-    <property name="hibernate.connection.password">${jdbc.postgresql.password}</property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sapdb.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sapdb.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sapdb.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,12 +0,0 @@
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.SAPDBDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <!-- fetch driver from http://google.com -->
-    <property name="hibernate.connection.driver_class"></property>
-    <property name="hibernate.connection.url"></property>
-    <property name="hibernate.connection.username"></property>
-    <property name="hibernate.connection.password"></property>
-    <!-- JDBC connection properties (end) -->
-

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sybase.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sybase.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/hibernate.properties.sybase.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,23 +0,0 @@
-    <!-- 
-       Out-of-the-box compatibility with Sybase
-       https://jira.jboss.org/jira/browse/JBPM-700
-       
-       System Service QA Database Sybase
-       https://wiki.corp.jboss.com/bin/composite/IT/SystemServiceQaDatabaseSybase
-       
-       Install Sybase ASE 15.0.2 on Fedora9
-       https://www.jboss.org/community/docs/DOC-12932
-    -->
-
-    <!-- hibernate dialect -->
-    <property name="hibernate.dialect">org.hibernate.dialect.SybaseDialect</property>
-
-    <!-- JDBC connection properties (begin) -->
-    <property name="hibernate.connection.driver_class">${jdbc.sybase.driver}</property>
-    <property name="hibernate.connection.url">${jdbc.sybase.url}</property>
-    <property name="hibernate.connection.username">${jdbc.sybase.username}</property>
-    <property name="hibernate.connection.password">${jdbc.sybase.password}</property>
-    <!-- JDBC connection properties (end) -->
-
-    <!-- jConnect does not support retrieving natively generated keys after insert -->
-    <property name="hibernate.jdbc.use_get_generated_keys">false</property>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-hsqldb-ds.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-hsqldb-ds.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-hsqldb-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<datasources>
-
-  <local-tx-datasource>
-    <jndi-name>JbpmDS</jndi-name>
-
-    <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}jbpm4DB</connection-url>    
-    <driver-class>org.hsqldb.jdbcDriver</driver-class>
-    <user-name>sa</user-name>
-    <password></password>
-
-    <!-- connection pool parameters -->
-    <min-pool-size>1</min-pool-size>
-    <max-pool-size>5</max-pool-size>
-
-    <!-- disable idle connection removal, hsqldb does not reap threads on closed connections -->
-    <idle-timeout-minutes>0</idle-timeout-minutes>
-    <!-- check all statements are closed when the connection is returned to the pool -->
-    <track-statements />
-    <!-- hsqldb benefits from prepared statement caching -->
-    <prepared-statement-cache-size>32</prepared-statement-cache-size>
-
-    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
-    <metadata>
-      <type-mapping>Hypersonic SQL</type-mapping>
-    </metadata>
-
-    <!-- ensure the datasource is not initialized before the database itself -->
-    <depends>jboss:service=Hypersonic,database=jbpm4DB</depends>
-  </local-tx-datasource>
-
-  <mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic,database=jbpm4DB">
-    <attribute name="Database">jbpm4DB</attribute>
-    <attribute name="InProcessMode">true</attribute>
-  </mbean>
-
-</datasources>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-mysql-ds.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-mysql-ds.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-mysql-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<datasources>
-
-  <xa-datasource>
-    <jndi-name>JbpmDS</jndi-name>
-
-    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
-    <xa-datasource-property name="ServerName">${jdbc.mysql.server}</xa-datasource-property>
-    <xa-datasource-property name="PortNumber">${jdbc.mysql.port}</xa-datasource-property>
-    <xa-datasource-property name="DatabaseName">${jdbc.mysql.database}</xa-datasource-property>
-    <user-name>${jdbc.mysql.username}</user-name>
-    <password>${jdbc.mysql.password}</password>
-
-    <!-- reduce isolation from the default level (repeatable read) -->
-    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
-    <!-- separate connections used with and without JTA transaction -->
-    <no-tx-separate-pools />
-    <!-- disable transaction interleaving -->
-    <track-connection-by-tx />
-
-    <!-- leverage mysql integration features -->
-    <exception-sorter-class-name>
-      com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
-    </exception-sorter-class-name>
-    <valid-connection-checker-class-name>
-      com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
-    </valid-connection-checker-class-name>
-
-    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
-    <metadata>
-      <type-mapping>mySQL</type-mapping>
-    </metadata>
-  </xa-datasource>
-
-</datasources>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-oracle-ds.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-oracle-ds.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-oracle-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ===================================================================== -->
-<!--                                                                       -->
-<!--  JBoss Server Configuration                                           -->
-<!--                                                                       -->
-<!-- ===================================================================== -->
-
-<!-- $Id: oracle-xa-ds.xml 77479 2008-08-26 10:33:09Z alex.loubyansky at jboss.com $ -->
-
-<!-- ===================================================================== -->
-<!-- ATTENTION:  DO NOT FORGET TO SET Pad=true IN transaction-service.xml  -->
-<!-- ===================================================================== -->
-
-<datasources>
-  <xa-datasource>
-    <jndi-name>JbpmDS</jndi-name>
-    <!-- uncomment to enable interleaving <interleaving/> -->
-    <isSameRM-override-value>false</isSameRM-override-value>
-    <track-connection-by-tx/>
-    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
-    <xa-datasource-property name="URL">${jdbc.oracle.url}</xa-datasource-property>
-    <xa-datasource-property name="User">${jdbc.oracle.username}</xa-datasource-property>
-    <xa-datasource-property name="Password">${jdbc.oracle.password}</xa-datasource-property>
-    <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
-    <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
-    <!-- Checks the Oracle error codes and messages for fatal errors -->
-    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
-    <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
-    <no-tx-separate-pools/>
-
-      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
-      <metadata>
-         <type-mapping>Oracle9i</type-mapping>
-      </metadata>
-  </xa-datasource>
-
-  <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter" 
-         name="jboss.jca:service=OracleXAExceptionFormatter">
-    <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
-  </mbean>
-
-</datasources>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-postgresql-ds.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-postgresql-ds.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-postgresql-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<datasources>
-
-  <xa-datasource>
-    <jndi-name>JbpmDS</jndi-name>
-
-    <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
-    <xa-datasource-property name="ServerName">${jdbc.postgresql.server}</xa-datasource-property>
-    <xa-datasource-property name="PortNumber">${jdbc.postgresql.port}</xa-datasource-property>
-    <xa-datasource-property name="DatabaseName">${jdbc.postgresql.database}</xa-datasource-property>
-    <user-name>${jdbc.postgresql.username}</user-name>
-    <password>${jdbc.postgresql.password}</password>
-
-    <!-- disable transaction interleaving -->
-    <track-connection-by-tx />
-
-    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
-    <metadata>
-      <type-mapping>PostgreSQL 8.0</type-mapping>
-    </metadata>
-  </xa-datasource>
-
-</datasources>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-sybase-ds.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-sybase-ds.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm-sybase-ds.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<datasources>
-
-  <xa-datasource>
-    <jndi-name>JbpmDS</jndi-name>
-    
-    <xa-datasource-class>${jdbc.sybase.datasource}</xa-datasource-class>
-    <xa-datasource-property name="ServerName">${jdbc.sybase.server}</xa-datasource-property>
-    <xa-datasource-property name="PortNumber">${jdbc.sybase.port}</xa-datasource-property>
-    <xa-datasource-property name="DatabaseName">${jdbc.sybase.database}</xa-datasource-property>
-    <user-name>${jdbc.sybase.username}</user-name>
-    <password>${jdbc.sybase.password}</password>
-
-    <!-- disable transaction interleaving -->
-    <track-connection-by-tx />
-
-    <exception-sorter-class-name>
-      org.jboss.resource.adapter.jdbc.vendor.SybaseExceptionSorter
-    </exception-sorter-class-name>
-
-    <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
-    <metadata>
-      <type-mapping>Sybase</type-mapping>
-    </metadata>
-  </xa-datasource>
-
-</datasources>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
-
-  <process-engine-context>
-  
-    <deployer-manager>
-      <assign-file-type>
-        <file extension=".jpdl.xml" type="jpdl" />
-      </assign-file-type>
-      <parse-jpdl />
-      <check-process />
-      <check-problems />
-      <save />
-    </deployer-manager>
-    
-    <process-service />
-    <execution-service />
-    <management-service />
-    <task-service />
-  
-    <command-service>
-      <retry-interceptor />
-      <environment-interceptor />
-      <standard-transaction-interceptor />
-    </command-service>
-    
-    <hibernate-configuration resource="hibernate.cfg.xml"/>    
-    
-    <hibernate-session-factory />
-    
-    <job-executor auto-start="false" />
-    <job-test-helper />
-
-    <id-generator />
-    <types resource="jbpm.pvm.types.xml" />
-
-    <business-calendar>
-      <monday    hours="9:00-12:00 and 12:30-17:00"/>
-      <tuesday   hours="9:00-12:00 and 12:30-17:00"/>
-      <wednesday hours="9:00-12:00 and 12:30-17:00"/>
-      <thursday  hours="9:00-12:00 and 12:30-17:00"/>
-      <friday    hours="9:00-12:00 and 12:30-17:00"/>
-      <holiday period="01/07/2008 - 31/08/2008"/>
-    </business-calendar>
-  
-  </process-engine-context>
-
-  <transaction-context>
-    <hibernate-session />
-    <transaction />
-    <pvm-db-session />
-    <job-db-session />
-    <task-db-session />
-    <message-session />
-    <timer-session />
-  </transaction-context>
-
-</jbpm-configuration>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.activities.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,17 +0,0 @@
-<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" />
-  <activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.ForkBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.JoinBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.HqlBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.SqlBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.ScriptBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.EsbBinding" />
-  <activity binding="org.jbpm.jpdl.internal.activity.TaskBinding" />
-</activities>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,90 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping default-access="field">
-
-  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlProcessDefinition" table="JBPM_JPDL_PROCDEF"  extends="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">
-    <key column="DBID_"/>
-  </joined-subclass>
-
-  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" table="JBPM_JPDL_EXECUTION" extends="org.jbpm.pvm.internal.model.ExecutionImpl">
-    <key column="DBID_"/>
-  </joined-subclass>
-
-  <class name="org.jbpm.jpdl.internal.activity.JpdlActivity" table="JBPM_JPDL_ACTIVITY"  abstract="true" discriminator-value="X">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <discriminator column="CLASS_" />
-    <subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
-    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
-    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
-      <property name="expr" column="TEXT_" />
-      <property name="lang" column="TEXT2_" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
-      <property name="exclusiveHandlerName" column="TEXT_" />
-      <many-to-one name="exclusiveHandlerDescriptor"
-                   column="EXCLDESCR_" 
-                   cascade="all"
-                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
-                   foreign-key="FK_ACT_EXCLDESCR"
-                   index="IDX_ACT_EXCLDESCR" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.StateActivity" discriminator-value="state" />
-    <subclass name="org.jbpm.jpdl.internal.activity.EndActivity" discriminator-value="end">
-      <property name="endProcessInstance" column="ENDPI_" />
-      <property name="state" column="TEXT_" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.ForkActivity" discriminator-value="fork" />
-    <subclass name="org.jbpm.jpdl.internal.activity.JoinActivity" discriminator-value="join" />
-    <subclass name="org.jbpm.jpdl.internal.activity.HqlActivity" discriminator-value="hql">
-      <property name="query" column="TEXT_" />
-      <property name="resultVariableName" column="TEXT2_" />
-      <property name="isResultUnique" column="ISUNIQ_" />
-      <many-to-one name="parametersDescriptor"
-                   column="PARAMDESCR_" 
-                   cascade="all"
-                   class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
-                   foreign-key="FK_ACT_PARAMDESCR"
-                   index="IDX_ACT_PARAMDESCR" />
-      
-      <subclass name="org.jbpm.jpdl.internal.activity.SqlActivity" discriminator-value="sql" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.JavaActivity" discriminator-value="java">
-      <property name="methodName" column="TEXT_" />
-      <property name="variableName" column="TEXT2_" />
-      <many-to-one name="descriptor"
-                   column="JAVADESCR_" 
-                   cascade="all"
-                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
-                   foreign-key="FK_ACT_JAVADESCR"
-                   index="IDX_ACT_JAVADESCR" />
-      <many-to-one name="invokeOperation"
-                   column="INVOPER_" 
-                   cascade="all"
-                   class="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
-                   foreign-key="FK_ACT_INVKOPER"
-                   index="IDX_ACT_INVKOPER" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.ScriptActivity" discriminator-value="script">
-      <property name="script" column="TEXT_" />
-      <property name="language" column="TEXT2_" />
-      <property name="variableName" column="TEXT3_" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.EsbActivity" discriminator-value="esb">
-      <property name="service" column="TEXT_" />
-      <property name="category" column="TEXT2_" />
-      <many-to-one name="partsListDescriptor"
-               column="PARTSDESCR_" 
-               cascade="all"
-               class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
-               foreign-key="FK_ACT_PARTSDESCR"
-               index="IDX_ACT_PARTSDESCR" />
-    </subclass>
-    <subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
-      <property name="assignee" column="TEXT_" />
-    </subclass>
-  </class>
-
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/jbpm.jpdl.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,3 +0,0 @@
-<wire-bindings>
-  <binding class="org.jbpm.jpdl.internal.xml.ParseJpdlBinding" />
-</wire-bindings>

Deleted: jbpm4/trunk/modules/jpdl/src/main/resources/logging.properties
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/resources/logging.properties	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/main/resources/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,28 +0,0 @@
-handlers= java.util.logging.ConsoleHandler
-# to add the error triggered file handler
-# handlers= java.util.logging.ConsoleHandler org.jbpm.util.ErrorTriggeredFileHandler
-
-redirect.commons.logging = enabled
-
-java.util.logging.ConsoleHandler.level = FINEST
-java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
-
-# org.jbpm.util.ErrorTriggeredFileHandler.size = 500
-# org.jbpm.util.ErrorTriggeredFileHandler.push = OFF
-# org.jbpm.util.ErrorTriggeredFileHandler.pattern = %h/jbpm%u.log
-
-# For example, set the com.xyz.foo logger to only log SEVERE messages:
-# com.xyz.foo.level = SEVERE
-
-org.jbpm.level=FINEST
-org.jbpm.pvm.internal.tx.level=FINE
-org.jbpm.pvm.internal.wire.level=FINE
-org.jbpm.pvm.internal.util.level=FINE
-
-org.hibernate.level=FINEST
-org.hibernate.cfg.HbmBinder.level=SEVERE
-org.hibernate.cfg.SettingsFactory.level=SEVERE
-# org.hibernate.SQL.level=FINEST
-# org.hibernate.type.level=FINEST
-# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
-# org.hibernate.transaction.level=FINEST

Modified: jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/JpdlTestCase.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/JpdlTestCase.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/JpdlTestCase.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -30,13 +30,11 @@
 /**
  * @author Tom Baeyens
  */
-public abstract class JpdlTestCase extends BaseJbpmTestCase
-{
+public abstract class JpdlTestCase extends BaseJbpmTestCase {
 
   static protected Log log = Log.getLog(JpdlTestCase.class.getName());
 
-  public ClientProcessDefinition parseJpdl(String xmlString)
-  {
+  public ClientProcessDefinition parseJpdl(String xmlString) {
     JpdlParser jpdlParser = new JpdlParser();
     Parse result = jpdlParser.createParse().setString(xmlString).execute();
     return (ClientProcessDefinition)result.checkProblems("process definition xml string").getDocumentObject();

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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/trunk/modules/jpdl/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
+
+  <process-engine-context>
+  
+    <process-service />
+    <execution-service />
+    <history-service />
+    <management-service />
+    <task-service />
+    <identity-service />
+    <command-service>
+      <retry-interceptor />
+      <environment-interceptor />
+      <standard-transaction-interceptor />
+    </command-service>
+    
+    <hibernate-configuration>
+      <cfg resource="jbpm.hibernate.cfg.xml" />     
+      <cache-configuration resource="jbpm.cache.xml" 
+                           usage="nonstrict-read-write" />
+    </hibernate-configuration>
+
+    <hibernate-session-factory />
+
+    <deployer-manager>
+      <assign-file-type>
+        <file extension=".jpdl.xml" type="jpdl" />
+      </assign-file-type>
+      <parse-jpdl />
+      <check-process />
+      <check-problems />
+      <save />
+    </deployer-manager>
+
+    <script-manager default-expression-language="juel"
+                    default-script-language="juel"
+                    read-contexts="execution, environment, process-engine"
+                    write-context="">
+        <script-language name="juel" factory="com.sun.script.juel.JuelScriptEngineFactory" />
+    </script-manager>
+
+    <job-executor auto-start="false" />
+
+    <id-generator />
+    <types resource="jbpm.variable.types.xml" />
+
+    <business-calendar>
+      <monday    hours="9:00-12:00 and 12:30-17:00"/>
+      <tuesday   hours="9:00-12:00 and 12:30-17:00"/>
+      <wednesday hours="9:00-12:00 and 12:30-17:00"/>
+      <thursday  hours="9:00-12:00 and 12:30-17:00"/>
+      <friday    hours="9:00-12:00 and 12:30-17:00"/>
+      <holiday period="01/07/2008 - 31/08/2008"/>
+    </business-calendar>
+  
+  </process-engine-context>
+
+  <transaction-context>
+    <hibernate-session />
+    <transaction />
+    <pvm-db-session />
+    <job-db-session />
+    <task-db-session />
+    <message-session />
+    <timer-session />
+    <history-session />
+    <identity-session />
+  </transaction-context>
+
+</jbpm-configuration>


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

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,641 @@
+<?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">
+    <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <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="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/trunk/modules/jpdl/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,375 @@
+<?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">
+
+  <!-- ### TYPEDEFS ####################################################### -->
+  <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
+    <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter"    >bool-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter"         >byte-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter"  >char-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter"         >date-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter"       >date-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter"     >double-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter"      >float-double</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter"      >float-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter"      >int-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter"        >short-long</param>
+  </typedef>
+
+  <!-- ### PROCESS DEFINITION ############################################# -->
+  <class name="ExecutionImpl" table="JBPM_EXECUTION">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACT_"
+                 lazy="false"
+                 foreign-key="FK_EXEC_ACT"
+                 index="IDX_EXEC_ACT" />
+
+    <property name="hasVariables" column="HASVARS_" />
+    <map name="variables"
+         cascade="all-delete-orphan"
+         table="JBPM_VARIABLE">
+      <key foreign-key="FK_VAR_EXECUTION">
+         <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
+      </key>
+      <map-key type="string" column="KEY_" />
+      <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
+    </map>
+    
+    <property name="hasTimers" column="HASTIMERS_" />
+    <set name="timers"
+         cascade="all-delete-orphan">
+      <key foreign-key="FK_TMR_EXECUTION">
+         <column name="EXECUTION_" />
+      </key>
+      <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
+    </set>
+
+    <property name="name" column="NAME_" />
+    <property name="key" column="KEY_" />
+    <property name="id" column="ID_" unique="true" />
+
+    <property name="state" column="STATE_" />
+
+    <property name="priority" column="PRIORITY_" />
+    <property name="historyActivityInstanceDbid" column="HISACTINST_" />
+
+    <many-to-one name="processDefinition"
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCESS_"
+                 foreign-key="FK_EXEC_PROCESS" 
+                 index="IDX_EXEC_PROCESS" />
+
+    <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
+
+    <many-to-one name="transitionOrigin" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="TRANSORIG_"
+                 foreign-key="FK_EXEC_TRANSORIG"
+                 index="IDX_EXEC_TRANSORIG" />
+
+    <list name="executions" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="ExecutionImpl" />
+    </list>
+
+    <many-to-one name="parent"
+                 column="PARENT_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_PARENT"
+                 index="IDX_EXEC_PARENT" />
+
+    <many-to-one name="processInstance"
+                 class="ExecutionImpl" 
+                 column="INSTANCE_"
+                 foreign-key="FK_EXEC_INSTANCE"
+                 index="IDX_EXEC_INSTANCE" />
+
+    <many-to-one name="superProcessExecution"
+                 column="SUPEREXEC_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_SUPEREXEC"
+                 index="IDX_EXEC_SUPEREXEC" />
+  </class>
+
+  <!-- ### COMMENTS ####################################################### -->
+  <class name="CommentImpl" table="JBPM_COMMENT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="userId" column="USERID_" />
+    <property name="time" column="TIME_" />
+    <property name="message" column="MESSAGE_" />
+
+    <list name="comments" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="none" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="CommentImpl" />
+    </list>
+  </class>
+  
+  <!-- ### VARIABLE ####################################################### -->
+  <class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
+    <!-- discriminator values:
+    date   : org.jbpm.pvm.internal.type.variable.DateVariable
+    double : org.jbpm.pvm.internal.type.variable.DoubleVariable
+    hibl   : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
+    long   : org.jbpm.pvm.internal.type.variable.LongVariable
+    hibs   : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
+    string : org.jbpm.pvm.internal.type.variable.StringVariable
+    null   : org.jbpm.pvm.internal.type.variable.NullVariable
+    blob   : org.jbpm.pvm.internal.type.variable.BlobVariable
+    clob   : org.jbpm.pvm.internal.type.variable.ClobVariable
+    -->
+  
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="key" column="KEY_"/>
+    <property name="queryText" column="QUERYTEXT_" />
+    <property name="converter" type="converter" column="CONVERTER_" />
+    <many-to-one name="processInstance"
+                 column="PROCINST_" 
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"
+                 foreign-key="FK_VAR_PROCINST"
+                 index="IDX_VAR_PROCINST"/>
+  </class>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
+    <property name="date" column="DATE_VALUE_" type="timestamp"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
+    <property name="d" column="DOUBLE_VALUE_" type="double"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
+    <property name="hibernatable" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
+    <property name="l" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
+    <property name="hibernatable" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
+    <property name="string" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="FK_VAR_LOB"
+                 index="IDX_VAR_LOB" />
+  </subclass>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="none"/>
+  </subclass>
+  
+  <!-- ### LOB ############################################################ -->
+  <class name="org.jbpm.pvm.internal.lob.Lob" table="JBPM_LOB">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    <property name="blob" type="blob" column="BLOB_VALUE_" />
+    <property name="bytes" type="binary" column="BINARY_VALUE_"/>
+    <property name="clob" type="clob" column="CLOB_VALUE_" />
+    <property name="text" type="text" column="TEXT_VALUE_"/>
+  </class>
+  
+    <class name="org.jbpm.pvm.internal.job.JobImpl" table="JBPM_JOB" discriminator-value="Job">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="dueDate" column="DUEDATE_" type="timestamp" index="IDX_JOBDUEDATE"  />
+    <property name="isSuspended" column="ISSUSPENDED_" />
+    <property name="isExclusive" column="ISEXCLUSIVE_" />
+    <property name="lockOwner" column="LOCKOWNER_" />
+    <property name="lockExpirationTime" column="LOCKEXPTIME_" index="IDX_JOBLOCKEXP" />
+    <property name="info" column="INFO_" />
+    <property name="exception" column="EXCEPTION_" type="text" />
+    <property name="retries" column="RETRIES_" index="IDX_JOBRETRIES" />
+    
+    <many-to-one name="processInstance"   
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="PROCESSINSTANCE_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_PRINST"
+                 index="IDX_JOB_PRINST"/>
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="EXECUTION_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_EXE"
+                 index="IDX_JOB_EXE"/>
+    <many-to-one name="commandDescriptor"
+                 column="CMDDESCR_"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" 
+                 cascade="all"
+                 foreign-key="FK_JOB_CMDDESCR"
+                 index="IDX_JOB_CMDDESCR"/>
+
+    <subclass name="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="Msg">
+      <subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeActivityMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
+        <property name="signalName" column="SIGNAL_" />
+        <many-to-one name="activity"   
+                     column="NODE_" 
+                     cascade="none"
+                     foreign-key="FK_JOB_NODE"/>
+      </subclass>
+      <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
+      <subclass name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
+    </subclass>
+    
+    <subclass name="org.jbpm.pvm.internal.job.TimerImpl" discriminator-value="Timer">
+      <property name="signalName" column="SIGNAL_" />
+      <property name="eventName" column="EVENT_" />
+      <property name="repeat" column="REPEAT_" />
+    </subclass>
+     
+  </class>
+
+  <!-- ### HibernatePvmDbSession QUERIES ################################## -->
+
+  <query name="findTimers">
+    <![CDATA[
+     select t
+     from org.jbpm.pvm.internal.job.TimerImpl as t
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <query name="findMessages">
+    <![CDATA[
+     select m
+     from org.jbpm.pvm.internal.job.MessageImpl as m
+    ]]>
+  </query>
+
+  <query name="findJobsWithException">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.retries = 0 
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <!-- ### HibernateJobDbSession QUERIES ################################## -->
+  <query name="findFirstAcquirableJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where ( ( (job.lockExpirationTime is null)
+               or (job.lockExpirationTime <= :now) 
+             )
+             and 
+             ( (job.dueDate is null)
+               or (job.dueDate <= :now) 
+             ) 
+             and 
+             ( job.retries > 0 ) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+
+  <query name="findExclusiveJobs">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.processInstance = :processInstance 
+       and job.isExclusive = true 
+       and job.retries > 0 
+       and ( (job.dueDate is null)
+             or (job.dueDate <= :now) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <query name="findFirstDueJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.retries > 0 
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <!-- ### HibernatePvmDbSession QUERIES ############################################# -->
+  <query name="findExecutionById">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.id = :id
+    ]]>
+  </query>
+
+  <query name="findProcessInstanceById">
+    <![CDATA[
+     select processInstance
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.id = :processInstanceId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+  <query name="findExecutionByKey">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.key = :executionKey
+       and execution.processDefinition.name = :processDefinitionName
+    ]]>
+  </query>
+  
+  <query name="findProcessInstanceIds">
+    <![CDATA[
+     select processInstance.id
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.processDefinition.id = :processDefinitionId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.execution.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.hibernate.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+      <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
+      <property name="hibernate.connection.username">sa</property>
+      <property name="hibernate.connection.password"></property>
+      <property name="hibernate.hbm2ddl.auto">create-drop</property>
+      <property name="hibernate.format_sql">true</property>
+      <property name="hibernate.cache.use_second_level_cache">true</property>
+      <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+      <mapping resource="jbpm.definition.hbm.xml" />
+      <mapping resource="jbpm.execution.hbm.xml" />
+      <mapping resource="jbpm.history.hbm.xml" />
+      <mapping resource="jbpm.task.hbm.xml" />
+      <mapping resource="jbpm.jpdl.hbm.xml" />
+      <mapping resource="jbpm.identity.hbm.xml" />
+  </session-factory>
+</hibernate-configuration>


Property changes on: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.hibernate.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,73 @@
+<?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.history.model" default-access="field">
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryProcessInstanceImpl" table="JBPM_HIST_PROCINST">
+    <id name="processInstanceId" column="ID_">
+      <generator class="assigned" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="processDefinitionId" column="PROCDEFID_" />
+    <property name="key" column="KEY_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="state" column="STATE_" />
+    <property name="endActivityName" column="ENDACTIVITY_" />
+
+    <many-to-one name="processDefinition" 
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCDEF_"
+                 foreign-key="FK_HISTPI_PROCDEF"
+                 index="IDX_HISTPI_PROCDEF" />
+                 
+    <set name="historyActivityInstances"
+         cascade="all">
+      <key>
+         <column name="HPI_" />
+      </key>
+      <one-to-many class="HistoryActivityInstanceImpl" />
+    </set>
+                 
+  </class>
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryActivityInstanceImpl" table="JBPM_HIST_ACTINST" discriminator-value="ACT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <many-to-one name="historyProcessInstance" 
+                 class="HistoryProcessInstanceImpl" 
+                 column="HPI_"
+                 foreign-key="FK_HAI_HPI"
+                 index="IDX_HAI_HPI" />
+
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACTIVITY_"
+                 foreign-key="FK_HISTAI_ACT"
+                 index="IDX_HISTAI_ACT" />
+
+    <property name="executionId" column="EXECUTION_" />
+    <property name="activityName" column="ACTIVITY_NAME_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="transitionName" column="TRANSITION_" />
+
+    <subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
+      <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+    </subclass>
+    
+    <subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
+      <property name="assignee" column="ASSIGNEE_" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.history.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.identity.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.identity.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.identity.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,57 @@
+<?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.identity.impl" default-access="field">
+
+  <!-- ### USER ########################################################### -->
+  <class name="UserImpl" table="JBPM_ID_USER">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="givenName" column="GIVENNAME_" />
+    <property name="familyName" column="FAMILYNAME_" />
+  </class>
+  
+  <!-- ### MEMBERSHIP ##################################################### -->
+  <class name="MembershipImpl" table="JBPM_ID_MEMBERSHIP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="user"
+                 column="USER_" 
+                 class="UserImpl"
+                 foreign-key="FK_MEM_USER"
+                 index="IDX_MEM_USER"/>
+
+    <many-to-one name="group"
+                 column="GROUP_" 
+                 class="GroupImpl"
+                 foreign-key="FK_MEM_GROUP"
+                 index="IDX_MEM_GROUP"/>
+
+    <property name="role" column="NAME_" />
+  </class>
+  
+  <!-- ### GROUP ########################################################### -->
+  <class name="GroupImpl" table="JBPM_ID_GROUP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="type" column="TYPE_" />
+
+    <many-to-one name="parent"
+                 column="PARENT_" 
+                 class="GroupImpl"
+                 foreign-key="FK_GROUP_PARENT"
+                 index="IDX_GROUP_PARENT"/>
+  </class>
+  
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.identity.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.activities.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+<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" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ForkBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JoinBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.HqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.SqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ScriptBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EsbBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.TaskBinding" />
+</activities>


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

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,95 @@
+<?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 default-access="field">
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlProcessDefinition" table="JBPM_JPDL_PROCDEF"  extends="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" table="JBPM_JPDL_EXECUTION" extends="org.jbpm.pvm.internal.model.ExecutionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <class name="org.jbpm.jpdl.internal.activity.JpdlActivity" table="JBPM_JPDL_ACTIVITY"  abstract="true" discriminator-value="X">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+      <property name="expr" column="TEXT_" />
+      <property name="lang" column="TEXT2_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
+      <property name="exclusiveHandlerName" column="TEXT_" />
+      <many-to-one name="exclusiveHandlerDescriptor"
+                   column="EXCLDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_EXCLDESCR"
+                   index="IDX_ACT_EXCLDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.StateActivity" discriminator-value="state" />
+    <subclass name="org.jbpm.jpdl.internal.activity.EndActivity" discriminator-value="end">
+      <property name="endProcessInstance" column="ENDPI_" />
+      <property name="state" column="TEXT_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ForkActivity" discriminator-value="fork" />
+    <subclass name="org.jbpm.jpdl.internal.activity.JoinActivity" discriminator-value="join" />
+    <subclass name="org.jbpm.jpdl.internal.activity.HqlActivity" discriminator-value="hql">
+      <property name="query" column="TEXT_" />
+      <property name="resultVariableName" column="TEXT2_" />
+      <property name="isResultUnique" column="ISUNIQ_" />
+      <many-to-one name="parametersDescriptor"
+                   column="PARAMDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+                   foreign-key="FK_ACT_PARAMDESCR"
+                   index="IDX_ACT_PARAMDESCR" />
+      
+      <subclass name="org.jbpm.jpdl.internal.activity.SqlActivity" discriminator-value="sql" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.JavaActivity" discriminator-value="java">
+      <property name="methodName" column="TEXT_" />
+      <property name="variableName" column="TEXT2_" />
+      <many-to-one name="descriptor"
+                   column="JAVADESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_JAVADESCR"
+                   index="IDX_ACT_JAVADESCR" />
+      <many-to-one name="invokeOperation"
+                   column="INVOPER_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
+                   foreign-key="FK_ACT_INVKOPER"
+                   index="IDX_ACT_INVKOPER" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ScriptActivity" discriminator-value="script">
+      <property name="script" column="TEXT_" />
+      <property name="language" column="TEXT2_" />
+      <property name="variableName" column="TEXT3_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.EsbActivity" discriminator-value="esb">
+      <property name="service" column="TEXT_" />
+      <property name="category" column="TEXT2_" />
+      <many-to-one name="partsListDescriptor"
+               column="PARTSDESCR_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+               foreign-key="FK_ACT_PARTSDESCR"
+               index="IDX_ACT_PARTSDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
+      <many-to-one name="taskDefinition"
+               column="TASKDEF_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.task.TaskDefinitionImpl"
+               foreign-key="FK_ACT_TASKDEF"
+               index="IDX_ACT_TASKDEF" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


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

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,174 @@
+<?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 auto-import="false" package="org.jbpm.pvm.internal.task" default-access="field">
+
+  <!-- ### TASK DEFINITION ################################################ -->
+  <class name="TaskDefinitionImpl" discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+
+    <property name="priority" column="PRIORITY_"/>
+    <property name="dueDateDuration" column="DUEDATE_"/>
+    <property name="isBlocking" column="BLOCK_"/>
+    <property name="isSignalling" column="SIGNAL_"/>
+    <property name="assigneeExpression" column="ASSIGNEE_EXPR_"/>
+    <property name="candidatesExpression" column="CANDIDATES_EXPR_"/>
+
+    <many-to-one name="assignerDescriptor"
+                 column="ASSIGNER_DESCR_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                 foreign-key="FK_TSK_ASIG_DESCR"
+                 index="IDX_TSK_ASIG_DESCR" />
+
+    <many-to-one name="swimlaneDefinition"
+                 column="SWIMLANE_DEF_" 
+                 cascade="all"
+                 class="SwimlaneDefinitionImpl"
+                 foreign-key="FK_TSK_SWIML_DEF"
+                 index="IDX_TSK_SWIML_DEF" />
+
+		<list name="subTaskDefinitions" cascade="all-delete-orphan">
+			<key column="TASKDEF_" />
+			<list-index column="TASKDEF_IDX_" />
+			<one-to-many class="TaskDefinitionImpl" />
+		</list>
+  </class>
+  
+  <!-- ### TASK ########################################################### -->
+  <class name="TaskImpl" 
+         discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="id" column="ID_" unique="true" />
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+    
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="TASK_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+    <property name="priority" column="PRIORITY_"/>
+    <property name="create" column="CREATE_"/>
+    <property name="dueDate" column="DUEDATE_"/>
+    <property name="progress" column="PROGRESS_"/>
+    
+    <!-- 
+    <many-to-one name="variableMap"
+                 class="org.jbpm.pvm.impl.VariableMap" 
+                 column="VARMAP_" 
+                 foreign-key="FK_TASK_VARMAP"
+                 cascade="all" />
+    -->
+
+    <many-to-one name="superTask"
+                 class="TaskImpl" 
+                 column="SUPERTASK_" 
+                 foreign-key="FK_TASK_SUPERTASK" 
+                 index="IDX_TASK_SUPERTASK" />
+
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="EXECUTION_" 
+                 foreign-key="FK_TASK_EXEC" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_TASK_SWIML" />
+
+		<list name="comments" cascade="all-delete-orphan">
+			<key column="TASK_" />
+			<list-index column="TASK_IDX_" />
+			<one-to-many class="org.jbpm.pvm.internal.model.CommentImpl" />
+		</list>
+
+    <set name="subTasks" cascade="all-delete-orphan">
+      <key column="SUPERTASK_" />
+      <one-to-many class="TaskImpl" />
+    </set>
+    
+  </class>
+  
+  <!-- ### PARTICIPANT #################################################### -->
+  <class name="ParticipantImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="identityType" column="IDENTITYTYPE_"/>
+    <property name="identityId" column="IDENTITYID_"/>
+    <property name="participation" column="PARTICIPATION_" />
+
+    <many-to-one name="task"
+                 class="TaskImpl" 
+                 column="TASK_" 
+                 index="IDX_PART_TASK"
+                 foreign-key="FK_PART_TASK" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_PART_SWIMLANE" />
+
+  </class>
+  
+  <!-- ### SWIMLANE DEFINITION ############################################ -->
+  <class name="SwimlaneDefinitionImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+  </class>
+
+
+  <!-- ### SWIMLANE ####################################################### -->
+  <class name="SwimlaneImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+
+    <many-to-one name="swimlaneDefinition"
+                 class="SwimlaneDefinitionImpl" 
+                 column="SWIMLANEDEF_" 
+                 foreign-key="FK_SWIMLANE_DEF" />
+
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="SWIMLANE_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+  </class>
+  
+  
+  <!-- ### QUERIES ######################################################## -->
+
+  <query name="findTasks">
+    <![CDATA[
+     select task
+     from org.jbpm.pvm.internal.task.TaskImpl as task
+    ]]>
+  </query>
+
+</hibernate-mapping>


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

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.lifecycle.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.lifecycle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.task.lifecycle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,13 @@
+<task-lifecycle initial="open">
+  <state name="open">
+    <transition name="complete" to="completed" />
+    <transition name="suspend" to="suspended" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="suspended">
+    <transition name="resume" to="open" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="cancelled" />
+  <state name="completed" />
+</task-lifecycle>


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

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.variable.types.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.variable.types.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.variable.types.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,34 @@
+<types>
+
+  <!-- types stored in a native column -->
+  <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="long"   class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- types converted to a string -->
+  <type name="date"    class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="char"    class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+
+  <!-- types converted to a long -->
+  <type name="byte"    class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="short"   class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+
+  <!-- types converted to a double -->
+  <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- byte[] and char[] -->
+  <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+  <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
+
+  <type name="hibernate-long-id"   class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
+  <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
+
+  <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+
+  <!-- TODO: add ejb3 entity bean support -->
+  <!-- TODO: add JCR activity support -->
+  <!-- TODO: add collection support -->
+  
+</types>


Property changes on: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.variable.types.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.wire.bindings.xml	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,93 @@
+<wire-bindings>
+
+  <!-- ########################### -->
+  <!-- ### Descriptor bindings ### -->
+  <!-- ########################### -->
+  <!-- basic types -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
+  <!-- object and ref --> 
+  <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
+  <!-- collections -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
+  <!-- environment refs -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
+  <!-- various specials -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthenticationBinding" />
+  <!-- hibernate bindings -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
+  <!-- sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistorySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionFactoryBinding" />
+  <!-- db sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskDbSessionBinding" />
+  
+  <!-- dynamic type mapping configuration  -->    
+  <binding class="org.jbpm.pvm.internal.wire.binding.TypesBinding" />
+  <!-- services  -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.CommandServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentityServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistoryServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskServiceBinding" />
+  
+  <!-- deployers -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AssignFileTypesBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProcessBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SaveBinding" />
+
+  <!-- interceptors -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StandardTransactionInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SerializeInterceptorBinding" />
+
+  <!-- operation -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
+
+  <!-- jpdl bindings -->
+  <binding class="org.jbpm.jpdl.internal.xml.ParseJpdlBinding" />
+
+</wire-bindings>


Property changes on: jbpm4/trunk/modules/jpdl/src/test/resources/jbpm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/jpdl/src/test/resources/logging.properties
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/resources/logging.properties	                        (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/resources/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,18 @@
+handlers= java.util.logging.ConsoleHandler
+redirect.commons.logging = enabled
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
+
+org.jbpm.level=FINE
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
+
+org.hibernate.level=INFO
+org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
+# org.hibernate.SQL.level=FINEST
+# org.hibernate.type.level=FINEST
+# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file

Modified: jbpm4/trunk/modules/log/pom.xml
===================================================================
--- jbpm4/trunk/modules/log/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/log/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -11,6 +11,8 @@
 
 <!-- $Id$ -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <!-- Module Info -->
   <modelVersion>4.0.0</modelVersion>
   <name>jBPM 4 - Log</name>
   <groupId>org.jbpm.jbpm4</groupId>
@@ -33,10 +35,4 @@
       </dependency>
   </dependencies>
   
-  <!-- Plugins -->
-  <build>
-    <plugins>
-    </plugins>
-  </build>
-  
 </project>
\ No newline at end of file

Modified: jbpm4/trunk/modules/pvm/pom.xml
===================================================================
--- jbpm4/trunk/modules/pvm/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -126,23 +126,24 @@
 
   <!-- Profiles -->
   <profiles>
+    <profile>
+      <id>distro</id>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+              <quiet>true</quiet>
+              <source>1.5</source>
+              <verbose>false</verbose>
+              <noqualifier>all</noqualifier>
+              <excludePackageNames>*.internal:*.test</excludePackageNames>
+            </configuration>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
   </profiles>
 
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <configuration>
-          <quiet>true</quiet>
-          <source>1.5</source>
-          <verbose>false</verbose>
-          <noqualifier>all</noqualifier>
-          <excludePackageNames>*.internal:*.test</excludePackageNames>
-        </configuration>
-      </plugin>
-
-    </plugins>
-  </reporting>
-
 </project>
\ No newline at end of file

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddReplyCommentCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddReplyCommentCmd.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddReplyCommentCmd.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
+import org.jbpm.JbpmException;
 import org.jbpm.cmd.Command;
 import org.jbpm.env.Environment;
 import org.jbpm.model.Comment;
@@ -46,6 +47,9 @@
   public Comment execute(Environment environment) throws Exception {
     DbSession dbSession = environment.get(DbSession.class);
     CommentImpl parentComment = dbSession.get(CommentImpl.class, commentDbid);
+    if (parentComment==null) {
+      throw new JbpmException("parent comment doesn't exist: "+commentDbid);
+    }
     Comment replyComment = parentComment.createComment(message);
     return replyComment;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeployCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeployCmd.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeployCmd.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,11 +21,10 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import java.util.ArrayList;
 import java.util.List;
 
-import org.jbpm.ProcessDefinition;
 import org.jbpm.JbpmException;
+import org.jbpm.ProcessDefinition;
 import org.jbpm.cmd.Command;
 import org.jbpm.env.Environment;
 import org.jbpm.pvm.internal.deploy.DeployerManager;
@@ -54,14 +53,6 @@
     // and handle the deployment
     deployerManager.deploy(deployment);
     
-    List<ProcessDefinition> processDefinitions = new ArrayList<ProcessDefinition>();
-    for (String objectName: deployment.getObjectNames()) {
-      Object object = deployment.getObject(objectName);
-      if (object instanceof ProcessDefinition) {
-        processDefinitions.add((ProcessDefinition) object);
-      }
-    }
-
-    return processDefinitions;
+    return deployment.getProcessDefinitions();
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/NewTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/NewTaskCmd.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/NewTaskCmd.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,10 +21,8 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import org.hibernate.Session;
 import org.jbpm.cmd.Command;
 import org.jbpm.env.Environment;
-import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.task.TaskImpl;
 import org.jbpm.task.Task;
 
@@ -36,30 +34,14 @@
   private static final long serialVersionUID = 1L;
 
   protected Long parentTaskDbid;
-  protected Long executionDbid;
 
-  public NewTaskCmd(Long parentTaskDbid, Long executionDbid) {
+  public NewTaskCmd(Long parentTaskDbid) {
     this.parentTaskDbid = parentTaskDbid;
-    this.executionDbid = executionDbid;
   }
 
   public Task execute(Environment environment) throws Exception {
-    ExecutionImpl execution = null;
-
     TaskImpl task = TaskImpl.create();
-
-    if (executionDbid!=null) {
-      Session session = environment.get(Session.class);
-      execution = (ExecutionImpl) session.load(ExecutionImpl.class, executionDbid);
-      task.setExecution(execution);
-    }
-
-    if (parentTaskDbid!=null) {
-      Session session = environment.get(Session.class);
-      TaskImpl parentTask = (TaskImpl) session.load(TaskImpl.class, parentTaskDbid);
-      parentTask.addSubTask(task);
-    }
-    
+    task.setParentTaskDbid(parentTaskDbid);
     return task;
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -29,7 +29,7 @@
 /**
  * @author Alejandro Guizar
  */
-public class SaveTaskCmd implements Command<Void> {
+public class SaveTaskCmd implements Command<Long> {
 
   private static final long serialVersionUID = 1L;
   
@@ -39,11 +39,13 @@
     this.task = task;
   }
 
-  public Void execute(Environment environment) throws Exception {
+  public Long execute(Environment environment) throws Exception {
     TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
     
+    
+    
     taskDbSession.saveTask(task);
     
-    return null;
+    return task.getDbid();
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SubmitTaskCmd.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -35,23 +35,14 @@
   private static final long serialVersionUID = 1L;
   
   protected long taskDbid;
-  protected TaskImpl task;
 
-  public SubmitTaskCmd(TaskImpl task) {
-    this.task = task;
-  }
-
   public SubmitTaskCmd(long taskDbid) {
     this.taskDbid = taskDbid;
   }
 
   public Void execute(Environment environment) throws Exception {
     TaskDbSession taskDbession = environment.get(TaskDbSession.class);
-    if (task!=null) {
-      taskDbession.merge(task);
-    } else {
-      task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
-    }
+    TaskImpl task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
     task.submit();
     taskDbession.delete(task);
     return null;

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/TakeTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/TakeTaskCmd.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/TakeTaskCmd.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.cmd;
+
+import org.jbpm.JbpmException;
+import org.jbpm.cmd.Command;
+import org.jbpm.env.Environment;
+import org.jbpm.pvm.internal.task.TaskImpl;
+import org.jbpm.session.TaskDbSession;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TakeTaskCmd implements Command<Void> {
+
+  private static final long serialVersionUID = 1L;
+  
+  protected long taskDbid;
+
+  public TakeTaskCmd(long taskDbid) {
+    this.taskDbid = taskDbid;
+  }
+
+  public Void execute(Environment environment) {
+    TaskDbSession taskDbession = environment.get(TaskDbSession.class);
+    TaskImpl task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
+    if (task==null) {
+      throw new JbpmException("task "+taskDbid+" does not exist");
+    }
+    task.take();
+    return null;
+  }
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/CheckProcessDeployer.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/CheckProcessDeployer.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/CheckProcessDeployer.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -22,6 +22,7 @@
 package org.jbpm.pvm.internal.deploy;
 
 import java.io.Serializable;
+import java.util.List;
 
 import org.jbpm.ProcessDefinition;
 import org.jbpm.client.ClientProcessDefinition;
@@ -56,15 +57,12 @@
       return;
     }
     
-    for (String processSourceName : deployment.getObjectNames()) {
-      Object object = deployment.getObject(processSourceName);
-      if (object instanceof ProcessDefinition) {
-        checkProcessDefinition(processSourceName, (ProcessDefinitionImpl)object, deployment, pvmDbSession);
-      }
+    for (ProcessDefinition processDefinition : deployment.getProcessDefinitions()) {
+      checkProcessDefinition(processDefinition, deployment, pvmDbSession);
     }
   }
 
-  public void checkProcessDefinition(String processSourceName, ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
+  public void checkProcessDefinition(ProcessDefinition processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
     if ( (processDefinition.getName()==null)
           || ("".equals(processDefinition.getName()))
        ) {
@@ -72,12 +70,12 @@
       return;
     }
        
-    checkKey(processSourceName, processDefinition, deployment, pvmDbSession);
-    checkVersion(processSourceName, processDefinition, deployment, pvmDbSession);
-    checkId(processSourceName, processDefinition, deployment, pvmDbSession);
+    checkKey((ProcessDefinitionImpl)processDefinition, deployment, pvmDbSession);
+    checkVersion((ProcessDefinitionImpl)processDefinition, deployment, pvmDbSession);
+    checkId((ProcessDefinitionImpl)processDefinition, deployment, pvmDbSession);
   }
 
-  protected void checkKey(String processSourceName, ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
+  protected void checkKey(ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
     String name = processDefinition.getName();
     String key = processDefinition.getKey();
     if ( (key==null)
@@ -93,18 +91,18 @@
     if ( (existingKey!=null)
          && (!existingKey.equals(key))
        ) {
-      deployment.addProblem("invalid key '"+key+"' in process "+processSourceName+".  Existing process has name '"+name+"' and key '"+existingKey+"'");
+      deployment.addProblem("invalid key '"+key+"' in process "+processDefinition.getName()+".  Existing process has name '"+name+"' and key '"+existingKey+"'");
     }
 
     String existingName = pvmDbSession.findProcessDefinitionNameByKey(key);
     if ( (existingName!=null)
          && (!existingName.equals(name))
        ) {
-      deployment.addProblem("invalid name '"+name+"' in process "+processSourceName+".  Existing process has name '"+existingName+"' and key '"+key+"'");
+      deployment.addProblem("invalid name '"+name+"' in process "+processDefinition.getName()+".  Existing process has name '"+existingName+"' and key '"+key+"'");
     }
   }
 
-  protected void checkVersion(String processSourceName, ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
+  protected void checkVersion(ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
     int version = processDefinition.getVersion();
     String key = processDefinition.getKey();
     if ( (version==ProcessDefinitionImpl.UNASSIGNED_VERSION)
@@ -128,7 +126,7 @@
     }
   }
 
-  protected void checkId(String processSourceName, ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
+  protected void checkId(ProcessDefinitionImpl processDefinition, DeploymentImpl deployment, PvmDbSession pvmDbSession) {
     String id = processDefinition.getId();
     if (id==null) {
       id = processDefinition.getKey()+":"+processDefinition.getVersion();

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/SaveDeployer.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/SaveDeployer.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/deploy/SaveDeployer.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -23,15 +23,12 @@
 
 import java.io.InputStream;
 import java.io.Serializable;
-import java.util.Map;
+import java.util.List;
 
-import org.jbpm.ProcessDefinition;
 import org.jbpm.env.Environment;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.svc.DeploymentImpl;
-import org.jbpm.pvm.internal.wire.binding.SavePolicy;
-import org.jbpm.pvm.internal.wire.binding.PolicyEvaluation;
 import org.jbpm.session.PvmDbSession;
 
 /**
@@ -41,20 +38,7 @@
 
   private static final long serialVersionUID = 1L;
   private static Log log = Log.getLog(SaveDeployer.class.getName());
-
-  // the default policy does always apply
-  private final static SavePolicy DEFAULT_POLICY = new SavePolicy()
-  {
-    public PolicyEvaluation evaluate(DeploymentImpl deployment)
-    {
-      PolicyEvaluation evaluation = new PolicyEvaluation();
-      evaluation.setDoesApply(true);
-      return evaluation;
-    }
-  };
-
-  private SavePolicy policy = DEFAULT_POLICY;
-
+  
   public void deploy(DeploymentImpl deployment) {
     Environment environment = Environment.getCurrent();
     if (environment==null) {
@@ -62,49 +46,23 @@
       return;
     }
 
-    // if the save policy doesn't apply,
-    // then the process will not be stored
-    PolicyEvaluation policyEvaluation = policy.evaluate(deployment);
-    if( policyEvaluation.doesApply() == false)
-    {
-      log.info("Policy " + policy.getClass().getName() + " doesn't appply. Skip deployment.");
-      return;
-    }
-
     PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
     if (pvmDbSession==null) {
       deployment.addProblem(PvmDbSession.class.getName()+" is required in the environment by "+getClass().getName());
       return;
     }
-
-    ProcessDefinitionImpl lastProcessDefinition = null;
-
+    
     boolean deployedProcess = false;
-    for (String objectName : deployment.getObjectNames()) {
-      Object object = deployment.getObject(objectName);
-      if (object instanceof ProcessDefinition) {
-        deployedProcess = true;
-        lastProcessDefinition = (ProcessDefinitionImpl) object;
-
-        log.debug("saving process definition "+object);
-        pvmDbSession.save(object);
-      }
-    }
-
-    if (lastProcessDefinition!=null) {
+    
+    List<ProcessDefinitionImpl> processDefinitions = (List)deployment.getProcessDefinitions();
+    
+    for (ProcessDefinitionImpl processDefinition : processDefinitions) {
+      log.debug("saving process definition "+processDefinition);
+      deployedProcess = true;
+      pvmDbSession.save(processDefinition);
       for (String fileName : deployment.getFileNames()) {
         InputStream inputStream = deployment.getFile(fileName);
-        lastProcessDefinition.addAttachment(fileName, inputStream);
-
-        // persist policy evaluation results
-        // policies may require this information upon subsequent calls
-        // i.e. redeployment of process definitions
-        Map<String,String> policyEvaluationResults = policyEvaluation.getResults();
-        for(String key : policyEvaluationResults.keySet())
-        {
-          lastProcessDefinition.addAttachment(key, policyEvaluationResults.get(key).getBytes());
-        }
-
+        processDefinition.addAttachment(fileName, inputStream);
       }
     }
 
@@ -116,9 +74,4 @@
   public String toString() {
     return "save";
   }
-
-  public void setPolicy(SavePolicy policy)
-  {
-    this.policy = policy;
-  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/env/PvmEnvironment.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -54,35 +54,4 @@
     log.debug("closed "+this);
   }
 
-  
-  /*
-  // close ////////////////////////////////////////////////////////////////////
-
-  public void close() {
-    log.trace("closing "+this);
-
-    pvmEnvironmentFactory.getApplicationWireContext().fire(PvmEnvironment.EVENT_CLOSEENVIRONMENT, this);
-    
-    Environment popped = Environment.popEnvironment();
-    if (this!=popped) {
-      throw new PvmException("environment nesting problem");
-    }
-
-    Context context = getEnvironmentContext();
-    if (context instanceof Closable) {
-      ((Closable)context).close();
-    }
-    log.debug("closed "+this);
-  }
-
-  protected static void rethrow(Throwable exception) throws Error {
-    if (exception instanceof Error) {
-      throw (Error) exception;
-    }
-    if (exception instanceof RuntimeException) {
-      throw (RuntimeException) exception;
-    }
-    throw new PvmException(exception);
-  }
-  */
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateTaskDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateTaskDbSession.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateTaskDbSession.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -41,6 +41,12 @@
   public void saveTask(Task task) {
     TaskImpl taskImpl = (TaskImpl) task;
     
+    if (taskImpl.getParentTaskDbid()!=null) {
+      TaskImpl parentTask = (TaskImpl) session.load(TaskImpl.class, taskImpl.getParentTaskDbid());
+      parentTask.addSubTask(taskImpl);
+      taskImpl.setParentTaskDbid(null);
+    }
+    
     if (! taskImpl.isPersisted()) {
       Serializable dbid = session.save(taskImpl);
       if (taskImpl.getId() == null) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -24,6 +24,7 @@
 import org.jbpm.history.HistoryProcessInstance;
 import org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl;
 import org.jbpm.pvm.internal.history.model.HistoryTaskInstanceImpl;
+import org.jbpm.task.Task;
 
 
 /**
@@ -35,8 +36,8 @@
   
   protected String assignee;
   
-  public TaskStart(String assignee) {
-    this.assignee = assignee;
+  public TaskStart(Task task) {
+    this.assignee = task.getAssignee();
   }
  
   protected HistoryActivityInstanceImpl createHistoryActivityInstance(HistoryProcessInstance historyProcessInstanceImpl) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryActivityInstanceImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.pvm.internal.history.model;
 
+import java.io.Serializable;
 import java.util.Date;
 
 import org.jbpm.history.HistoryActivityInstance;
@@ -32,8 +33,10 @@
  *  
  * @author Tom Baeyens
  */
-public class HistoryActivityInstanceImpl implements HistoryActivityInstance {
+public class HistoryActivityInstanceImpl implements HistoryActivityInstance, Serializable {
 
+  private static final long serialVersionUID = 1L;
+
   protected long dbid;
   protected int dbversion;
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryProcessInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryProcessInstanceImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/model/HistoryProcessInstanceImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.pvm.internal.history.model;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.Set;
 
@@ -33,7 +34,7 @@
 /**
  * @author Tom Baeyens
  */
-public class HistoryProcessInstanceImpl implements HistoryProcessInstance {
+public class HistoryProcessInstanceImpl implements HistoryProcessInstance, Serializable {
   
   protected long dbid;
   protected int dbversion;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/GroupImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/GroupImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/GroupImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -33,8 +33,17 @@
 
   private static final long serialVersionUID = 1L;
   
+  protected long dbid;
+  protected int dbversion;
+
+  protected GroupImpl parent;
+
   protected String name;
+  protected String type;
 
+  public GroupImpl() {
+  }
+
   public GroupImpl(String name) {
     this.name = name;
   }
@@ -42,4 +51,19 @@
   public String getName() {
     return name;
   }
-}
+  public void setName(String name) {
+    this.name = name;
+  }
+  public GroupImpl getParent() {
+    return parent;
+  }
+  public void setParent(GroupImpl parent) {
+    this.parent = parent;
+  }
+  public String getType() {
+    return type;
+  }
+  public void setType(String type) {
+    this.type = type;
+  }
+}
\ No newline at end of file

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,271 +21,108 @@
  */
 package org.jbpm.pvm.internal.identity.impl;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 
-import org.jboss.identity.idm.api.Attribute;
-import org.jboss.identity.idm.api.AttributesManager;
-import org.jboss.identity.idm.api.GroupType;
-import org.jboss.identity.idm.api.Identity;
-import org.jboss.identity.idm.api.IdentitySearchControl;
-import org.jboss.identity.idm.api.IdentitySession;
-import org.jboss.identity.idm.api.Role;
-import org.jboss.identity.idm.api.RoleType;
-import org.jboss.identity.idm.exception.IdentityException;
-import org.jboss.identity.idm.impl.api.NameFilterSearchControl;
-import org.jboss.identity.idm.impl.api.SimpleAttribute;
-import org.jboss.identity.idm.impl.api.model.SimpleGroupType;
-import org.jboss.identity.idm.p3p.P3PConstants;
-import org.jbpm.JbpmException;
-import org.jbpm.env.Environment;
+import org.hibernate.Query;
+import org.hibernate.Session;
 import org.jbpm.identity.Group;
 import org.jbpm.identity.User;
-import org.jbpm.pvm.internal.tx.StandardTransaction;
+import org.jbpm.pvm.internal.identity.spi.IdentitySession;
 
 
 /**
  * @author Tom Baeyens
  */
-public class IdentitySessionImpl implements org.jbpm.pvm.internal.identity.spi.IdentitySession {
+public class IdentitySessionImpl implements IdentitySession {
+  
+  protected Session session;
 
-  protected IdentitySession identitySession;
-
-  public IdentitySessionImpl(IdentitySession identitySession) {
-    this.identitySession = identitySession;
-    
-    StandardTransaction transaction = Environment.getFromCurrent(StandardTransaction.class);
-    IdentitySessionResource identitySessionResource = new IdentitySessionResource(identitySession);
-    transaction.enlistResource(identitySessionResource);
-  }
-
-  public void createUser(String userName, String givenName, String lastName) {
-    try {
-      Identity identity = identitySession.getPersistenceManager().createIdentity(userName);
-      Attribute[] attributes = new Attribute[] { 
-        new SimpleAttribute(P3PConstants.INFO_USER_NAME_GIVEN, new String[] { givenName }),
-        new SimpleAttribute(P3PConstants.INFO_USER_NAME_FAMILY, new String[] { lastName }) 
-      };
-      identitySession.getAttributesManager().addAttributes(identity, attributes);
-    } catch (IdentityException e) {
-      throw new JbpmException("couldn't create user "+userName, e);
-    }
-  }
-
-  public List<User> getUsers() {
-    try {
-      Collection<Identity> identities = identitySession
-          .getPersistenceManager()
-          .findIdentity((IdentitySearchControl[])null);
-    
-      List<User> users = new ArrayList<User>();
-      for (Identity identity : identities) {
-        String name = identity.getName();
-        String givenName = getAttributeString(identity, null, P3PConstants.INFO_USER_NAME_GIVEN);
-        String familyName = getAttributeString(identity, P3PConstants.INFO_USER_NAME_FAMILY);
-        
-        UserImpl user = new UserImpl(name, givenName, familyName);
-        users.add(user);
-      }
-      
-      return users;
-      
-    } catch (IdentityException e) {
-      throw new JbpmException("couldn't get users from identity component", e);
-    }
-  }
-
-  public void deleteUser(String userName) {
-    try {
-      org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
-      
-      if (identity==null) {
-        return;
-      }
-      
-      identitySession
-          .getPersistenceManager()
-          .removeIdentity(identity, true);
-    
-    } catch (IdentityException e) {
-      throw new JbpmException("couldn't delete group "+userName, e);
-    }
-  }
-
   public void createGroup(String groupName, String groupType, String parentGroupName) {
-    try {
-      GroupType simpleGroupType = new SimpleGroupType(groupType);
-      org.jboss.identity.idm.api.Group group = identitySession.getPersistenceManager().createGroup(groupName, simpleGroupType);
-      
-      if (parentGroupName!=null) {
-        org.jboss.identity.idm.api.Group parentGroup = findGroup(parentGroupName, groupType);
-        if (parentGroup==null) {
-          throw new JbpmException("parent group "+parentGroupName+" doesn't exist");
-        }
-        identitySession.getRelationshipManager().associateGroups(parentGroup, group);
-      }
-      
-    } catch (IdentityException e) {
-      throw new JbpmException("couldn't create group "+groupName, e);
-    }
-  }
-  
-  public List<Group> getGroups(String groupType) {
-    try {
-      GroupType simpleGroupType = new SimpleGroupType(groupType);
-      Collection<org.jboss.identity.idm.api.Group> idGroups = identitySession
-          .getPersistenceManager()
-          .findGroup(simpleGroupType);
+    GroupImpl group = new GroupImpl();
+    group.setName(groupName);
+    group.setType(groupType);
     
-      List<Group> groups = new ArrayList<Group>();
-      for (org.jboss.identity.idm.api.Group idGroup: idGroups) {
-        String groupName = idGroup.getName();
-
-        GroupImpl group = new GroupImpl(groupName);
-        groups.add(group);
-      }
-      
-      return groups;
-      
-    } catch (IdentityException e) {
-      throw new JbpmException("couldn't get users from identity component", e);
+    if (parentGroupName!=null) {
+      GroupImpl parentGroup = findGroup(parentGroupName, null);
+      group.setParent(parentGroup);
     }
-  }
-  
-  public void deleteGroup(String groupName, String groupType) {
-    try {
-      org.jboss.identity.idm.api.Group group = findGroup(groupName, groupType);
-
-      if (group==null) {
-        return;
-      }
-
-      identitySession
-          .getPersistenceManager()
-          .removeGroup(group, true);
     
-    } catch (IdentityException e) {
-      throw new JbpmException("couldn't delete group "+groupName, e);
-    }
+    session.save(group);
   }
 
-  public void createMembership(String userName, String groupName, String groupType, String role) {
-    try {
-      org.jboss.identity.idm.api.Group group = findGroup(groupName, groupType);
-      if (group==null) {
-        throw new JbpmException("group "+groupName+" doesn't exist");
-      }
-  
-      org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
-      if (identity==null) {
-        throw new JbpmException("user "+userName+" doesn't exist");
-      }
-      
-      
-      if (role!=null) {
-        RoleType roleType = identitySession.getRoleManager().getRoleType(role);
-        if (roleType==null) {
-          roleType = identitySession.getRoleManager().createRoleType(role);
-        }
-        
-        identitySession.getRoleManager().createRole(roleType, identity, group);
-        
-      } else {
-        identitySession.getRelationshipManager().associateIdentities(group, identity);
-      }
-      
-    } catch (Exception e) {
-      throw new JbpmException("couldn't create membership "+userName+", "+groupName+", "+role, e);
-    }
+  protected GroupImpl findGroup(String name, String type) {
+    GroupImpl group = (GroupImpl) session.createQuery(
+      "select group " +
+      "from "+GroupImpl.class.getName()+" as group " +
+      "where group.name = '"+name+"'" + 
+      (type!=null ? " and group.type = '"+type+"'" : "")
+    ).uniqueResult();
+    return group;
   }
-  
-  public List<Group> findGroupsByUserAndGroupType(String userName, String groupType) {
-    try {
-      org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
-      if (identity==null) {
-        return Collections.EMPTY_LIST;
-      }
-      
-      List<Group> groups = new ArrayList<Group>();
 
-      GroupType identityGroupType = new SimpleGroupType(groupType);
-      Collection<org.jboss.identity.idm.api.Group> identityGroups = identitySession
-        .getRoleManager()
-        .findGroupsWithRelatedRole(identity, identityGroupType, null);
-      
-      for (org.jboss.identity.idm.api.Group identityGroup: identityGroups) {
-        String groupName = identityGroup.getName();
-        GroupImpl group = new GroupImpl(groupName);
-        groups.add(group);
-      }
-
-      return groups;
-
-    } catch (Exception e) {
-      throw new JbpmException("couldn't get groups for user "+userName+" and groupType "+groupType, e);
-    }
+  protected UserImpl findUser(String name) {
+    UserImpl user = (UserImpl) session.createQuery(
+      "select user " +
+      "from "+UserImpl.class.getName()+" as user " +
+      "where user.name = '"+name+"'"
+    ).uniqueResult();
+    return user;
   }
 
-  protected org.jboss.identity.idm.api.Identity findIdentity(String userName) throws IdentityException {
-    Collection<org.jboss.identity.idm.api.Identity> identities = identitySession
-      .getPersistenceManager()
-      .findIdentity(new IdentitySearchControl[]{
-              new NameFilterSearchControl(userName)
-      } );
+  public void createMembership(String userName, String groupName, String groupType, String role) {
+    UserImpl user = findUser(userName);
+    GroupImpl group = findGroup(groupName, groupType);
     
-    if ( (identities==null) || (identities.size()==0) ) {
-      return null;
-    }
+    MembershipImpl membership = new MembershipImpl();
+    membership.setUser(user);
+    membership.setGroup(group);
+    membership.setRole(role);
     
-    return identities.iterator().next();
+    session.save(membership);
   }
 
-  protected org.jboss.identity.idm.api.Group findGroup(String groupName, String groupType) throws IdentityException {
-    GroupType groupIdType = new SimpleGroupType(groupType);
+  public void createUser(String userName, String givenName, String familyName) {
+    UserImpl user = new UserImpl();
+    user.setName(userName);
+    user.setGivenName(givenName);
+    user.setFamilyName(familyName);
     
-    Collection<org.jboss.identity.idm.api.Group> groups = identitySession
-      .getPersistenceManager()
-      .findGroup(groupIdType, new IdentitySearchControl[]{
-              new NameFilterSearchControl(groupName)
-      } );
-    
-    if ( (groups==null) || (groups.size()==0) ) {
-      return null;
-    }
-    
-    return groups.iterator().next();
+    session.save(user);
   }
 
-  protected String getAttributeString(Identity identity, String attributeName) throws IdentityException {
-    return getAttributeString(identity, null, attributeName);
+  public void deleteGroup(String groupName, String groupType) {
+    GroupImpl group = findGroup(groupName, groupType);
+    session.delete(group);
   }
 
-  protected String getAttributeString(org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
-    return getAttributeString(null, idGroup, attributeName);
+  public void deleteUser(String userName) {
+    UserImpl user = findUser(userName);
+    session.delete(user);
   }
 
-  protected String getAttributeString(Identity identity, org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
-    AttributesManager attributesManager = identitySession.getAttributesManager();
-    Attribute attribute = null;
-    if (identity!=null) {
-      attribute = attributesManager.getAttribute(identity, attributeName);
-    } else {
-      attribute = attributesManager.getAttribute(idGroup, attributeName);
-    }
-    if (attribute!=null) {
-      return (String) attribute.getValue();
-    }
-    return null;
+  public List<Group> findGroupsByUserAndGroupType(String userName, String groupType) {
+    Query query = session.createQuery(
+      "select distinct membership.group " +
+      "from "+MembershipImpl.class.getName()+" as membership " +
+      "where membership.user.name = '"+userName+"'" +
+      "  and membership.group.type = '"+groupType+"'"
+    );
+    return query.list();
   }
 
+  public List<Group> getGroups(String groupType) {
+    return session.createQuery(
+      "from "+GroupImpl.class.getName()
+    ).list();
+  }
 
-  public IdentitySession getIdentitySession() {
-    return identitySession;
+  public List<User> getUsers() {
+    return session.createQuery(
+      "from "+UserImpl.class.getName()
+    ).list();
   }
-  
-  public void setIdentitySession(IdentitySession identitySession) {
-    this.identitySession = identitySession;
+
+  public void setSession(Session session) {
+    this.session = session;
   }
 }

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/JBossIdmIdentitySessionImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,290 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.identity.impl;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import org.jboss.identity.idm.api.Attribute;
+import org.jboss.identity.idm.api.AttributesManager;
+import org.jboss.identity.idm.api.GroupType;
+import org.jboss.identity.idm.api.Identity;
+import org.jboss.identity.idm.api.IdentitySearchControl;
+import org.jboss.identity.idm.api.IdentitySession;
+import org.jboss.identity.idm.api.RoleType;
+import org.jboss.identity.idm.exception.IdentityException;
+import org.jboss.identity.idm.impl.api.NameFilterSearchControl;
+import org.jboss.identity.idm.impl.api.SimpleAttribute;
+import org.jboss.identity.idm.impl.api.model.SimpleGroupType;
+import org.jboss.identity.idm.p3p.P3PConstants;
+import org.jbpm.JbpmException;
+import org.jbpm.env.Environment;
+import org.jbpm.identity.Group;
+import org.jbpm.identity.User;
+import org.jbpm.pvm.internal.tx.StandardTransaction;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class JBossIdmIdentitySessionImpl implements org.jbpm.pvm.internal.identity.spi.IdentitySession {
+
+  protected IdentitySession identitySession;
+
+  public JBossIdmIdentitySessionImpl(IdentitySession identitySession) {
+    this.identitySession = identitySession;
+    
+    StandardTransaction transaction = Environment.getFromCurrent(StandardTransaction.class);
+    IdentitySessionResource identitySessionResource = new IdentitySessionResource(identitySession);
+    transaction.enlistResource(identitySessionResource);
+  }
+
+  public void createUser(String userName, String givenName, String lastName) {
+    try {
+      Identity identity = identitySession.getPersistenceManager().createIdentity(userName);
+      Attribute[] attributes = new Attribute[] { 
+        new SimpleAttribute(P3PConstants.INFO_USER_NAME_GIVEN, new String[] { givenName }),
+        new SimpleAttribute(P3PConstants.INFO_USER_NAME_FAMILY, new String[] { lastName }) 
+      };
+      identitySession.getAttributesManager().addAttributes(identity, attributes);
+    } catch (IdentityException e) {
+      throw new JbpmException("couldn't create user "+userName, e);
+    }
+  }
+
+  public List<User> getUsers() {
+    try {
+      Collection<Identity> identities = identitySession
+          .getPersistenceManager()
+          .findIdentity((IdentitySearchControl[])null);
+    
+      List<User> users = new ArrayList<User>();
+      for (Identity identity : identities) {
+        String name = identity.getName();
+        String givenName = getAttributeString(identity, null, P3PConstants.INFO_USER_NAME_GIVEN);
+        String familyName = getAttributeString(identity, P3PConstants.INFO_USER_NAME_FAMILY);
+        
+        UserImpl user = new UserImpl(name, givenName, familyName);
+        users.add(user);
+      }
+      
+      return users;
+      
+    } catch (IdentityException e) {
+      throw new JbpmException("couldn't get users from identity component", e);
+    }
+  }
+
+  public void deleteUser(String userName) {
+    try {
+      org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
+      
+      if (identity==null) {
+        return;
+      }
+      
+      identitySession
+          .getPersistenceManager()
+          .removeIdentity(identity, true);
+    
+    } catch (IdentityException e) {
+      throw new JbpmException("couldn't delete group "+userName, e);
+    }
+  }
+
+  public void createGroup(String groupName, String groupType, String parentGroupName) {
+    try {
+      GroupType simpleGroupType = new SimpleGroupType(groupType);
+      org.jboss.identity.idm.api.Group group = identitySession.getPersistenceManager().createGroup(groupName, simpleGroupType);
+      
+      if (parentGroupName!=null) {
+        org.jboss.identity.idm.api.Group parentGroup = findGroup(parentGroupName, groupType);
+        if (parentGroup==null) {
+          throw new JbpmException("parent group "+parentGroupName+" doesn't exist");
+        }
+        identitySession.getRelationshipManager().associateGroups(parentGroup, group);
+      }
+      
+    } catch (IdentityException e) {
+      throw new JbpmException("couldn't create group "+groupName, e);
+    }
+  }
+  
+  public List<Group> getGroups(String groupType) {
+    try {
+      GroupType simpleGroupType = new SimpleGroupType(groupType);
+      Collection<org.jboss.identity.idm.api.Group> idGroups = identitySession
+          .getPersistenceManager()
+          .findGroup(simpleGroupType);
+    
+      List<Group> groups = new ArrayList<Group>();
+      for (org.jboss.identity.idm.api.Group idGroup: idGroups) {
+        String groupName = idGroup.getName();
+
+        GroupImpl group = new GroupImpl(groupName);
+        groups.add(group);
+      }
+      
+      return groups;
+      
+    } catch (IdentityException e) {
+      throw new JbpmException("couldn't get users from identity component", e);
+    }
+  }
+  
+  public void deleteGroup(String groupName, String groupType) {
+    try {
+      org.jboss.identity.idm.api.Group group = findGroup(groupName, groupType);
+
+      if (group==null) {
+        return;
+      }
+
+      identitySession
+          .getPersistenceManager()
+          .removeGroup(group, true);
+    
+    } catch (IdentityException e) {
+      throw new JbpmException("couldn't delete group "+groupName, e);
+    }
+  }
+
+  public void createMembership(String userName, String groupName, String groupType, String role) {
+    try {
+      org.jboss.identity.idm.api.Group group = findGroup(groupName, groupType);
+      if (group==null) {
+        throw new JbpmException("group "+groupName+" doesn't exist");
+      }
+  
+      org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
+      if (identity==null) {
+        throw new JbpmException("user "+userName+" doesn't exist");
+      }
+      
+      
+      if (role!=null) {
+        RoleType roleType = identitySession.getRoleManager().getRoleType(role);
+        if (roleType==null) {
+          roleType = identitySession.getRoleManager().createRoleType(role);
+        }
+        
+        identitySession.getRoleManager().createRole(roleType, identity, group);
+        
+      } else {
+        identitySession.getRelationshipManager().associateIdentities(group, identity);
+      }
+      
+    } catch (Exception e) {
+      throw new JbpmException("couldn't create membership "+userName+", "+groupName+", "+role, e);
+    }
+  }
+  
+  public List<Group> findGroupsByUserAndGroupType(String userName, String groupType) {
+    try {
+      org.jboss.identity.idm.api.Identity identity = findIdentity(userName);
+      if (identity==null) {
+        return Collections.EMPTY_LIST;
+      }
+      
+      List<Group> groups = new ArrayList<Group>();
+
+      GroupType identityGroupType = new SimpleGroupType(groupType);
+      Collection<org.jboss.identity.idm.api.Group> identityGroups = identitySession
+        .getRoleManager()
+        .findGroupsWithRelatedRole(identity, identityGroupType, null);
+      
+      for (org.jboss.identity.idm.api.Group identityGroup: identityGroups) {
+        String groupName = identityGroup.getName();
+        GroupImpl group = new GroupImpl(groupName);
+        groups.add(group);
+      }
+
+      return groups;
+
+    } catch (Exception e) {
+      throw new JbpmException("couldn't get groups for user "+userName+" and groupType "+groupType, e);
+    }
+  }
+
+  protected org.jboss.identity.idm.api.Identity findIdentity(String userName) throws IdentityException {
+    Collection<org.jboss.identity.idm.api.Identity> identities = identitySession
+      .getPersistenceManager()
+      .findIdentity(new IdentitySearchControl[]{
+              new NameFilterSearchControl(userName)
+      } );
+    
+    if ( (identities==null) || (identities.size()==0) ) {
+      return null;
+    }
+    
+    return identities.iterator().next();
+  }
+
+  protected org.jboss.identity.idm.api.Group findGroup(String groupName, String groupType) throws IdentityException {
+    GroupType groupIdType = new SimpleGroupType(groupType);
+    
+    Collection<org.jboss.identity.idm.api.Group> groups = identitySession
+      .getPersistenceManager()
+      .findGroup(groupIdType, new IdentitySearchControl[]{
+              new NameFilterSearchControl(groupName)
+      } );
+    
+    if ( (groups==null) || (groups.size()==0) ) {
+      return null;
+    }
+    
+    return groups.iterator().next();
+  }
+
+  protected String getAttributeString(Identity identity, String attributeName) throws IdentityException {
+    return getAttributeString(identity, null, attributeName);
+  }
+
+  protected String getAttributeString(org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
+    return getAttributeString(null, idGroup, attributeName);
+  }
+
+  protected String getAttributeString(Identity identity, org.jboss.identity.idm.api.Group idGroup, String attributeName) throws IdentityException {
+    AttributesManager attributesManager = identitySession.getAttributesManager();
+    Attribute attribute = null;
+    if (identity!=null) {
+      attribute = attributesManager.getAttribute(identity, attributeName);
+    } else {
+      attribute = attributesManager.getAttribute(idGroup, attributeName);
+    }
+    if (attribute!=null) {
+      return (String) attribute.getValue();
+    }
+    return null;
+  }
+
+
+  public IdentitySession getIdentitySession() {
+    return identitySession;
+  }
+  
+  public void setIdentitySession(IdentitySession identitySession) {
+    this.identitySession = identitySession;
+  }
+}


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

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/MembershipImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/MembershipImpl.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/MembershipImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.identity.impl;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class MembershipImpl {
+  
+  protected long dbid;
+  protected int dbversion;
+
+  protected UserImpl user;
+  protected GroupImpl group;
+  protected String role;
+  
+  public UserImpl getUser() {
+    return user;
+  }
+  
+  public void setUser(UserImpl user) {
+    this.user = user;
+  }
+  
+  public GroupImpl getGroup() {
+    return group;
+  }
+  
+  public void setGroup(GroupImpl group) {
+    this.group = group;
+  }
+  
+  public String getRole() {
+    return role;
+  }
+  
+  public void setRole(String role) {
+    this.role = role;
+  }
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/UserImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/UserImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/UserImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -33,10 +33,16 @@
 
   private static final long serialVersionUID = 1L;
   
+  protected long dbid;
+  protected int dbversion;
+
   protected String name;
   protected String givenName;
   protected String familyName;
 
+  public UserImpl() {
+  }
+
   public UserImpl(String name, String givenName, String familyName) {
     this.name = name;
     this.givenName = givenName;
@@ -61,4 +67,14 @@
     }
     return name;
   }
+  
+  public void setName(String name) {
+    this.name = name;
+  }
+  public void setGivenName(String givenName) {
+    this.givenName = givenName;
+  }
+  public void setFamilyName(String familyName) {
+    this.familyName = familyName;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -73,6 +73,7 @@
 import org.jbpm.pvm.internal.util.EqualsUtil;
 import org.jbpm.pvm.internal.util.Priority;
 import org.jbpm.session.MessageSession;
+import org.jbpm.task.Task;
 
 /**
  * @author Tom Baeyens
@@ -978,8 +979,8 @@
     fireHistoryEvent(new ActivityEnd(transitionName));
   }
 
-  public void historyTaskStart(String assignee) {
-    fireHistoryEvent(new TaskStart(assignee));
+  public void historyTaskStart(Task task) {
+    fireHistoryEvent(new TaskStart(task));
   }
 
   public void historyTaskEnd(String outcome) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessDefinitionImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -40,8 +40,7 @@
 /**
  * @author Tom Baeyens
  */
-public class ProcessDefinitionImpl extends CompositeElementImpl
-    implements OpenProcessDefinition, ClientProcessDefinition {
+public class ProcessDefinitionImpl extends CompositeElementImpl implements OpenProcessDefinition, ClientProcessDefinition {
 
   private static final long serialVersionUID = 1L;
   private static final Log log = Log.getLog(ProcessDefinitionImpl.class.getName());

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -28,7 +28,6 @@
 import java.util.Set;
 
 import org.jbpm.internal.log.Log;
-import org.jbpm.model.OpenProcessDefinition;
 import org.jbpm.pvm.internal.wire.Descriptor;
 
 /** 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessInstanceEndedSynchronization.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessInstanceEndedSynchronization.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessInstanceEndedSynchronization.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,8 @@
  */
 package org.jbpm.pvm.internal.model;
 
+import java.io.ObjectStreamException;
+
 import javax.transaction.Status;
 import javax.transaction.Synchronization;
 
@@ -61,4 +63,10 @@
     pvmDbSession.deleteProcessInstance(processInstanceId, false);
     return null;
   }
+  
+  protected Object writeReplace() throws ObjectStreamException {
+    this.commandService = null;
+    return this;
+  }
+
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,8 @@
  */
 package org.jbpm.pvm.internal.query;
 
+import java.io.ObjectStreamException;
+
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.jbpm.cmd.Command;
@@ -95,4 +97,9 @@
       orderByClause += ", " + clause;
     }
   }
+  
+  protected Object writeReplace() throws ObjectStreamException {
+    this.commandService = null;
+    return this;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/stream/ByteArrayStreamInput.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/stream/ByteArrayStreamInput.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/stream/ByteArrayStreamInput.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -23,14 +23,17 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
+import java.io.Serializable;
 
 import org.jbpm.JbpmException;
 
 /**
  * @author Tom Baeyens
  */
-public class ByteArrayStreamInput extends StreamInput {
+public class ByteArrayStreamInput extends StreamInput implements Serializable {
   
+  private static final long serialVersionUID = 1L;
+
   protected byte[] bytes;
   
   /** @throws JbpmException if bytes is null */

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/DeploymentImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/DeploymentImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/DeploymentImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -24,6 +24,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.net.URL;
 import java.util.ArrayList;
@@ -72,6 +73,7 @@
   protected ProcessServiceImpl processServiceImpl;
 
   protected String name;
+  protected long timestamp;
 
   /** maps file names to stream source */
   protected Map<String, StreamInput> files = new HashMap<String,StreamInput>();
@@ -79,40 +81,14 @@
   protected Map<String, Document> fileDocuments = new HashMap<String, Document>();
   /** maps file names to file types */
   protected Map<String, String> fileTypes = new HashMap<String,String>();
+  /** process definitions */
+  protected List<ProcessDefinition> processDefinitions = new ArrayList<ProcessDefinition>();
 
-  /** generic pool of objects.  
-   * 1) users can supply objects directly to a deployment like 
-   *    e.g. ProcessDefinition's created by a factory
-   * 2) deployers can create objects as a result from processing the files
-   *    in those cases the object names are typically identical to the file 
-   *    names
-   * 3) the save deployer will store all objects in the db.
-   */
-  protected Map<String, Object> objects;
-  
-  /* maps object names to object types */
-  protected Map<String, Object> objectTypes;
-
-  // TODO REMOVE
-  protected ProcessDefinition processDefinition;
-  
   public DeploymentImpl(ProcessServiceImpl processServiceImpl) {
     this.processServiceImpl = processServiceImpl;
     this.problems = new ArrayList<ProblemImpl>();
   }
 
-  // TODO REMOVE
-  public DeploymentImpl() {
-    this.problems = new ArrayList<ProblemImpl>();
-  }
-  
-  // TODO REMOVE replace with addObject
-  public DeploymentImpl(ProcessDefinition processDefinition) {
-    this.problems = new ArrayList<ProblemImpl>();
-    setProcessDefinition(processDefinition);
-  }
-  
-
   public Deployment addResource(String resource) {
     addStreamSource(resource, new ResourceStreamInput(resource));
     return this;
@@ -258,20 +234,6 @@
     return files.keySet();
   }
   
-  public Object getObject(String name) {
-    if (objects==null) {
-      return null;
-    }
-    return objects.get(name);
-  }
-
-  public Set<String> getObjectNames() {
-    if (objects==null) {
-      return Collections.EMPTY_SET;
-    }
-    return objects.keySet();
-  }
-
   public Document getDocument(String name) {
     if ( (fileDocuments!=null)
          && (fileDocuments.containsKey(name))
@@ -291,14 +253,6 @@
     return null;
   }
   
-  public ProcessDefinition getProcessDefinition() {
-    return processDefinition;
-  }
-  
-  public void setProcessDefinition(ProcessDefinition processDefinition) {
-    this.processDefinition = processDefinition;
-  }
-  
   public String getName() {
     return name;
   }
@@ -306,33 +260,27 @@
     this.name = name;
     return this;
   }
+  
+  public long getTimestamp() {
+    return timestamp;
+  }
+  
+  public Deployment setTimestamp(long timestamp) {
+    this.timestamp = timestamp;
+    return this;
+  }
 
-  public Deployment addObject(String name, Object object) {
-    if (objects==null) {
-      objects = new HashMap<String, Object>();
-    }
-    objects.put(name, object);
+  public Deployment addProcessDefinition(ProcessDefinition processDefinition) {
+    processDefinitions.add(processDefinition);
     return this;
   }
 
   public Deployment deploy() {
-    processServiceImpl.deploy(this);
+    processDefinitions = processServiceImpl.deploy(this);
     return this;
   }
   
   public List<ProcessDefinition> getProcessDefinitions() {
-    List<ProcessDefinition> processDefinitions = null;
-    if (objects!=null) {
-      processDefinitions = new ArrayList<ProcessDefinition>();
-      for (Object object: objects.values()) {
-        if (object instanceof ProcessDefinition) {
-          processDefinitions.add((ProcessDefinition) object);
-        }
-      }
-    } else {
-      processDefinitions = Collections.EMPTY_LIST;
-    }
-
     return processDefinitions;
   }
 
@@ -376,20 +324,11 @@
     return this;
   }
 
-  public Deployment addObject(String name, Object object, String objectType) {
-    addObject(name, objectType);
-    if (objectTypes==null) {
-      objectTypes = new HashMap<String, Object>(); 
-    }
-    objectTypes.put(name, objectType);
-    return this;
-  }
-
   public Deployment setFileType(String fileName, String fileType) {
     if (fileTypes==null) {
       fileTypes = new HashMap<String, String>(); 
     }
-    fileTypes.put(name, fileType);
+    fileTypes.put(fileName, fileType);
     return this;
   }
 
@@ -405,4 +344,22 @@
     }
     return fileNames;
   }
+  
+  protected Object writeReplace() throws ObjectStreamException {
+    if (files!=null) {
+      Map<String, StreamInput> replacedFiles = new HashMap<String, StreamInput>();
+      for (Map.Entry<String, StreamInput> entry: files.entrySet()) {
+        if (! (entry.getValue() instanceof ByteArrayStreamInput)) {
+          byte[] bytes = IoUtil.readBytes(entry.getValue().openStream());
+          replacedFiles.put(entry.getKey(), new ByteArrayStreamInput(bytes));
+        }
+      }
+      files = replacedFiles;
+    }
+    
+    processServiceImpl = null;
+    
+    return this;
+  }
+
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/EnvironmentInterceptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/EnvironmentInterceptor.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/EnvironmentInterceptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -36,6 +36,7 @@
 
   public <T> T execute(Command<T> command) {
     Environment environment = environmentFactory.openEnvironment();
+    
     try {
       return next.execute(command);
       

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ProcessServiceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ProcessServiceImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ProcessServiceImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -88,11 +88,6 @@
     return commandService.execute(new DeployCmd((DeploymentImpl)deployment));
   }
 
-  public List<ProcessDefinition> deploy(OpenProcessDefinition processDefinition) {
-    DeploymentImpl deploymentImpl = new DeploymentImpl(processDefinition);
-    return commandService.execute(new DeployCmd(deploymentImpl));
-  }
-  
   public CommandService getCommandService() {
     return commandService;
   }

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/SerializeInterceptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/SerializeInterceptor.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/SerializeInterceptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.svc;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.jbpm.JbpmException;
+import org.jbpm.cmd.Command;
+import org.jbpm.internal.log.Log;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class SerializeInterceptor extends Interceptor {
+  
+  private static final Log log = Log.getLog(SerializeInterceptor.class.getName());
+
+  public <T> T execute(Command<T> command) {
+    log.info("serializing command "+command);
+    Command<T> serializedCommand = (Command<T>) serialize(command);
+    T returnValue = next.execute(serializedCommand);
+    T serializedReturnValue = (T) serialize(returnValue);
+    return serializedReturnValue;
+  }
+
+  public Object serialize(Object o) {
+    try {
+      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+      ObjectOutputStream oos = new ObjectOutputStream(baos);
+      oos.writeObject(o);
+      ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+      ObjectInputStream ois = new ObjectInputStream(bais);
+      return ois.readObject();
+    } catch (Exception e) {
+      throw new JbpmException("serialization exception", e);
+    }
+  }
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -24,8 +24,9 @@
 import java.io.Serializable;
 import java.util.List;
 
-import org.jbpm.model.ObservableElement;
+import org.jbpm.env.Environment;
 import org.jbpm.pvm.internal.model.ProcessElementImpl;
+import org.jbpm.pvm.internal.script.ScriptManager;
 import org.jbpm.pvm.internal.util.Priority;
 import org.jbpm.pvm.internal.wire.Descriptor;
 
@@ -46,31 +47,23 @@
   protected boolean isSignalling = true;
 
   protected String dueDateDuration;
+  protected String form;
   protected List<TaskDefinitionImpl> subTaskDefinitions;
   protected int priority = Priority.NORMAL;
   protected SwimlaneDefinitionImpl swimlaneDefinition;
   protected String assigneeExpression;
+  protected String assigneeExpressionLanguage;
   protected String candidatesExpression;
+  protected String candidatesExpressionLanguage;
   protected Descriptor assignerDescriptor;
-  
 
-  public String getForm() {
-    return (String) (properties!=null ? properties.get("form") : null);
-  }
-  
-  public ObservableElement getParent() {
-    // TODO Auto-generated method stub
-    // huh ?
-    return null;
-  }
 
-  public boolean hasEvent(String eventName) {
-    // TODO Auto-generated method stub
-    // huh ?
-    return false;
+  public void initialize(TaskImpl task) {
+    ScriptManager scriptManager = Environment.getFromCurrent(ScriptManager.class);
+    String assigneeName = (String) scriptManager.evaluateExpression(assigneeExpression, task.getExecution(), assigneeExpressionLanguage);
+    task.setAssignee(assigneeName);
   }
 
-
   // getters and setters //////////////////////////////////////////////////////
   
   public String getAssigneeExpression() {
@@ -139,5 +132,10 @@
   public void setDueDateDuration(String dueDateDuration) {
     this.dueDateDuration = dueDateDuration;
   }
-
+  public String getForm() {
+    return form;
+  }
+  public void setForm(String form) {
+    this.form = form;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -31,8 +31,10 @@
 
 import org.jbpm.Execution;
 import org.jbpm.JbpmException;
+import org.jbpm.env.Environment;
 import org.jbpm.model.Comment;
 import org.jbpm.pvm.internal.cal.Duration;
+import org.jbpm.pvm.internal.env.Authentication;
 import org.jbpm.pvm.internal.model.CommentImpl;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.model.ScopeInstanceImpl;
@@ -81,6 +83,9 @@
   protected TaskImpl superTask;
   protected Set<TaskImpl> subTasks;
   
+  protected Long executionDbid;
+  protected Long parentTaskDbid;
+  
   protected TaskImpl() {
   }
   
@@ -201,6 +206,14 @@
     return null;
   }
 
+  public void take() {
+    if (assignee!=null) {
+      throw new JbpmException("task "+dbid+" is already taken by "+assignee);
+    }
+    Authentication authentication = Environment.getFromCurrent(Authentication.class);
+    assignee = authentication.getUserId();
+  }
+
   // comments /////////////////////////////////////////////////////////////////
 
   public List<Comment> getComments() {
@@ -276,7 +289,7 @@
 
   public String getLifeCycleResource() {
     // the default lifecycle can be overridden in subclasses
-    return "jbpm.task.default.lifecycle.xml";
+    return "jbpm.task.lifecycle.xml";
   }
   
   // modified getters and setters /////////////////////////////////////////////
@@ -379,4 +392,16 @@
   public Integer getProgress() {
     return progress;
   }
+  public Long getExecutionDbid() {
+    return executionDbid;
+  }
+  public void setExecutionDbid(Long executionDbid) {
+    this.executionDbid = executionDbid;
+  }
+  public Long getParentTaskDbid() {
+    return parentTaskDbid;
+  }
+  public void setParentTaskDbid(Long parentTaskDbid) {
+    this.parentTaskDbid = parentTaskDbid;
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskQueryImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskQueryImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,6 +21,7 @@
  */
 package org.jbpm.pvm.internal.task;
 
+import java.io.ObjectStreamException;
 import java.util.List;
 
 import org.hibernate.Query;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskServiceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskServiceImpl.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskServiceImpl.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -40,6 +40,7 @@
 import org.jbpm.pvm.internal.cmd.RemoveParticipantCmd;
 import org.jbpm.pvm.internal.cmd.SaveTaskCmd;
 import org.jbpm.pvm.internal.cmd.SubmitTaskCmd;
+import org.jbpm.pvm.internal.cmd.TakeTaskCmd;
 import org.jbpm.task.IdentityRef;
 import org.jbpm.task.Participant;
 import org.jbpm.task.Task;
@@ -67,15 +68,15 @@
   }
 
   public Task newTask() {
-    return commandService.execute(new NewTaskCmd(null, null));
+    return commandService.execute(new NewTaskCmd(null));
   }
 
   public Task getTask(long taskDbid) {
     return commandService.execute(new GetTaskCmd(taskDbid));
   }
 
-  public void saveTask(Task task) {
-    commandService.execute(new SaveTaskCmd((TaskImpl) task));
+  public long saveTask(Task task) {
+    return commandService.execute(new SaveTaskCmd((TaskImpl) task));
   }
 
   public void deleteTask(long taskDbid) {
@@ -86,10 +87,6 @@
     commandService.execute(new SubmitTaskCmd(taskDbid));
   }
 
-  public void submitTask(Task task) {
-    commandService.execute(new SubmitTaskCmd((TaskImpl)task));
-  }
-
   public void addTaskParticipant(long taskDbid, IdentityRef identityRef, String participation) {
     commandService.execute(new AddParticipantCmd(taskDbid, null, identityRef, participation));
   }
@@ -135,7 +132,7 @@
   }
 
   public Task newTask(long parentTaskDbid) {
-    return commandService.execute(new NewTaskCmd(parentTaskDbid, null));
+    return commandService.execute(new NewTaskCmd(parentTaskDbid));
   }
 
   public Comment addTaskComment(long taskDbid, String message) {
@@ -153,4 +150,8 @@
   public Comment addReplyComment(long commentDbid, String message) {
     return commandService.execute(new AddReplyCommentCmd(commentDbid, message));
   }
+
+  public void takeTask(long taskDbid) {
+    commandService.execute(new TakeTaskCmd(taskDbid));
+  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/StandardTransactionInterceptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/StandardTransactionInterceptor.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/StandardTransactionInterceptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -28,11 +28,8 @@
 import org.jbpm.pvm.internal.svc.Interceptor;
 
 
-/**
- * Calls setRollbackOnly on the transaction in the environment
+/** calls setRollbackOnly on the transaction in the environment 
  * in case an exception occurs during execution of the command.
- * <p>
- * Models "requires-new" semantic.
  * 
  * @author Tom Baeyens
  */

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -344,7 +344,7 @@
       parse.addProblem("attribute <"+XmlUtil.getTagLocalName(element)+" "+attributeName+"=\"...\" is required");
     }
     
-    return null;
+    return defaultValue;
   }
   
   

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AsyncCommandServiceBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AsyncCommandServiceBinding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AsyncCommandServiceBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.pvm.internal.wire.binding;
-
-import org.jbpm.cmd.CommandService;
-import org.jbpm.pvm.internal.svc.AsyncCommandService;
-import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-/**
- * @author Tom Baeyens
- */
-public class AsyncCommandServiceBinding extends StandardCommandServiceBinding {
-  
-  public AsyncCommandServiceBinding() {
-    super("async-command-service");
-  }
-
-  protected CommandService getCommandService(Element element, Parse parse, Parser parser) {
-    AsyncCommandService asyncCommandService = new AsyncCommandService();
-    
-    if (XmlUtil.attributeBoolean(element, "propagate-auth", false, parse)) {
-      asyncCommandService.setPropagateUserId(true);
-    }
-    
-    return asyncCommandService;
-  }
-}

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AuthenticationBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AuthenticationBinding.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/AuthenticationBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.wire.binding;
+
+import org.jbpm.pvm.internal.env.Authentication;
+import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class AuthenticationBinding extends WireDescriptorBinding {
+
+  public AuthenticationBinding() {
+    super("authentication");
+  }
+
+  public Object parse(Element element, Parse parse, Parser parser) {
+    ObjectDescriptor objectDescriptor = new ObjectDescriptor();
+    
+    objectDescriptor.setClassName(Authentication.class.getName());
+    
+    return objectDescriptor;
+  }
+}


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

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CommandServiceBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CommandServiceBinding.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/CommandServiceBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.wire.binding;
+
+import java.util.List;
+
+import org.jbpm.cmd.CommandService;
+import org.jbpm.pvm.internal.svc.AsyncCommandService;
+import org.jbpm.pvm.internal.svc.DefaultCommandService;
+import org.jbpm.pvm.internal.svc.SerializeInterceptor;
+import org.jbpm.pvm.internal.util.XmlUtil;
+import org.jbpm.pvm.internal.wire.Descriptor;
+import org.jbpm.pvm.internal.wire.descriptor.CommandServiceDescriptor;
+import org.jbpm.pvm.internal.wire.xml.WireParser;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+/** parses a descriptor for a creating {@link DefaultCommandService}.
+ * 
+ * See schema docs for more details.
+ *
+ * @author Tom Baeyens
+ */
+public class CommandServiceBinding extends WireDescriptorBinding {
+
+  public CommandServiceBinding() {
+    super("command-service");
+  }
+  
+  protected CommandServiceBinding(String tagName) {
+    super(tagName);
+  }
+
+  public Object parse(Element element, Parse parse, Parser parser) {
+    CommandServiceDescriptor commandServiceDescriptor = new CommandServiceDescriptor();
+
+    CommandService commandService = getCommandService(element, parse, parser);
+    commandServiceDescriptor.setCommandService(commandService);
+    
+    List<Element> interceptorElements = XmlUtil.elements(element);
+    for (Element interceptorElement : interceptorElements) {
+      Descriptor interceptorDescriptor = (Descriptor) parser.parseElement(interceptorElement, parse, WireParser.CATEGORY_INTERCEPTOR);
+      commandServiceDescriptor.addInterceptorDescriptor(interceptorDescriptor);
+    }
+
+    return commandServiceDescriptor;
+  }
+
+  protected CommandService getCommandService(Element element, Parse parse, Parser parser) {
+    if ( XmlUtil.attributeBoolean(element, "async", false, parse, Boolean.FALSE)) {
+
+      AsyncCommandService asyncCommandService = new AsyncCommandService();
+      if (XmlUtil.attributeBoolean(element, "propagate-auth", false, parse)) {
+        asyncCommandService.setPropagateUserId(true);
+      }
+      return asyncCommandService;
+    }
+    
+    return new DefaultCommandService();
+  }
+
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/HibernateConfigurationBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -52,8 +52,7 @@
   private static final Log log = Log.getLog(HibernateConfigurationBinding.class.getName());
   
   private static final PropertiesBinding propertiesBinding = new PropertiesBinding();
-  private static final MappingParser mappingParser = new MappingParser();
-  
+
   public HibernateConfigurationBinding() {
     super("hibernate-configuration");
   }
@@ -62,44 +61,6 @@
     super(tagName);
   }
 
-  static class MappingParser extends Parser {
-    public Object parseDocumentElement(Element documentElement, Parse parse) {
-      List<Element> elements = XmlUtil.elements(documentElement, "mapping");
-      HibernateConfigurationDescriptor descriptor = parse.findObject(HibernateConfigurationDescriptor.class);
-      for (Element element: elements) {
-        parseMapping(element, descriptor, parse);
-      }
-      return null;
-    }
-
-  }
-
-  static void parseMapping(Element element, HibernateConfigurationDescriptor descriptor, Parse parse) {
-    if (element.hasAttribute("resource")) {
-      String resource = element.getAttribute("resource");
-      log.trace("adding hibernate configuration resource "+resource);
-      descriptor.addMappingOperation(new HibernateConfigurationDescriptor.AddResource(resource));
-
-    } else if (element.hasAttribute("file")) {
-      String fileName = element.getAttribute("file");
-      log.trace("adding hibernate configuration file "+fileName);
-      descriptor.addMappingOperation(new HibernateConfigurationDescriptor.AddFile(fileName));
-
-    } else if (element.hasAttribute("class")) {
-      String className = element.getAttribute("class");
-      log.trace("adding hibernate configuration class "+className);
-      descriptor.addMappingOperation(new HibernateConfigurationDescriptor.AddClass(className));
-      
-    } else if (element.hasAttribute("url")) {
-      String urlText = element.getAttribute("url");
-      log.trace("adding hibernate configuration url "+urlText);
-      descriptor.addMappingOperation(new HibernateConfigurationDescriptor.AddUrl(urlText));
-      
-    } else {
-      parse.addProblem("exactly 1 attribute in {resource, file, class, url} was expected in mapping: "+XmlUtil.toString(element));
-    }
-  }
-
   public Object parse(Element element, Parse parse, Parser parser) {
     HibernateConfigurationDescriptor descriptor = new HibernateConfigurationDescriptor();
     
@@ -111,74 +72,67 @@
       // introduce a hard dependency on the hibernate annotations library
       configurationClassName = "org.hibernate.cfg.AnnotationConfiguration";
 
-    } else if (element.hasAttribute("class")) {
-      configurationClassName = element.getAttribute("class");
-    
     } else {
       configurationClassName = Configuration.class.getName();
     }
 
     descriptor.setClassName(configurationClassName);
 
-    if (element.hasAttribute("schema-operation")) {
-      String schemaOperation = element.getAttribute("schema-operation");
-      if ("create".equals(schemaOperation)) {
-        descriptor.setSchemaOperation(HibernateConfigurationDescriptor.CreateSchema.getInstance());
-      } 
-      else if ("update".equals(schemaOperation)) {
-        descriptor.setSchemaOperation(HibernateConfigurationDescriptor.UpdateSchema.getInstance());
-      }
-    }
-
-    // [hb] parse external configuration file or use inlined elements
-    // but for no, it's one or the other to avoid side effects and overlays
-    if(element.hasAttribute("resource")) {
-      parseConfigurationFile(element, descriptor);
-      log.info("Configuring form external resource "+element.getAttribute("resource"));
-    }
+    parseConfiguration(element, parse, descriptor, parser);
     
-    parseInlineConfiguration(element, parse, descriptor, parser);
-    
     return descriptor;
   }
 
-  private void parseConfigurationFile(Element element, HibernateConfigurationDescriptor descriptor)
+  private void parseConfiguration(Element element, Parse parse, HibernateConfigurationDescriptor descriptor, Parser parser)
   {
-    String hibernateConfigResource = element.getAttribute("resource");
-    descriptor.setHibernateConfigResource(hibernateConfigResource);
-
-  }
-
-  private void parseInlineConfiguration(Element element, Parse parse, HibernateConfigurationDescriptor descriptor, Parser parser)
-  {
     List<Element> configElements = XmlUtil.elements(element);
     for (Element configElement: configElements) {
 
-      if ("mappings".equals(XmlUtil.getTagLocalName(configElement))) {
+      if ("cfg".equals(XmlUtil.getTagLocalName(configElement))) {
         if (configElement.hasAttribute("resource")) {
-          String resources = configElement.getAttribute("resource");
-          try {
-            Enumeration<URL> enumeration = ReflectUtil.getResources(parse.getClassLoader(), resources);
-            if (enumeration!=null) {
-              while (enumeration.hasMoreElements()) {
-                URL url = enumeration.nextElement();
-                log.trace("importing mappings from "+url);
-                InputStream inputStream = url.openStream();
-                mappingParser.createParse()
-                             .pushObject(descriptor)
-                             .setInputStream(inputStream)
-                             .execute();
-              }
-            }
-          } catch (Exception e) {
-            parse.addProblem("couldn't parse hibernate mapping resources '"+resources+"'", e);
-          }
+          String resource = configElement.getAttribute("resource");
+          log.trace("adding hibernate configuration resource "+resource);
+          descriptor.addCfgResource(resource);
+
+        } else if (configElement.hasAttribute("file")) {
+          String fileName = configElement.getAttribute("file");
+          log.trace("adding hibernate configuration file "+fileName);
+          descriptor.addCfgFile(fileName);
+
+        } else if (configElement.hasAttribute("url")) {
+          String urlText = configElement.getAttribute("url");
+          log.trace("adding hibernate configuration url "+urlText);
+          descriptor.addCfgUrl(urlText);
+          
+        } else {
+          parse.addProblem("exactly 1 attribute in {resource, file, url} was expected in cfg: "+XmlUtil.toString(configElement));
         }
 
       } else if ("mapping".equals(XmlUtil.getTagLocalName(configElement))) {
+        if (configElement.hasAttribute("resource")) {
+          String resource = configElement.getAttribute("resource");
+          log.trace("adding hibernate mapping resource "+resource);
+          descriptor.addMappingResource(resource);
 
-        parseMapping(configElement, descriptor, parse);
+        } else if (configElement.hasAttribute("file")) {
+          String fileName = configElement.getAttribute("file");
+          log.trace("adding hibernate mapping file "+fileName);
+          descriptor.addMappingFile(fileName);
 
+        } else if (configElement.hasAttribute("class")) {
+          String className = configElement.getAttribute("class");
+          log.trace("adding hibernate mapping class "+className);
+          descriptor.addMappingClass(className);
+          
+        } else if (configElement.hasAttribute("url")) {
+          String urlText = configElement.getAttribute("url");
+          log.trace("adding hibernate mapping url "+urlText);
+          descriptor.addMappingUrl(urlText);
+          
+        } else {
+          parse.addProblem("exactly 1 attribute in {resource, file, class, url} was expected in mapping: "+XmlUtil.toString(element));
+        }
+
       } else if ("properties".equals(XmlUtil.getTagLocalName(configElement))) {
         PropertiesDescriptor propertiesDescriptor = (PropertiesDescriptor) propertiesBinding.parse(configElement, parse, parser);
         descriptor.setPropertiesDescriptor(propertiesDescriptor);
@@ -238,11 +192,11 @@
 
               if ("class-cache".equals(XmlUtil.getTagLocalName(cacheElement))) {
                 String className = cacheElement.getAttribute("class");
-                descriptor.addCacheOperation(new HibernateConfigurationDescriptor.SetCacheConcurrencyStrategy(className, cacheUsage));
+                descriptor.addClassToCache(className, cacheUsage);
 
               } else if ("collection-cache".equals(XmlUtil.getTagLocalName(cacheElement))) {
                 String collection = cacheElement.getAttribute("collection");
-                descriptor.addCacheOperation(new HibernateConfigurationDescriptor.SetCollectionCacheConcurrencyStrategy(collection, cacheUsage));
+                descriptor.addCollectionToCache(collection, cacheUsage);
 
               } else {
                 parse.addProblem("unknown hibernate cache configuration element "+XmlUtil.toString(configElement));

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionBinding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,7 +21,9 @@
  */
 package org.jbpm.pvm.internal.wire.binding;
 
-import org.jbpm.pvm.internal.wire.descriptor.IdentitySessionDescriptor;
+import org.hibernate.Session;
+import org.jbpm.pvm.internal.identity.impl.IdentitySessionImpl;
+import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
 import org.jbpm.pvm.internal.xml.Parse;
 import org.jbpm.pvm.internal.xml.Parser;
 import org.w3c.dom.Element;
@@ -37,13 +39,8 @@
   }
 
   public Object parse(Element element, Parse parse, Parser parser) {
-    IdentitySessionDescriptor descriptor = new IdentitySessionDescriptor();
-    
-    if (element.hasAttribute("realm")) {
-      descriptor.setRealmName(element.getAttribute("realm"));
-    }
-
-    return descriptor;
+    ObjectDescriptor objectDescriptor = new ObjectDescriptor(IdentitySessionImpl.class);
+    objectDescriptor.addTypedInjection("session", Session.class);
+    return objectDescriptor;
   }
-
 }

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.wire.binding;
+
+import org.jbpm.pvm.internal.wire.descriptor.JbossIdmIdentitySessionDescriptor;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class JbossIdmIdentitySessionBinding extends WireDescriptorBinding {
+
+  public JbossIdmIdentitySessionBinding() {
+    super("jboss-idm-identity-session");
+  }
+
+  public Object parse(Element element, Parse parse, Parser parser) {
+    JbossIdmIdentitySessionDescriptor descriptor = new JbossIdmIdentitySessionDescriptor();
+    
+    if (element.hasAttribute("realm")) {
+      descriptor.setRealmName(element.getAttribute("realm"));
+    }
+
+    return descriptor;
+  }
+
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SaveBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SaveBinding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SaveBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -42,23 +42,6 @@
 
   public Object parse(Element element, Parse parse, Parser parser) {
     SaveDeployer saveDeployer = new SaveDeployer();
-
-    if (element.hasAttribute("policy")) {
-      String policyClassName = element.getAttribute("policy");
-      SavePolicy policy = null;
-      try
-      {
-        Class<?> policyClass = Thread.currentThread().getContextClassLoader().loadClass(policyClassName);
-        policy = (SavePolicy)policyClass.newInstance();
-      }
-      catch (Exception e)
-      {
-        throw new IllegalArgumentException("Failed to load policy " +policyClassName, e);
-      }
-
-      saveDeployer.setPolicy(policy);
-    }
-
     return new ProvidedObjectDescriptor(saveDeployer);
   }
 }

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SerializeInterceptorBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SerializeInterceptorBinding.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/SerializeInterceptorBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.wire.binding;
+
+import org.jbpm.pvm.internal.svc.SerializeInterceptor;
+import org.jbpm.pvm.internal.wire.descriptor.ProvidedObjectDescriptor;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class SerializeInterceptorBinding extends WireInterceptorBinding {
+
+  public SerializeInterceptorBinding() {
+    super("serialize-interceptor");
+  }
+
+  public Object parse(Element element, Parse parse, Parser parser) {
+    return new ProvidedObjectDescriptor(new SerializeInterceptor());
+  }
+
+}


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

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/StandardCommandServiceBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/StandardCommandServiceBinding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/StandardCommandServiceBinding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.pvm.internal.wire.binding;
-
-import java.util.List;
-
-import org.jbpm.cmd.CommandService;
-import org.jbpm.pvm.internal.svc.DefaultCommandService;
-import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.pvm.internal.wire.Descriptor;
-import org.jbpm.pvm.internal.wire.descriptor.CommandServiceDescriptor;
-import org.jbpm.pvm.internal.wire.xml.WireParser;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-/** parses a descriptor for a creating {@link DefaultCommandService}.
- * 
- * See schema docs for more details.
- *
- * @author Tom Baeyens
- */
-public class StandardCommandServiceBinding extends WireDescriptorBinding {
-
-  public StandardCommandServiceBinding() {
-    super("command-service");
-  }
-  
-  protected StandardCommandServiceBinding(String tagName) {
-    super(tagName);
-  }
-
-  public Object parse(Element element, Parse parse, Parser parser) {
-    CommandServiceDescriptor commandServiceDescriptor = new CommandServiceDescriptor();
-
-    CommandService commandService = getCommandService(element, parse, parser);
-    commandServiceDescriptor.setCommandService(commandService);
-    
-    List<Element> interceptorElements = XmlUtil.elements(element);
-    for (Element interceptorElement : interceptorElements) {
-      Descriptor interceptorDescriptor = (Descriptor) parser.parseElement(interceptorElement, parse, WireParser.CATEGORY_INTERCEPTOR);
-      commandServiceDescriptor.addInterceptorDescriptor(interceptorDescriptor);
-    }
-
-    return commandServiceDescriptor;
-  }
-
-  protected CommandService getCommandService(Element element, Parse parse, Parser parser) {
-    return new DefaultCommandService();
-  }
-
-}

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/VersionTimestampPolicy.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/VersionTimestampPolicy.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/VersionTimestampPolicy.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,26 +21,27 @@
  */
 package org.jbpm.pvm.internal.wire.binding;
 
+import java.io.Serializable;
+import java.util.List;
+
+import org.jbpm.ProcessDefinition;
+import org.jbpm.ProcessDefinitionQuery;
+import org.jbpm.ProcessService;
+import org.jbpm.client.ClientProcessDefinition;
+import org.jbpm.env.Environment;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.svc.DeploymentImpl;
 import org.jbpm.pvm.internal.util.XmlUtil;
-import org.jbpm.env.Environment;
-import org.jbpm.ProcessService;
-import org.jbpm.ProcessDefinitionQuery;
-import org.jbpm.ProcessDefinition;
-import org.jbpm.client.ClientProcessDefinition;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-import java.io.Serializable;
-import java.util.List;
-import java.net.URL;
-
 /**
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
-public class VersionTimestampPolicy implements SavePolicy, Serializable
-{
+public class VersionTimestampPolicy implements SavePolicy, Serializable {
+
+  private static final long serialVersionUID = 1L;
+
   private static Log log = Log.getLog(VersionTimestampPolicy.class.getName());
   
   private static final String DEPLOYER_TIMESTAMP =  "jbpmdeployer.deploymentArtifact.timestamp";
@@ -64,8 +65,8 @@
       String versionAttribute = XmlUtil.attribute(processEl, "version");
 
       // @see DeploymentAdaptor, it provides the timestamp
-      long currentTimestamp = (Long)deployment.getObject(DEPLOYER_TIMESTAMP);
-      String deloymentLocation = (String)deployment.getObject(DEPLOYER_LOCATION);
+      long currentTimestamp = deployment.getTimestamp();
+      String deloymentLocation = deployment.getName();
 
       // provide evaluation properties
       evaluation.getResults().put(DEPLOYER_TIMESTAMP, String.valueOf(currentTimestamp));

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateConfigurationDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateConfigurationDescriptor.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateConfigurationDescriptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,14 +21,13 @@
  */
 package org.jbpm.pvm.internal.wire.descriptor;
 
-import org.hibernate.JDBCException;
-import org.hibernate.HibernateException;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
 import org.hibernate.cfg.Configuration;
-import org.hibernate.connection.ConnectionProvider;
-import org.hibernate.connection.ConnectionProviderFactory;
-import org.hibernate.dialect.Dialect;
-import org.hibernate.tool.hbm2ddl.DatabaseMetadata;
-import org.hibernate.util.JDBCExceptionReporter;
 import org.jbpm.JbpmException;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.util.ReflectUtil;
@@ -37,16 +36,6 @@
 import org.jbpm.pvm.internal.wire.WireException;
 import org.jbpm.pvm.internal.wire.operation.Operation;
 
-import java.io.InputStream;
-import java.net.URL;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Properties;
-
 /**
  * @author Tom Baeyens
  */
@@ -58,14 +47,10 @@
 
   String className;
   String namingStrategyClassName;
-  List<Operation> mappingOperations;
-  List<Operation> cacheOperations;
-  PropertiesDescriptor propertiesDescriptor;
-  private Operation schemaOperation;
+  List<Operation> cfgOperations = new ArrayList<Operation>();
+  List<Operation> cfgCacheOperations = new ArrayList<Operation>();
+  PropertiesDescriptor propertiesDescriptor = null;
 
-  // a hibernate xml config, i.e. hibernate.cfg.xml  
-  private String hibernateConfigResource = null;
-
   public Object construct(WireContext wireContext) {
     // instantiation of the configuration
     Configuration configuration = null;
@@ -82,26 +67,16 @@
   }
 
   public void initialize(Object object, WireContext wireContext) {
-
     Configuration configuration = (Configuration) object;
 
-    // [hb] use one or the other for now, but don't mix external and inline configuration
-    if(hibernateConfigResource!=null) {
-      configuration.configure(hibernateConfigResource);
-    }
-    
-    apply(mappingOperations, configuration, wireContext);
-    apply(cacheOperations, configuration, wireContext);
+    apply(cfgOperations, configuration, wireContext);
+    apply(cfgCacheOperations, configuration, wireContext);
 
     if (propertiesDescriptor!=null) {
       Properties properties = (Properties) wireContext.create(propertiesDescriptor, false);
       if (log.isDebugEnabled()) log.debug("adding properties to hibernate configuration: "+properties);
       configuration.addProperties(properties);
     }
-
-    if (schemaOperation != null) {
-      schemaOperation.apply(configuration, wireContext);
-    }
   }
 
   private void apply(List<Operation> operations, Configuration configuration, WireContext wireContext) {
@@ -123,48 +98,98 @@
     }
     return Configuration.class;
   }
+  
+  public void addCfgResource(String cfgResource) {
+    cfgOperations.add(new AddCfgResource(cfgResource));
+  }
 
-  public void addMappingOperation(Operation operation) {
-    if (mappingOperations==null) {
-      mappingOperations = new ArrayList<Operation>();
-    }
-    mappingOperations.add(operation);
+  public void addCfgFile(String cfgFile) {
+    cfgOperations.add(new AddCfgFile(cfgFile));
   }
-  public void addCacheOperation(Operation operation) {
-    if (cacheOperations==null) {
-      cacheOperations = new ArrayList<Operation>();
-    }
-    cacheOperations.add(operation);
+
+  public void addCfgUrl(String cfgUrl) {
+    cfgOperations.add(new AddCfgUrl(cfgUrl));
   }
 
-  // operations ///////////////////////////////////////////////////////////////
+  public void addMappingResource(String mappingResource) {
+    cfgOperations.add(new AddMappingResource(mappingResource));
+  }
 
-  /**
-   * Applies an external configuration (i.e. hibernate.cfg.xml)
-   */
-  public static class ExternalConfiguration implements Operation {
+  public void addMappingFile(String mappingFileName) {
+    cfgOperations.add(new AddMappingFile(mappingFileName));
+  }
+
+  public void addMappingClass(String mappingClassName) {
+    cfgOperations.add(new AddMappingClass(mappingClassName));
+  }
+
+  public void addMappingUrl(String mappingUrl) {
+    cfgOperations.add(new AddMappingUrl(mappingUrl));
+  }
+
+  public void addClassToCache(String className, String concurrencyStrategy) {
+    cfgCacheOperations.add(new SetCacheConcurrencyStrategy(className, concurrencyStrategy));
+  }
+
+  public void addCollectionToCache(String collectionName, String concurrencyStrategy) {
+    cfgCacheOperations.add(new SetCollectionCacheConcurrencyStrategy(collectionName, concurrencyStrategy));
+  }
+
+  public static class AddCfgResource implements Operation {
     private static final long serialVersionUID = 1L;
-    String resource;
-    public ExternalConfiguration(String resource) {
-      this.resource = resource;
+    String cfgResource;
+    public AddCfgResource(String cfgResource) {
+      this.cfgResource = cfgResource;
     }
     public void apply(Object target, WireContext wireContext) {
       Configuration configuration = (Configuration) target;
-      InputStream in = wireContext.getClassLoader().getResourceAsStream(resource);
-      if(null==in)
-        throw new IllegalArgumentException("No such resource " +resource);
-      configuration.addInputStream(in);
+      configuration.configure(cfgResource);
     }
+    public String toString() {
+      return "adding hibernate cfg resource "+cfgResource;
+    }
+  }
 
+  public static class AddCfgFile implements Operation {
+    private static final long serialVersionUID = 1L;
+    String cfgFileName;
+    public AddCfgFile(String cfgFileName) {
+      this.cfgFileName = cfgFileName;
+    }
+    public void apply(Object target, WireContext wireContext) {
+      Configuration configuration = (Configuration) target;
+      File file = new File(cfgFileName);
+      configuration.configure(file);
+    }
     public String toString() {
-      return "using external hibernate configuration "+resource;
+      return "adding hibernate cfg file "+cfgFileName;
     }
   }
 
-  public static class AddResource implements Operation {
+  public static class AddCfgUrl implements Operation {
     private static final long serialVersionUID = 1L;
+    String cfgUrl;
+    public AddCfgUrl(String cfgUrl) {
+      this.cfgUrl = cfgUrl;
+    }
+    public void apply(Object target, WireContext wireContext) {
+      Configuration configuration = (Configuration) target;
+      try {
+        URL url = new URL(cfgUrl);
+        configuration.configure(url);
+      } catch (Exception e) {
+        throw new JbpmException("couldn't configure hibernate with url "+cfgUrl, e);
+      }
+    }
+    public String toString() {
+      return "adding hibernate cfg url "+cfgUrl;
+    }
+  }
+
+  public static class AddMappingResource implements Operation {
+    private static final long serialVersionUID = 1L;
     String resource;
-    public AddResource(String resource) {
+    public AddMappingResource(String resource) {
       this.resource = resource;
     }
     public void apply(Object target, WireContext wireContext) {
@@ -176,10 +201,10 @@
     }
   }
 
-  public static class AddFile implements Operation {
+  public static class AddMappingFile implements Operation {
     private static final long serialVersionUID = 1L;
     String fileName;
-    public AddFile(String fileName) {
+    public AddMappingFile(String fileName) {
       this.fileName = fileName;
     }
     public void apply(Object target, WireContext wireContext) {
@@ -191,10 +216,10 @@
     }
   }
 
-  public static class AddClass implements Operation {
+  public static class AddMappingClass implements Operation {
     private static final long serialVersionUID = 1L;
     String className;
-    public AddClass(String className) {
+    public AddMappingClass(String className) {
       this.className = className;
     }
     public void apply(Object target, WireContext wireContext) {
@@ -211,10 +236,10 @@
     }
   }
 
-  public static class AddUrl implements Operation {
+  public static class AddMappingUrl implements Operation {
     private static final long serialVersionUID = 1L;
     String url;
-    public AddUrl(String url) {
+    public AddMappingUrl(String url) {
       this.url = url;
     }
     public void apply(Object target, WireContext wireContext) {
@@ -261,116 +286,6 @@
     }
   }
 
-  public static class CreateSchema implements Operation {
-
-    private static final long serialVersionUID = 1L;
-
-    /** The sole instance of this class */
-    private static final Operation instance = new CreateSchema();
-
-    private CreateSchema() {
-      // suppress default constructor, ensuring non-instantiability
-    }
-
-    public void apply(Object target, WireContext wireContext) {
-      Configuration configuration = (Configuration) target;
-      Properties cfgProperties = configuration.getProperties();
-      Dialect dialect = Dialect.getDialect(cfgProperties);
-      ConnectionProvider connectionProvider = ConnectionProviderFactory.newConnectionProvider(cfgProperties);
-      try {
-        Connection connection = connectionProvider.getConnection();
-        try {
-          log.debug("dropping db schema");
-          String[] dropScript = configuration.generateDropSchemaScript(dialect);
-          executeScript(connection, dropScript);
-          log.debug("creating db schema");
-          String[] createScript = configuration.generateSchemaCreationScript(dialect);
-          executeScript(connection, createScript);
-        }
-        finally {
-          connectionProvider.closeConnection(connection);
-        }
-      }
-      catch (SQLException e) {
-        throw new JDBCException("error creating schema", e);
-      }
-      finally {
-        connectionProvider.close();
-      }
-    }
-
-    /** Returns the sole instance of this class */
-    public static Operation getInstance() {
-      return instance;
-    }
-  }
-
-  public static class UpdateSchema implements Operation {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final Operation instance = new UpdateSchema();
-
-    private UpdateSchema() {
-      // suppress default constructor, ensuring non-instantiability
-    }
-
-    public void apply(Object target, WireContext wireContext) {
-      Configuration configuration = (Configuration) target;
-      Properties cfgProperties = configuration.getProperties();
-      Dialect dialect = Dialect.getDialect(cfgProperties);
-      ConnectionProvider connectionProvider = ConnectionProviderFactory.newConnectionProvider(cfgProperties);
-      try {
-        Connection connection = connectionProvider.getConnection();
-        try {
-          DatabaseMetadata metadata = new DatabaseMetadata(connection, dialect);
-          String[] updateScript = configuration.generateSchemaUpdateScript(dialect, metadata);
-          log.debug("updating db schema");
-          executeScript(connection, updateScript);
-        }
-        finally {
-          connectionProvider.closeConnection(connection);
-        }
-      }
-      catch (SQLException e) {
-        throw new JDBCException("error updating schema", e);
-      }
-      finally {
-        connectionProvider.close();
-      }
-    }
-
-    public static Operation getInstance() {
-      return instance;
-    }
-  }
-
-  private static List<SQLException> executeScript(Connection connection, String[] script) throws SQLException {
-    List<SQLException> exceptions = Collections.emptyList();
-    Statement statement = connection.createStatement();
-    try {
-      for (String line : script) {
-        log.debug(line);
-        try {
-          statement.executeUpdate(line);
-          if (statement.getWarnings() != null) {
-            JDBCExceptionReporter.logAndClearWarnings(connection);
-          }
-        }
-        catch (SQLException e) {
-          if (exceptions.isEmpty()) {
-            exceptions = new ArrayList<SQLException>();
-          }
-          exceptions.add(e);
-        }
-      }
-    }
-    finally {
-      statement.close();
-    }
-    return exceptions;
-  }
-
   // getters and setters //////////////////////////////////////////////////////
 
   public String getClassName() {
@@ -391,14 +306,4 @@
   public void setNamingStrategyClassName(String namingStrategyClassName) {
     this.namingStrategyClassName = namingStrategyClassName;
   }
-  public Operation getSchemaOperation() {
-    return schemaOperation;
-  }
-  public void setSchemaOperation(Operation schemaOperation) {
-    this.schemaOperation = schemaOperation;
-  }
-  public void setHibernateConfigResource(String hibernateConfigResource)
-  {
-    this.hibernateConfigResource = hibernateConfigResource;
-  }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionDescriptor.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/IdentitySessionDescriptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,12 +21,12 @@
  */
 package org.jbpm.pvm.internal.wire.descriptor;
 
-import org.jboss.identity.idm.api.IdentitySession;
-import org.jboss.identity.idm.api.IdentitySessionFactory;
-import org.jbpm.env.Environment;
+import org.hibernate.Session;
 import org.jbpm.pvm.internal.identity.impl.IdentitySessionImpl;
+import org.jbpm.pvm.internal.identity.spi.IdentitySession;
 import org.jbpm.pvm.internal.wire.WireContext;
 import org.jbpm.pvm.internal.wire.WireDefinition;
+import org.jbpm.pvm.internal.wire.WireException;
 
 
 /**
@@ -35,19 +35,35 @@
 public class IdentitySessionDescriptor extends AbstractDescriptor {
 
   private static final long serialVersionUID = 1L;
+  
+  String sessionName;
 
-  protected String realmName;
-
-  public Object construct(WireContext wireContext) {
-    IdentitySessionFactory identitySessionFactory = Environment.getFromCurrent(IdentitySessionFactory.class);
-    return new IdentitySessionImpl(identitySessionFactory.createIdentitySession(realmName));
+  public Object construct(WireContext wireContext) { 
+    return new IdentitySessionImpl();
   }
 
-  public Class< ? > getType(WireDefinition wireDefinition) {
-    return org.jbpm.pvm.internal.identity.spi.IdentitySession.class;
+  public void initialize(Object object, WireContext wireContext) {
+    // get the hibernate-session
+    Session session = null;
+    if (sessionName!=null) {
+      session = (Session) wireContext.get(sessionName);
+    } else {
+      session = wireContext.get(Session.class);
+    }
+    
+    if (session==null) {
+      throw new WireException("couldn't find hibernate-session "+(sessionName!=null ? "'"+sessionName+"'" : "by type ")+"to create identity-session");
+    }
+    
+    // inject the session
+    ((IdentitySessionImpl)object).setSession(session);
   }
   
-  public void setRealmName(String realmName) {
-    this.realmName = realmName;
+  public Class<?> getType(WireDefinition wireDefinition) {
+    return IdentitySession.class;
   }
+
+  public void setSessionName(String sessionName) {
+    this.sessionName = sessionName;
+  }
 }

Added: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/JbossIdmIdentitySessionDescriptor.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.wire.descriptor;
+
+import org.jboss.identity.idm.api.IdentitySessionFactory;
+import org.jbpm.env.Environment;
+import org.jbpm.pvm.internal.identity.impl.JBossIdmIdentitySessionImpl;
+import org.jbpm.pvm.internal.wire.WireContext;
+import org.jbpm.pvm.internal.wire.WireDefinition;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class JbossIdmIdentitySessionDescriptor extends AbstractDescriptor {
+
+  private static final long serialVersionUID = 1L;
+
+  protected String realmName;
+
+  public Object construct(WireContext wireContext) {
+    IdentitySessionFactory identitySessionFactory = Environment.getFromCurrent(IdentitySessionFactory.class);
+    return new JBossIdmIdentitySessionImpl(identitySessionFactory.createIdentitySession(realmName));
+  }
+
+  public Class< ? > getType(WireDefinition wireDefinition) {
+    return org.jbpm.pvm.internal.identity.spi.IdentitySession.class;
+  }
+  
+  public void setRealmName(String realmName) {
+    this.realmName = realmName;
+  }
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/xml/WireParser.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -125,10 +125,7 @@
 public class WireParser extends Parser {
 
   public static final String[] DEFAULT_WIRE_BINDING_RESOURCES = new String[]{
-    "jbpm.pvm.wire.bindings.xml",
-    "jbpm.jpdl.wire.bindings.xml",
-    "jbpm.task.wire.bindings.xml",
-    "jbpm.enterprise.wire.bindings.xml",
+    "jbpm.wire.bindings.xml",
     "jbpm.user.wire.bindings.xml"
   }; 
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Binding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Binding.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/xml/Binding.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -34,7 +34,7 @@
   
   String getCategory();
 
-  /** does this binding appliesTo to the given element? */
+  /** does this binding apply to the given element? */
   boolean matches(Element element);
 
   /** translates the given element into a domain model java object.

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.business.calendar.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,36 +0,0 @@
-hour.format=HH:mm
-#weekday ::= [<daypart> [& <daypart>]*]
-#daypart ::= <start-hour>-<to-hour>
-#start-hour and to-hour must be in the hour.format
-#dayparts have to be ordered
-weekday.monday=    9:00-12:00 & 12:30-17:00
-weekday.thuesday=  9:00-12:00 & 12:30-17:00
-weekday.wednesday= 9:00-12:00 & 12:30-17:00
-weekday.thursday=  9:00-12:00 & 12:30-17:00
-weekday.friday=    9:00-12:00 & 12:30-17:00
-weekday.saturday=
-weekday.sunday=
-
-day.format=dd/MM/yyyy
-# holiday syntax: <holiday>
-# holiday period syntax: <start-day>-<end-day>
-# below are the belgian official holidays
-holiday.1=  01/01/2005 # nieuwjaar
-holiday.2=  27/3/2005  # pasen 
-holiday.3=  28/3/2005  # paasmaandag 
-holiday.4=  1/5/2005   # feest van de arbeid
-holiday.5=  5/5/2005   # hemelvaart 
-holiday.6=  15/5/2005  # pinksteren 
-holiday.7=  16/5/2005  # pinkstermaandag 
-holiday.8=  21/7/2005  # my birthday 
-holiday.9=  15/8/2005  # moederkesdag 
-holiday.10= 1/11/2005  # allerheiligen 
-holiday.11= 11/11/2005 # wapenstilstand 
-holiday.12= 25/12/2005 # kerstmis 
-
-
-business.day.expressed.in.hours=             8
-business.week.expressed.in.hours=           40
-business.month.expressed.in.business.days=  21
-business.year.expressed.in.business.days=  220
-

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.cache.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,39 +0,0 @@
-<hibernate-cache>
-
-  <class-cache class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" />
-	<class-cache class="org.jbpm.pvm.internal.model.ActivityImpl" />
-	<class-cache class="org.jbpm.pvm.internal.model.TransitionImpl" />
-	<class-cache class="org.jbpm.pvm.internal.model.EventImpl" />
-	<class-cache class="org.jbpm.pvm.internal.model.ExceptionHandlerImpl" />
-	<class-cache class="org.jbpm.pvm.internal.model.ObjectReference" />
-  <class-cache class="org.jbpm.pvm.internal.model.VariableDefinitionImpl" />
-  <class-cache class="org.jbpm.pvm.internal.model.TimerDefinitionImpl" />
-  <class-cache class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" />
-
-	<collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.exceptionHandlers" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.events" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.activities" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.variableDefinitions" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.timerDefinitions" />
-  <collection-cache collection="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.attachments" />
-
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.exceptionHandlers" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.events" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.activities" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.variableDefinitions" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.timerDefinitions" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.incomingTransitions" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.ActivityImpl.outgoingTransitions" />
-
-	<collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.exceptionHandlers" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.TransitionImpl.events" />
-
-	<collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.exceptionHandlers" />
-	<collection-cache collection="org.jbpm.pvm.internal.model.EventImpl.listenerReferences" />
-	  
-	<collection-cache collection="org.jbpm.pvm.internal.model.ExceptionHandlerImpl.eventListenerReferences" />
-
-  <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.argDescriptors" />
-  <collection-cache collection="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.operations" />
-	
-</hibernate-cache>

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.definition.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,431 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
-  <!-- ### PROCESS DEFINITION ############################################# -->
-  <class name="ProcessDefinitionImpl" table="JBPM_PROCESS">
-    <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <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="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>
-  
-  <!-- ### 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

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.execution.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,149 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.model" default-access="field">
-
-  <!-- ### PROCESS DEFINITION ############################################# -->
-  <class name="ExecutionImpl" table="JBPM_EXECUTION">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <version name="dbversion" column="DBVERSION_" />
-    
-    <many-to-one name="activity" 
-                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
-                 column="ACT_"
-                 lazy="false"
-                 foreign-key="FK_EXEC_ACT"
-                 index="IDX_EXEC_ACT" />
-
-    <property name="hasVariables" column="HASVARS_" />
-    <map name="variables"
-         cascade="all-delete-orphan"
-         table="JBPM_VARIABLE">
-      <key foreign-key="FK_VAR_EXECUTION">
-         <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
-      </key>
-      <map-key type="string" column="KEY_" />
-      <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
-    </map>
-    
-    <property name="hasTimers" column="HASTIMERS_" />
-    <set name="timers"
-         cascade="all-delete-orphan">
-      <key foreign-key="FK_TMR_EXECUTION">
-         <column name="EXECUTION_" />
-      </key>
-      <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
-    </set>
-
-    <property name="name" column="NAME_" />
-    <property name="key" column="KEY_" />
-    <property name="id" column="ID_" unique="true" />
-
-    <property name="state" column="STATE_" />
-
-    <property name="priority" column="PRIORITY_" />
-    <property name="historyActivityInstanceDbid" column="HISACTINST_" />
-
-    <many-to-one name="processDefinition"
-                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
-                 column="PROCESS_"
-                 foreign-key="FK_EXEC_PROCESS" 
-                 index="IDX_EXEC_PROCESS" />
-
-    <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
-
-    <many-to-one name="transitionOrigin" 
-                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
-                 column="TRANSORIG_"
-                 foreign-key="FK_EXEC_TRANSORIG"
-                 index="IDX_EXEC_TRANSORIG" />
-
-    <list name="executions" 
-          cascade="all-delete-orphan"
-          inverse="false">
-      <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
-      <list-index column="PARENT_IDX_" />
-      <one-to-many class="ExecutionImpl" />
-    </list>
-
-    <many-to-one name="parent"
-                 column="PARENT_"
-                 class="ExecutionImpl"
-                 foreign-key="FK_EXEC_PARENT"
-                 index="IDX_EXEC_PARENT" />
-
-    <many-to-one name="processInstance"
-                 class="ExecutionImpl" 
-                 column="INSTANCE_"
-                 foreign-key="FK_EXEC_INSTANCE"
-                 index="IDX_EXEC_INSTANCE" />
-
-    <many-to-one name="superProcessExecution"
-                 column="SUPEREXEC_"
-                 class="ExecutionImpl"
-                 foreign-key="FK_EXEC_SUPEREXEC"
-                 index="IDX_EXEC_SUPEREXEC" />
-  </class>
-
-  <!-- ### COMMENTS ####################################################### -->
-  <class name="CommentImpl" table="JBPM_COMMENT">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <discriminator column="CLASS_" />
-    <version name="dbversion" column="DBVERSION_" />
-
-    <property name="userId" column="USERID_" />
-    <property name="time" column="TIME_" />
-    <property name="message" column="MESSAGE_" />
-
-    <list name="comments" 
-          cascade="all-delete-orphan"
-          inverse="false">
-      <key column="PARENT_" foreign-key="none" />
-      <list-index column="PARENT_IDX_" />
-      <one-to-many class="CommentImpl" />
-    </list>
-  </class>
-
-  <!-- ### QUERIES ######################################################## -->
-
-  <query name="findExecutionById">
-    <![CDATA[
-     select execution
-     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
-     where execution.id = :id
-    ]]>
-  </query>
-
-  <query name="findProcessInstanceById">
-    <![CDATA[
-     select processInstance
-     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
-     where processInstance.id = :processInstanceId
-       and processInstance.parent is null
-    ]]>
-  </query>
-
-  <query name="findExecutionByKey">
-    <![CDATA[
-     select execution
-     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
-     where execution.key = :executionKey
-       and execution.processDefinition.name = :processDefinitionName
-    ]]>
-  </query>
-  
-  <query name="findProcessInstanceIds">
-    <![CDATA[
-     select processInstance.id
-     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
-     where processInstance.processDefinition.id = :processDefinitionId
-       and processInstance.parent is null
-    ]]>
-  </query>
-  
-
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.history.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.history.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,73 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.history.model" default-access="field">
-
-  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
-  <class name="HistoryProcessInstanceImpl" table="JBPM_HIST_PROCINST">
-    <id name="processInstanceId" column="ID_">
-      <generator class="assigned" />
-    </id>
-    <version name="dbversion" column="DBVERSION_" />
-
-    <property name="processDefinitionId" column="PROCDEFID_" />
-    <property name="key" column="KEY_" />
-    <property name="startTime" column="START_" type="timestamp" />
-    <property name="endTime" column="END_" type="timestamp" />
-    <property name="duration" column="DURATION_" />
-    <property name="state" column="STATE_" />
-    <property name="endActivityName" column="ENDACTIVITY_" />
-
-    <many-to-one name="processDefinition" 
-                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
-                 column="PROCDEF_"
-                 foreign-key="FK_HISTPI_PROCDEF"
-                 index="IDX_HISTPI_PROCDEF" />
-                 
-    <set name="historyActivityInstances"
-         cascade="all">
-      <key>
-         <column name="HPI_" />
-      </key>
-      <one-to-many class="HistoryActivityInstanceImpl" />
-    </set>
-                 
-  </class>
-
-  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
-  <class name="HistoryActivityInstanceImpl" table="JBPM_HIST_ACTINST" discriminator-value="ACT">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <discriminator column="CLASS_" />
-    <version name="dbversion" column="DBVERSION_" />
-
-    <many-to-one name="historyProcessInstance" 
-                 class="HistoryProcessInstanceImpl" 
-                 column="HPI_"
-                 foreign-key="FK_HAI_HPI"
-                 index="IDX_HAI_HPI" />
-
-    <many-to-one name="activity" 
-                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
-                 column="ACTIVITY_"
-                 foreign-key="FK_HISTAI_ACT"
-                 index="IDX_HISTAI_ACT" />
-
-    <property name="executionId" column="EXECUTION_" />
-    <property name="activityName" column="ACTIVITY_NAME_" />
-    <property name="startTime" column="START_" type="timestamp" />
-    <property name="endTime" column="END_" type="timestamp" />
-    <property name="duration" column="DURATION_" />
-    <property name="transitionName" column="TRANSITION_" />
-
-    <subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
-      <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
-    </subclass>
-    
-    <subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
-      <property name="assignee" column="ASSIGNEE_" />
-    </subclass>
-  </class>
-
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.job.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,137 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE hibernate-mapping PUBLIC
-      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
-      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.job" default-access="field">
-
-	<class name="JobImpl" table="JBPM_JOB" discriminator-value="Job">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-		<discriminator column="CLASS_" />
-    <version name="dbversion" column="DBVERSION_" />
-
-    <property name="dueDate" column="DUEDATE_" type="timestamp" index="IDX_JOBDUEDATE"  />
-    <property name="isSuspended" column="ISSUSPENDED_" />
-    <property name="isExclusive" column="ISEXCLUSIVE_" />
-    <property name="lockOwner" column="LOCKOWNER_" />
-    <property name="lockExpirationTime" column="LOCKEXPTIME_" index="IDX_JOBLOCKEXP" />
-    <property name="info" column="INFO_" />
-    <property name="exception" column="EXCEPTION_" type="text" />
-    <property name="retries" column="RETRIES_" index="IDX_JOBRETRIES" />
-    
-    <many-to-one name="processInstance"   
-                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
-                 column="PROCESSINSTANCE_" 
-                 cascade="none"
-                 foreign-key="FK_JOB_PRINST"
-                 index="IDX_JOB_PRINST"/>
-    <many-to-one name="execution"
-                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
-                 column="EXECUTION_" 
-                 cascade="none"
-                 foreign-key="FK_JOB_EXE"
-                 index="IDX_JOB_EXE"/>
-    <many-to-one name="commandDescriptor"
-                 column="CMDDESCR_"
-                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" 
-                 cascade="all"
-                 foreign-key="FK_JOB_CMDDESCR"
-                 index="IDX_JOB_CMDDESCR"/>
-
-    <subclass name="MessageImpl" discriminator-value="Msg">
-      <subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeActivityMsg" />
-      <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
-        <property name="signalName" column="SIGNAL_" />
-        <many-to-one name="activity"   
-                     column="NODE_" 
-                     cascade="none"
-                     foreign-key="FK_JOB_NODE"/>
-      </subclass>
-      <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
-      <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
-      <subclass name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
-    </subclass>
-    
-    <subclass name="TimerImpl" discriminator-value="Timer">
-      <property name="signalName" column="SIGNAL_" />
-      <property name="eventName" column="EVENT_" />
-      <property name="repeat" column="REPEAT_" />
-    </subclass>
-     
-	</class>
-
-  <!-- ### HibernatePvmDbSession QUERIES ################################## -->
-
-  <query name="findTimers">
-    <![CDATA[
-     select t
-     from org.jbpm.pvm.internal.job.TimerImpl as t
-     order by dueDate asc
-    ]]>
-  </query>
-
-  <query name="findMessages">
-    <![CDATA[
-     select m
-     from org.jbpm.pvm.internal.job.MessageImpl as m
-    ]]>
-  </query>
-
-  <query name="findJobsWithException">
-    <![CDATA[
-     select job
-     from org.jbpm.pvm.internal.job.JobImpl as job
-     where job.retries = 0 
-     order by dueDate asc
-    ]]>
-  </query>
-
-  <!-- ### HibernateJobDbSession QUERIES ################################## -->
-
-  <query name="findFirstAcquirableJob">
-    <![CDATA[
-     select job
-     from org.jbpm.pvm.internal.job.JobImpl as job
-     where ( ( (job.lockExpirationTime is null)
-               or (job.lockExpirationTime <= :now) 
-             )
-             and 
-             ( (job.dueDate is null)
-               or (job.dueDate <= :now) 
-             ) 
-             and 
-             ( job.retries > 0 ) 
-           )
-     order by job.dueDate asc
-    ]]>
-  </query>
-
-  <query name="findExclusiveJobs">
-    <![CDATA[
-     select job
-     from org.jbpm.pvm.internal.job.JobImpl as job
-     where job.lockOwner is null
-       and job.processInstance = :processInstance 
-       and job.isExclusive = true 
-       and job.retries > 0 
-       and ( (job.dueDate is null)
-             or (job.dueDate <= :now) 
-           )
-     order by job.dueDate asc
-    ]]>
-  </query>
-  
-  <query name="findFirstDueJob">
-    <![CDATA[
-     select job
-     from org.jbpm.pvm.internal.job.JobImpl as job
-     where job.lockOwner is null
-       and job.retries > 0 
-     order by job.dueDate asc
-    ]]>
-  </query>
-  
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.typedefs.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping>
-
-  <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
-	  <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter"    >bool-str</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter"         >byte-long</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter"  >char-str</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter"         >date-long</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter"       >date-str</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter"     >double-str</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter"      >float-double</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter"      >float-str</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter"      >int-long</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
-	  <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter"        >short-long</param>
-  </typedef>
-
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.types.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,34 +0,0 @@
-<types>
-
-  <!-- types stored in a native column -->
-  <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
-  <type name="long"   class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
-  <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
-
-  <!-- types converted to a string -->
-  <type name="date"    class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
-  <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
-  <type name="char"    class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
-
-  <!-- types converted to a long -->
-  <type name="byte"    class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
-  <type name="short"   class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
-  <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
-
-  <!-- types converted to a double -->
-  <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
-
-  <!-- byte[] and char[] -->
-  <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
-  <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
-
-  <type name="hibernate-long-id"   class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
-  <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
-
-  <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
-
-  <!-- TODO: add ejb3 entity bean support -->
-  <!-- TODO: add JCR activity support -->
-  <!-- TODO: add collection support -->
-  
-</types>

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.variable.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-
-<hibernate-mapping package="org.jbpm.pvm.internal.type.variable" default-access="field">
-
-  <!-- ### VARIABLE ####################################################### -->
-	<class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
-	  <!-- discriminator values:
-	  date   : org.jbpm.pvm.internal.type.variable.DateVariable
-	  double : org.jbpm.pvm.internal.type.variable.DoubleVariable
-	  hibl   : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
-	  long   : org.jbpm.pvm.internal.type.variable.LongVariable
-	  hibs   : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
-	  string : org.jbpm.pvm.internal.type.variable.StringVariable
-	  null   : org.jbpm.pvm.internal.type.variable.NullVariable
-	  blob   : org.jbpm.pvm.internal.type.variable.BlobVariable
-	  clob   : org.jbpm.pvm.internal.type.variable.ClobVariable
-	  -->
-	
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-		<discriminator column="CLASS_"/>
-    <version name="dbversion" column="DBVERSION_" />
-		
-		<property name="key" column="KEY_"/>
-		<property name="queryText" column="QUERYTEXT_" />
-		<property name="converter" type="converter" column="CONVERTER_" />
-		<many-to-one name="processInstance"
-		             column="PROCINST_" 
-		             class="org.jbpm.pvm.internal.model.ExecutionImpl"
-		             foreign-key="FK_VAR_PROCINST"
-		             index="IDX_VAR_PROCINST"/>
-	</class>
-
-	<subclass name="DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
-		<property name="date" column="DATE_VALUE_" type="timestamp"/>
-	</subclass>
-	
-	<subclass name="DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
-		<property name="d" column="DOUBLE_VALUE_" type="double"/>
-	</subclass>
-	
-	<subclass name="HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
-		<property name="hibernatable" column="LONG_VALUE_" type="long"/>
-	</subclass>
-	
-	<subclass name="LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
-		<property name="l" column="LONG_VALUE_" type="long"/>
-	</subclass>
-	
-	<subclass name="HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
-		<property name="hibernatable" column="STRING_VALUE_" type="string"/>
-	</subclass>
-	
-	<subclass name="StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
-		<property name="string" column="STRING_VALUE_" type="string"/>
-	</subclass>
-	
-	<subclass name="NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
-	</subclass>
-	
-	<subclass name="BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
-    <many-to-one name="lob"
-                 column="LOB_" 
-                 cascade="all"
-                 class="org.jbpm.pvm.internal.lob.Lob"
-                 foreign-key="FK_VAR_LOB"
-                 index="IDX_VAR_LOB" />
-	</subclass>
-
-	<subclass name="ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
-    <many-to-one name="lob"
-                 column="LOB_" 
-                 cascade="all"
-                 class="org.jbpm.pvm.internal.lob.Lob"
-                 foreign-key="none"/>
-	</subclass>
-  
-  <!-- ### LOB ############################################################ -->
-  <class name="org.jbpm.pvm.internal.lob.Lob" table="JBPM_LOB">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <version name="dbversion" column="DBVERSION_" />
-    <property name="blob" type="blob" column="BLOB_VALUE_" />
-    <property name="bytes" type="binary" column="BINARY_VALUE_"/>
-    <property name="clob" type="clob" column="CLOB_VALUE_" />
-    <property name="text" type="text" column="TEXT_VALUE_"/>
-  </class>
-
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,93 +0,0 @@
-<wire-bindings>
-
-  <!-- ########################### -->
-  <!-- ### Descriptor bindings ### -->
-  <!-- ########################### -->
-  <!-- basic types -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
-  <!-- object and ref --> 
-  <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
-  <!-- collections -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
-  <!-- environment refs -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.EnvRefBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.EnvBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
-  <!-- various specials -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
-  <!-- hibernate bindings -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
-  <!-- sessions -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.HistorySessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionFactoryBinding" />
-  <!-- db sessions -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.TaskDbSessionBinding" />
-  
-  <!-- dynamic type mapping configuration  -->    
-  <binding class="org.jbpm.pvm.internal.wire.binding.TypesBinding" />
-  <!-- services  -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.StandardCommandServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.AsyncCommandServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.IdentityServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.HistoryServiceBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.TaskServiceBinding" />
-  
-  <!-- deployers -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.AssignFileTypesBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProcessBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.SaveBinding" />
-
-  <!-- ############################ -->
-  <!-- ### Interceptor bindings ### -->
-  <!-- ############################ -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.StandardTransactionInterceptorBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
-
-  <!-- ########################## -->
-  <!-- ### Operation bindings ### -->
-  <!-- ########################## -->
-  <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
-  <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
-
-</wire-bindings>

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.pvm.wire.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,213 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC
-	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
-	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<hibernate-mapping package="org.jbpm.pvm.internal.wire.descriptor" default-access="field">
-
-  <!-- ### DESCRIPTORS #################################################### -->
-  <class name="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="NullDescriptor" discriminator-value="null_" />
-    <subclass name="TrueDescriptor" discriminator-value="true" />
-    <subclass name="FalseDescriptor" discriminator-value="false" />
-
-    <subclass name="StringDescriptor" discriminator-value="string">
-      <property name="text" column="TEXT_" />
-    </subclass>
-
-    <subclass name="CharacterDescriptor" discriminator-value="char">
-      <property name="text" column="TEXT_" />
-    </subclass>
-    <subclass name="ClassDescriptor" discriminator-value="class">
-      <property name="text" column="TEXT_" />
-    </subclass>
-    <subclass name="ReferenceDescriptor" discriminator-value="ref">
-      <property name="text" column="TEXT_" />
-    </subclass>
-
-    <subclass name="DoubleDescriptor" discriminator-value="double">
-      <property name="doubleVal" column="DOUBLEVAL_" />
-    </subclass>
-    <subclass name="FloatDescriptor" discriminator-value="float">
-      <property name="doubleVal" column="DOUBLEVAL_" />
-    </subclass>
-
-    <subclass name="LongDescriptor" discriminator-value="long">
-      <property name="longVal" column="LONGVAL_" />
-    </subclass>
-    <subclass name="IntegerDescriptor" discriminator-value="int">
-      <property name="longVal" column="LONGVAL_" />
-    </subclass>
-    <subclass name="ShortDescriptor" discriminator-value="short">
-      <property name="longVal" column="LONGVAL_" />
-    </subclass>
-    <subclass name="ByteDescriptor" discriminator-value="byte">
-      <property name="longVal" column="LONGVAL_" />
-    </subclass>
-
-    <subclass name="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="AbstractDescriptor" />
-      </list>
-
-      <subclass name="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="AbstractDescriptor" />
-        </list>
-      </subclass>
-
-      <subclass name="ListDescriptor" discriminator-value="list" />
-      <subclass name="SetDescriptor" discriminator-value="set" />
-    </subclass>
-
-
-    <subclass name="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="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="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="ExpressionDescriptor" discriminator-value="expr">
-      <property name="expr" column="TEXT_" />
-      <property name="lang" column="METHOD_" />
-    </subclass>
-
-    <subclass name="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="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="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="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="ArgDescriptor" />
-      </list>
-    </subclass>
-  </class>
-
-  <!-- ### ARG DESCRIPTOR ################################################# -->
-  <class name="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="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>
-
-</hibernate-mapping>
\ No newline at end of file

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.default.lifecycle.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.default.lifecycle.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.default.lifecycle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,13 +0,0 @@
-<task-lifecycle initial="open">
-  <state name="open">
-    <transition name="complete" to="completed" />
-    <transition name="suspend" to="suspended" />
-    <transition name="cancel" to="cancelled" />
-  </state>
-  <state name="suspended">
-    <transition name="resume" to="open" />
-    <transition name="cancel" to="cancelled" />
-  </state>
-  <state name="cancelled" />
-  <state name="completed" />
-</task-lifecycle>

Deleted: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.hbm.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.task.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,174 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE hibernate-mapping PUBLIC
-      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
-          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
-<hibernate-mapping auto-import="false" package="org.jbpm.pvm.internal.task" default-access="field">
-
-  <!-- ### TASK DEFINITION ################################################ -->
-  <class name="TaskDefinitionImpl" discriminator-value="T">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <discriminator type="char" column="CLASS_"/>
-    <version name="dbversion" column="DBVERSION_" />
-
-    <property name="name" column="NAME_"/>
-    <property name="description" column="DESCR_"/>
-
-    <property name="priority" column="PRIORITY_"/>
-    <property name="dueDateDuration" column="DUEDATE_"/>
-    <property name="isBlocking" column="BLOCK_"/>
-    <property name="isSignalling" column="SIGNAL_"/>
-    <property name="assigneeExpression" column="ASSIGNEE_EXPR_"/>
-    <property name="candidatesExpression" column="CANDIDATES_EXPR_"/>
-
-    <many-to-one name="assignerDescriptor"
-                 column="ASSIGNER_DESCR_" 
-                 cascade="all"
-                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
-                 foreign-key="FK_TSK_ASIG_DESCR"
-                 index="IDX_TSK_ASIG_DESCR" />
-
-    <many-to-one name="swimlaneDefinition"
-                 column="SWIMLANE_DEF_" 
-                 cascade="all"
-                 class="SwimlaneDefinitionImpl"
-                 foreign-key="FK_TSK_SWIML_DEF"
-                 index="IDX_TSK_SWIML_DEF" />
-
-		<list name="subTaskDefinitions" cascade="all-delete-orphan">
-			<key column="TASKDEF_" />
-			<list-index column="TASKDEF_IDX_" />
-			<one-to-many class="TaskDefinitionImpl" />
-		</list>
-  </class>
-  
-  <!-- ### TASK ########################################################### -->
-  <class name="TaskImpl" 
-         discriminator-value="T">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <discriminator type="char" column="CLASS_"/>
-    <version name="dbversion" column="DBVERSION_" />
-
-    <property name="id" column="ID_" unique="true" />
-    <property name="name" column="NAME_"/>
-    <property name="description" column="DESCR_"/>
-    <property name="assignee" column="ASSIGNEE_"/>
-    
-    <set name="participants" cascade="all-delete-orphan">
-      <key column="TASK_" />
-      <one-to-many class="ParticipantImpl" />
-    </set>
-    
-    <property name="priority" column="PRIORITY_"/>
-    <property name="create" column="CREATE_"/>
-    <property name="dueDate" column="DUEDATE_"/>
-    <property name="progress" column="PROGRESS_"/>
-    
-    <!-- 
-    <many-to-one name="variableMap"
-                 class="org.jbpm.pvm.impl.VariableMap" 
-                 column="VARMAP_" 
-                 foreign-key="FK_TASK_VARMAP"
-                 cascade="all" />
-    -->
-
-    <many-to-one name="superTask"
-                 class="TaskImpl" 
-                 column="SUPERTASK_" 
-                 foreign-key="FK_TASK_SUPERTASK" 
-                 index="IDX_TASK_SUPERTASK" />
-
-    <many-to-one name="execution"
-                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
-                 column="EXECUTION_" 
-                 foreign-key="FK_TASK_EXEC" />
-
-    <many-to-one name="swimlane"
-                 class="SwimlaneImpl" 
-                 column="SWIMLANE_" 
-                 foreign-key="FK_TASK_SWIML" />
-
-		<list name="comments" cascade="all-delete-orphan">
-			<key column="TASK_" />
-			<list-index column="TASK_IDX_" />
-			<one-to-many class="org.jbpm.pvm.internal.model.CommentImpl" />
-		</list>
-
-    <set name="subTasks" cascade="all-delete-orphan">
-      <key column="SUPERTASK_" />
-      <one-to-many class="TaskImpl" />
-    </set>
-    
-  </class>
-  
-  <!-- ### PARTICIPANT #################################################### -->
-  <class name="ParticipantImpl">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <version name="dbversion" column="DBVERSION_" />
-    
-    <property name="identityType" column="IDENTITYTYPE_"/>
-    <property name="identityId" column="IDENTITYID_"/>
-    <property name="participation" column="PARTICIPATION_" />
-
-    <many-to-one name="task"
-                 class="TaskImpl" 
-                 column="TASK_" 
-                 index="IDX_PART_TASK"
-                 foreign-key="FK_PART_TASK" />
-
-    <many-to-one name="swimlane"
-                 class="SwimlaneImpl" 
-                 column="SWIMLANE_" 
-                 foreign-key="FK_PART_SWIMLANE" />
-
-  </class>
-  
-  <!-- ### SWIMLANE DEFINITION ############################################ -->
-  <class name="SwimlaneDefinitionImpl">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <version name="dbversion" column="DBVERSION_" />
-    
-    <property name="name" column="NAME_"/>
-  </class>
-
-
-  <!-- ### SWIMLANE ####################################################### -->
-  <class name="SwimlaneImpl">
-    <id name="dbid" column="DBID_">
-      <generator class="native" />
-    </id>
-    <version name="dbversion" column="DBVERSION_" />
-    
-    <property name="name" column="NAME_"/>
-    <property name="assignee" column="ASSIGNEE_"/>
-
-    <many-to-one name="swimlaneDefinition"
-                 class="SwimlaneDefinitionImpl" 
-                 column="SWIMLANEDEF_" 
-                 foreign-key="FK_SWIMLANE_DEF" />
-
-    <set name="participants" cascade="all-delete-orphan">
-      <key column="SWIMLANE_" />
-      <one-to-many class="ParticipantImpl" />
-    </set>
-    
-  </class>
-  
-  
-  <!-- ### QUERIES ######################################################## -->
-
-  <query name="findTasks">
-    <![CDATA[
-     select task
-     from org.jbpm.pvm.internal.task.TaskImpl as task
-    ]]>
-  </query>
-
-</hibernate-mapping>

Deleted: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/env/EnvironmentClassLoaderTest.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/env/EnvironmentClassLoaderTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/env/EnvironmentClassLoaderTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.pvm.env;
-
-import org.jbpm.env.Environment;
-import org.jbpm.env.EnvironmentFactory;
-import org.jbpm.pvm.internal.cfg.JbpmConfiguration;
-import org.jbpm.test.BaseJbpmTestCase;
-
-/**
- * @author Tom Baeyens
- */
-public class EnvironmentClassLoaderTest extends BaseJbpmTestCase {
-  
-  public static class TestClassLoader extends ClassLoader {
-  }
-
-  public void testDefaultClassLoader() {
-    EnvironmentFactory environmentFactory = JbpmConfiguration.parseXmlString(
-      "<environment />"
-    );
-
-    ClassLoader original = Thread.currentThread().getContextClassLoader();
-    ClassLoader testClassLoader = new TestClassLoader();
-    Thread.currentThread().setContextClassLoader(testClassLoader);
-    try {
-
-      Environment environment = environmentFactory.openEnvironment();
-      try {
-        assertSame(testClassLoader, environment.getClassLoader());
-      } finally {
-        environment.close();
-      }
-
-    } finally {
-      Thread.currentThread().setContextClassLoader(original);
-    }
-  }
-
-}

Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/db/model/CommentDbTest.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/db/model/CommentDbTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/db/model/CommentDbTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -34,8 +34,7 @@
  */
 public class CommentDbTest extends EnvironmentDbTestCase {
 
-  public void testComment()
-  {
+  public void testComment() {
     Date now = new Date();
 
     CommentImpl comment = new CommentImpl();
@@ -50,8 +49,7 @@
     assertEquals("hi", comment.getMessage());
   }
 
-  public void testCommentDelete()
-  {
+  public void testCommentDelete() {
     CommentImpl comment = new CommentImpl();
     comment.setUserId("me");
     comment.setMessage("hi");
@@ -67,8 +65,7 @@
     assertNull(dbSession.get(CommentImpl.class, comment.getDbid()));
   }
 
-  public void testCommentReplies()
-  {
+  public void testCommentReplies() {
     CommentImpl comment = new CommentImpl();
     comment.setMessage("how are you");
     Comment reply = comment.createComment("good, thank you");
@@ -99,8 +96,7 @@
     assertEquals("i'm also fine", reply10.getMessage());
   }
 
-  public void testCommentDeleteReplies()
-  {
+  public void testCommentDeleteReplies() {
     CommentImpl comment = new CommentImpl();
     comment.setMessage("how are you");
     comment.createComment("good, thank you");

Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/execution/PvmProcessExecutionTest.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/execution/PvmProcessExecutionTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/execution/PvmProcessExecutionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,9 +21,6 @@
  */
 package org.jbpm.pvm.internal.execution;
 
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
 import org.jbpm.Deployment;
 import org.jbpm.Execution;
 import org.jbpm.ExecutionService;
@@ -55,10 +52,9 @@
       .endActivity()
     .endProcess();
 
-    Deployment deployment = new DeploymentImpl();
-    deployment.addObject("testProcesssss", processDefinition);
-
-    ((ProcessServiceImpl) processService).deploy(deployment);
+    Deployment deployment = new DeploymentImpl((ProcessServiceImpl) processService);
+    deployment.addProcessDefinition(processDefinition);
+    deployment.deploy();
   }
 
   public void testStartProcessInstance() {

Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/identity/IdentityTest.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/identity/IdentityTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/identity/IdentityTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -21,7 +21,6 @@
  */
 package org.jbpm.pvm.internal.identity;
 
-import java.util.Collection;
 import java.util.List;
 
 import org.jbpm.IdentityService;

Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/type/VariableAutoTypeResolutionTest.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/type/VariableAutoTypeResolutionTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/type/VariableAutoTypeResolutionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -44,10 +44,6 @@
  */
 public class VariableAutoTypeResolutionTest extends EnvironmentTestCase {
 
-  public VariableAutoTypeResolutionTest() {
-    super("org/jbpm/pvm/internal/type/environment.cfg.xml");
-  }
-
   public static ExecutionImpl startProcessInstance() {
     return (ExecutionImpl) ProcessDefinitionBuilder
     .startProcess()

Deleted: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/spring/SpringTest.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/spring/SpringTest.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/spring/SpringTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,93 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.pvm.spring;
-
-import org.hibernate.Session;
-import org.jbpm.cmd.Command;
-import org.jbpm.cmd.CommandService;
-import org.jbpm.env.Environment;
-import org.jbpm.env.EnvironmentFactory;
-import org.jbpm.test.BaseJbpmTestCase;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-
-/**
- * @author Tom Baeyens
- */
-public class SpringTest extends BaseJbpmTestCase {
-
-  public void testSpringTransactions() {
-    ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/jbpm/pvm/spring/spring.beans.xml");
-    EnvironmentFactory environmentFactory = (EnvironmentFactory) applicationContext.getBean("environmentFactory");
-    
-    CommandService commandService = environmentFactory.get(CommandService.class);
-    
-    assertNull(Environment.getCurrent());
-
-    Session session = (Session) commandService.execute(new Command<Object>() {
-      public Object execute(Environment environment) throws Exception {
-        assertNotNull(environment);
-        Session session = environment.get(Session.class);
-        assertNotNull(session);
-        assertTrue(session.isOpen());
-        assertSame(session, environment.get(Session.class));
-        return session;
-      }
-    });
-
-    assertFalse(session.isOpen());
-
-    assertNull(Environment.getCurrent());
-
-    /* TODO translate the DeployerManager to a data structure that is 
-     * easy to wire up with spring
-    ProcessService processService = environmentFactory.get(ProcessService.class);
-
-    ProcessDefinition processDefinition = ProcessFactory.build("basic")
-      .activity("a").initial().behaviour(WaitState.class)
-        .transition().to("b")
-      .activity("b").behaviour(WaitState.class)
-        .transition().to("c")
-      .activity("c").behaviour(AutomaticActivity.class)
-        .transition().to("d")
-      .activity("d").behaviour(AutomaticActivity.class)
-        .transition().to("e")
-      .activity("e").behaviour(WaitState.class)
-    .done();
-  
-    processService.deploy(processDefinition);
-  
-    Execution execution = processService.startExecution("basic", "one");
-  
-    assertEquals("a", execution.getActivity().getName());
-  
-    execution = processService.signalExecution("basic", "one");
-  
-    assertEquals("b", execution.getActivity().getName());
-  
-    execution = processService.signalExecution("basic", "one");
-  
-    assertEquals("e", execution.getActivity().getName());
-     */ 
-  }
-
-}

Deleted: jbpm4/trunk/modules/pvm/src/test/resources/hibernate.properties
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/hibernate.properties	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/resources/hibernate.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,8 +0,0 @@
-hibernate.dialect=org.hibernate.dialect.HSQLDialect
-hibernate.connection.driver_class=org.hsqldb.jdbcDriver
-hibernate.connection.url=jdbc:hsqldb:mem:.
-hibernate.connection.username=sa
-hibernate.connection.password=
-hibernate.hbm2ddl.auto=create-drop
-hibernate.cache.use_second_level_cache=true
-hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cache.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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/trunk/modules/pvm/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -4,20 +4,12 @@
 
   <process-engine-context>
   
-    <deployer-manager>
-      <assign-file-type>
-        <file extension=".jpdl.xml" type="jpdl" />
-      </assign-file-type>
-      <check-process />
-      <check-problems />
-      <save />
-    </deployer-manager>
-    
     <process-service />
     <execution-service />
+    <history-service />
     <management-service />
+    <task-service />
     <identity-service />
-  
     <command-service>
       <retry-interceptor />
       <environment-interceptor />
@@ -25,26 +17,30 @@
     </command-service>
     
     <hibernate-configuration>
-      <properties resource="hibernate.properties" />
-      <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
-      <mapping resource="jbpm.pvm.wire.hbm.xml" />
-      <mapping resource="jbpm.pvm.definition.hbm.xml" />
-      <mapping resource="jbpm.pvm.execution.hbm.xml" />
-      <mapping resource="jbpm.pvm.variable.hbm.xml" />
-      <mapping resource="jbpm.pvm.job.hbm.xml" />
-      <cache-configuration resource="jbpm.pvm.cache.xml" 
+      <cfg resource="jbpm.hibernate.cfg.xml" />     
+      <cache-configuration resource="jbpm.cache.xml" 
                            usage="nonstrict-read-write" />
     </hibernate-configuration>
-    
+
     <hibernate-session-factory />
 
-    <identity-session-factory resource="jbpm.identity.cfg.xml" />
-    
+    <deployer-manager>
+      <check-process />
+      <check-problems />
+      <save />
+    </deployer-manager>
+
+    <script-manager default-expression-language="juel"
+                    default-script-language="juel"
+                    read-contexts="execution, environment, process-engine"
+                    write-context="">
+        <script-language name="juel" factory="com.sun.script.juel.JuelScriptEngineFactory" />
+    </script-manager>
+
     <job-executor auto-start="false" />
-    <job-test-helper />
 
     <id-generator />
-    <types resource="jbpm.pvm.types.xml" />
+    <types resource="jbpm.variable.types.xml" />
 
     <business-calendar>
       <monday    hours="9:00-12:00 and 12:30-17:00"/>
@@ -58,13 +54,15 @@
   </process-engine-context>
 
   <transaction-context>
-    <transaction />
     <hibernate-session />
+    <transaction />
     <pvm-db-session />
     <job-db-session />
+    <task-db-session />
     <message-session />
     <timer-session />
-    <identity-session realm="realm://jbpm-identity" />
+    <history-session />
+    <identity-session />
   </transaction-context>
 
 </jbpm-configuration>

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,641 @@
+<?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">
+    <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <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="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/trunk/modules/pvm/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,375 @@
+<?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">
+
+  <!-- ### TYPEDEFS ####################################################### -->
+  <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
+    <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter"    >bool-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter"         >byte-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter"  >char-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter"         >date-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter"       >date-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter"     >double-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter"      >float-double</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter"      >float-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter"      >int-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter"        >short-long</param>
+  </typedef>
+
+  <!-- ### PROCESS DEFINITION ############################################# -->
+  <class name="ExecutionImpl" table="JBPM_EXECUTION">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACT_"
+                 lazy="false"
+                 foreign-key="FK_EXEC_ACT"
+                 index="IDX_EXEC_ACT" />
+
+    <property name="hasVariables" column="HASVARS_" />
+    <map name="variables"
+         cascade="all-delete-orphan"
+         table="JBPM_VARIABLE">
+      <key foreign-key="FK_VAR_EXECUTION">
+         <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
+      </key>
+      <map-key type="string" column="KEY_" />
+      <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
+    </map>
+    
+    <property name="hasTimers" column="HASTIMERS_" />
+    <set name="timers"
+         cascade="all-delete-orphan">
+      <key foreign-key="FK_TMR_EXECUTION">
+         <column name="EXECUTION_" />
+      </key>
+      <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
+    </set>
+
+    <property name="name" column="NAME_" />
+    <property name="key" column="KEY_" />
+    <property name="id" column="ID_" unique="true" />
+
+    <property name="state" column="STATE_" />
+
+    <property name="priority" column="PRIORITY_" />
+    <property name="historyActivityInstanceDbid" column="HISACTINST_" />
+
+    <many-to-one name="processDefinition"
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCESS_"
+                 foreign-key="FK_EXEC_PROCESS" 
+                 index="IDX_EXEC_PROCESS" />
+
+    <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
+
+    <many-to-one name="transitionOrigin" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="TRANSORIG_"
+                 foreign-key="FK_EXEC_TRANSORIG"
+                 index="IDX_EXEC_TRANSORIG" />
+
+    <list name="executions" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="ExecutionImpl" />
+    </list>
+
+    <many-to-one name="parent"
+                 column="PARENT_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_PARENT"
+                 index="IDX_EXEC_PARENT" />
+
+    <many-to-one name="processInstance"
+                 class="ExecutionImpl" 
+                 column="INSTANCE_"
+                 foreign-key="FK_EXEC_INSTANCE"
+                 index="IDX_EXEC_INSTANCE" />
+
+    <many-to-one name="superProcessExecution"
+                 column="SUPEREXEC_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_SUPEREXEC"
+                 index="IDX_EXEC_SUPEREXEC" />
+  </class>
+
+  <!-- ### COMMENTS ####################################################### -->
+  <class name="CommentImpl" table="JBPM_COMMENT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="userId" column="USERID_" />
+    <property name="time" column="TIME_" />
+    <property name="message" column="MESSAGE_" />
+
+    <list name="comments" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="none" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="CommentImpl" />
+    </list>
+  </class>
+  
+  <!-- ### VARIABLE ####################################################### -->
+  <class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
+    <!-- discriminator values:
+    date   : org.jbpm.pvm.internal.type.variable.DateVariable
+    double : org.jbpm.pvm.internal.type.variable.DoubleVariable
+    hibl   : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
+    long   : org.jbpm.pvm.internal.type.variable.LongVariable
+    hibs   : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
+    string : org.jbpm.pvm.internal.type.variable.StringVariable
+    null   : org.jbpm.pvm.internal.type.variable.NullVariable
+    blob   : org.jbpm.pvm.internal.type.variable.BlobVariable
+    clob   : org.jbpm.pvm.internal.type.variable.ClobVariable
+    -->
+  
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="key" column="KEY_"/>
+    <property name="queryText" column="QUERYTEXT_" />
+    <property name="converter" type="converter" column="CONVERTER_" />
+    <many-to-one name="processInstance"
+                 column="PROCINST_" 
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"
+                 foreign-key="FK_VAR_PROCINST"
+                 index="IDX_VAR_PROCINST"/>
+  </class>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
+    <property name="date" column="DATE_VALUE_" type="timestamp"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
+    <property name="d" column="DOUBLE_VALUE_" type="double"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
+    <property name="hibernatable" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
+    <property name="l" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
+    <property name="hibernatable" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
+    <property name="string" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="FK_VAR_LOB"
+                 index="IDX_VAR_LOB" />
+  </subclass>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="none"/>
+  </subclass>
+  
+  <!-- ### LOB ############################################################ -->
+  <class name="org.jbpm.pvm.internal.lob.Lob" table="JBPM_LOB">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    <property name="blob" type="blob" column="BLOB_VALUE_" />
+    <property name="bytes" type="binary" column="BINARY_VALUE_"/>
+    <property name="clob" type="clob" column="CLOB_VALUE_" />
+    <property name="text" type="text" column="TEXT_VALUE_"/>
+  </class>
+  
+    <class name="org.jbpm.pvm.internal.job.JobImpl" table="JBPM_JOB" discriminator-value="Job">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="dueDate" column="DUEDATE_" type="timestamp" index="IDX_JOBDUEDATE"  />
+    <property name="isSuspended" column="ISSUSPENDED_" />
+    <property name="isExclusive" column="ISEXCLUSIVE_" />
+    <property name="lockOwner" column="LOCKOWNER_" />
+    <property name="lockExpirationTime" column="LOCKEXPTIME_" index="IDX_JOBLOCKEXP" />
+    <property name="info" column="INFO_" />
+    <property name="exception" column="EXCEPTION_" type="text" />
+    <property name="retries" column="RETRIES_" index="IDX_JOBRETRIES" />
+    
+    <many-to-one name="processInstance"   
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="PROCESSINSTANCE_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_PRINST"
+                 index="IDX_JOB_PRINST"/>
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="EXECUTION_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_EXE"
+                 index="IDX_JOB_EXE"/>
+    <many-to-one name="commandDescriptor"
+                 column="CMDDESCR_"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" 
+                 cascade="all"
+                 foreign-key="FK_JOB_CMDDESCR"
+                 index="IDX_JOB_CMDDESCR"/>
+
+    <subclass name="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="Msg">
+      <subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeActivityMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
+        <property name="signalName" column="SIGNAL_" />
+        <many-to-one name="activity"   
+                     column="NODE_" 
+                     cascade="none"
+                     foreign-key="FK_JOB_NODE"/>
+      </subclass>
+      <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
+      <subclass name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
+    </subclass>
+    
+    <subclass name="org.jbpm.pvm.internal.job.TimerImpl" discriminator-value="Timer">
+      <property name="signalName" column="SIGNAL_" />
+      <property name="eventName" column="EVENT_" />
+      <property name="repeat" column="REPEAT_" />
+    </subclass>
+     
+  </class>
+
+  <!-- ### HibernatePvmDbSession QUERIES ################################## -->
+
+  <query name="findTimers">
+    <![CDATA[
+     select t
+     from org.jbpm.pvm.internal.job.TimerImpl as t
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <query name="findMessages">
+    <![CDATA[
+     select m
+     from org.jbpm.pvm.internal.job.MessageImpl as m
+    ]]>
+  </query>
+
+  <query name="findJobsWithException">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.retries = 0 
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <!-- ### HibernateJobDbSession QUERIES ################################## -->
+  <query name="findFirstAcquirableJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where ( ( (job.lockExpirationTime is null)
+               or (job.lockExpirationTime <= :now) 
+             )
+             and 
+             ( (job.dueDate is null)
+               or (job.dueDate <= :now) 
+             ) 
+             and 
+             ( job.retries > 0 ) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+
+  <query name="findExclusiveJobs">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.processInstance = :processInstance 
+       and job.isExclusive = true 
+       and job.retries > 0 
+       and ( (job.dueDate is null)
+             or (job.dueDate <= :now) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <query name="findFirstDueJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.retries > 0 
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <!-- ### HibernatePvmDbSession QUERIES ############################################# -->
+  <query name="findExecutionById">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.id = :id
+    ]]>
+  </query>
+
+  <query name="findProcessInstanceById">
+    <![CDATA[
+     select processInstance
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.id = :processInstanceId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+  <query name="findExecutionByKey">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.key = :executionKey
+       and execution.processDefinition.name = :processDefinitionName
+    ]]>
+  </query>
+  
+  <query name="findProcessInstanceIds">
+    <![CDATA[
+     select processInstance.id
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.processDefinition.id = :processDefinitionId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.execution.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.hibernate.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+      <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
+      <property name="hibernate.connection.username">sa</property>
+      <property name="hibernate.connection.password"></property>
+      <property name="hibernate.hbm2ddl.auto">create-drop</property>
+      <property name="hibernate.format_sql">true</property>
+      <property name="hibernate.cache.use_second_level_cache">true</property>
+      <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+      <mapping resource="jbpm.definition.hbm.xml" />
+      <mapping resource="jbpm.execution.hbm.xml" />
+      <mapping resource="jbpm.history.hbm.xml" />
+      <mapping resource="jbpm.task.hbm.xml" />
+      <mapping resource="jbpm.identity.hbm.xml" />
+  </session-factory>
+</hibernate-configuration>


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.hibernate.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,73 @@
+<?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.history.model" default-access="field">
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryProcessInstanceImpl" table="JBPM_HIST_PROCINST">
+    <id name="processInstanceId" column="ID_">
+      <generator class="assigned" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="processDefinitionId" column="PROCDEFID_" />
+    <property name="key" column="KEY_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="state" column="STATE_" />
+    <property name="endActivityName" column="ENDACTIVITY_" />
+
+    <many-to-one name="processDefinition" 
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCDEF_"
+                 foreign-key="FK_HISTPI_PROCDEF"
+                 index="IDX_HISTPI_PROCDEF" />
+                 
+    <set name="historyActivityInstances"
+         cascade="all">
+      <key>
+         <column name="HPI_" />
+      </key>
+      <one-to-many class="HistoryActivityInstanceImpl" />
+    </set>
+                 
+  </class>
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryActivityInstanceImpl" table="JBPM_HIST_ACTINST" discriminator-value="ACT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <many-to-one name="historyProcessInstance" 
+                 class="HistoryProcessInstanceImpl" 
+                 column="HPI_"
+                 foreign-key="FK_HAI_HPI"
+                 index="IDX_HAI_HPI" />
+
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACTIVITY_"
+                 foreign-key="FK_HISTAI_ACT"
+                 index="IDX_HISTAI_ACT" />
+
+    <property name="executionId" column="EXECUTION_" />
+    <property name="activityName" column="ACTIVITY_NAME_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="transitionName" column="TRANSITION_" />
+
+    <subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
+      <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+    </subclass>
+    
+    <subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
+      <property name="assignee" column="ASSIGNEE_" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.history.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,312 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
-                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
-  <realms>
-    <realm>
-      <id>realm://jbpm-identity</id>
-      <repository-id-ref>jBPM Identity DB</repository-id-ref>
-      <identity-type-mappings>
-        <identity-mapping>IDENTITY</identity-mapping>
-      </identity-type-mappings>
-    </realm>
-  </realms>
-
-  <repositories>
-    <repository>
-      <id>jBPM Identity DB</id>
-      <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
-      <external-config/>
-      <default-identity-store-id>Hibernate Identity Store</default-identity-store-id>
-      <default-attribute-store-id>Hibernate Identity Store</default-attribute-store-id>
-      <options>
-        <option>
-          <name>allowNotDefinedAttributes</name>
-          <value>true</value>
-        </option>
-      </options>
-    </repository>
-  </repositories>
-
-  <stores>
-    <attribute-stores/>
-    <identity-stores>
-      <identity-store>
-        <id>Hibernate Identity Store</id>
-        <class>org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl</class>
-        <external-config/>
-        <supported-relationship-types>
-          <relationship-type>JBOSS_IDENTITY_MEMBERSHIP</relationship-type>
-          <relationship-type>JBOSS_IDENTITY_ROLE</relationship-type>
-        </supported-relationship-types>
-        <supported-identity-object-types>
-          <identity-object-type>
-            <name>IDENTITY</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
-                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
-                <identity-object-type-ref>OFFICE</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
-                <identity-object-type-ref>SECURITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
-                <identity-object-type-ref>PROJECT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
-                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials>
-              <credential-type>PASSWORD</credential-type>
-            </credentials>
-            <attributes>
-              <attribute>
-                <name>picture</name>
-                <mapping>user.picture</mapping>
-                <type>binary</type>
-                <isRequired>false</isRequired>
-                <isMultivalued>false</isMultivalued>
-                <isReadOnly>false</isReadOnly>
-              </attribute>
-            </attributes>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>ORGANIZATION</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>DIVISION</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>ORGANIZATION_UNIT</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>DIVISION</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>OFFICE</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>PROJECT</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>DIVISION</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>DEPARTMENT</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>PROJECT</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>PEOPLE</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>ADMINISTRATION</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>COMMUNITY</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>OFFICE</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>SECURITY</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-          <identity-object-type>
-            <name>SYSTEM</name>
-            <relationships>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>SECURITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
-              </relationship>
-              <relationship>
-                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
-                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
-              </relationship>
-            </relationships>
-            <credentials/>
-            <attributes/>
-            <options/>
-          </identity-object-type>
-        </supported-identity-object-types>
-        <options>
-          <option>
-            <name>persistenceUnit</name>
-            <value>jboss-identity-model1</value>
-          </option>
-          <option>
-            <name>populateRelationshipTypes</name>
-            <value>true</value>
-          </option>
-          <option>
-            <name>populateIdentityObjectTypes</name>
-            <value>true</value>
-          </option>
-          <option>
-            <name>allowNotDefinedAttributes</name>
-            <value>true</value>
-          </option>
-          <option>
-            <name>isRealmAware</name>
-            <value>true</value>
-          </option>
-          <option>
-            <name>allowNotDefinedAttributes</name>
-            <value>true</value>
-          </option>
-        </options>
-      </identity-store>
-    </identity-stores>
-  </stores>
-</jboss-identity>
\ No newline at end of file

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,57 @@
+<?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.identity.impl" default-access="field">
+
+  <!-- ### USER ########################################################### -->
+  <class name="UserImpl" table="JBPM_ID_USER">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="givenName" column="GIVENNAME_" />
+    <property name="familyName" column="FAMILYNAME_" />
+  </class>
+  
+  <!-- ### MEMBERSHIP ##################################################### -->
+  <class name="MembershipImpl" table="JBPM_ID_MEMBERSHIP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="user"
+                 column="USER_" 
+                 class="UserImpl"
+                 foreign-key="FK_MEM_USER"
+                 index="IDX_MEM_USER"/>
+
+    <many-to-one name="group"
+                 column="GROUP_" 
+                 class="GroupImpl"
+                 foreign-key="FK_MEM_GROUP"
+                 index="IDX_MEM_GROUP"/>
+
+    <property name="role" column="NAME_" />
+  </class>
+  
+  <!-- ### GROUP ########################################################### -->
+  <class name="GroupImpl" table="JBPM_ID_GROUP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="type" column="TYPE_" />
+
+    <many-to-one name="parent"
+                 column="PARENT_" 
+                 class="GroupImpl"
+                 foreign-key="FK_GROUP_PARENT"
+                 index="IDX_GROUP_PARENT"/>
+  </class>
+  
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.identity.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+<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" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ForkBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JoinBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.HqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.SqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ScriptBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EsbBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.TaskBinding" />
+</activities>


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.jpdl.activities.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,174 @@
+<?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 auto-import="false" package="org.jbpm.pvm.internal.task" default-access="field">
+
+  <!-- ### TASK DEFINITION ################################################ -->
+  <class name="TaskDefinitionImpl" discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+
+    <property name="priority" column="PRIORITY_"/>
+    <property name="dueDateDuration" column="DUEDATE_"/>
+    <property name="isBlocking" column="BLOCK_"/>
+    <property name="isSignalling" column="SIGNAL_"/>
+    <property name="assigneeExpression" column="ASSIGNEE_EXPR_"/>
+    <property name="candidatesExpression" column="CANDIDATES_EXPR_"/>
+
+    <many-to-one name="assignerDescriptor"
+                 column="ASSIGNER_DESCR_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                 foreign-key="FK_TSK_ASIG_DESCR"
+                 index="IDX_TSK_ASIG_DESCR" />
+
+    <many-to-one name="swimlaneDefinition"
+                 column="SWIMLANE_DEF_" 
+                 cascade="all"
+                 class="SwimlaneDefinitionImpl"
+                 foreign-key="FK_TSK_SWIML_DEF"
+                 index="IDX_TSK_SWIML_DEF" />
+
+		<list name="subTaskDefinitions" cascade="all-delete-orphan">
+			<key column="TASKDEF_" />
+			<list-index column="TASKDEF_IDX_" />
+			<one-to-many class="TaskDefinitionImpl" />
+		</list>
+  </class>
+  
+  <!-- ### TASK ########################################################### -->
+  <class name="TaskImpl" 
+         discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="id" column="ID_" unique="true" />
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+    
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="TASK_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+    <property name="priority" column="PRIORITY_"/>
+    <property name="create" column="CREATE_"/>
+    <property name="dueDate" column="DUEDATE_"/>
+    <property name="progress" column="PROGRESS_"/>
+    
+    <!-- 
+    <many-to-one name="variableMap"
+                 class="org.jbpm.pvm.impl.VariableMap" 
+                 column="VARMAP_" 
+                 foreign-key="FK_TASK_VARMAP"
+                 cascade="all" />
+    -->
+
+    <many-to-one name="superTask"
+                 class="TaskImpl" 
+                 column="SUPERTASK_" 
+                 foreign-key="FK_TASK_SUPERTASK" 
+                 index="IDX_TASK_SUPERTASK" />
+
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="EXECUTION_" 
+                 foreign-key="FK_TASK_EXEC" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_TASK_SWIML" />
+
+		<list name="comments" cascade="all-delete-orphan">
+			<key column="TASK_" />
+			<list-index column="TASK_IDX_" />
+			<one-to-many class="org.jbpm.pvm.internal.model.CommentImpl" />
+		</list>
+
+    <set name="subTasks" cascade="all-delete-orphan">
+      <key column="SUPERTASK_" />
+      <one-to-many class="TaskImpl" />
+    </set>
+    
+  </class>
+  
+  <!-- ### PARTICIPANT #################################################### -->
+  <class name="ParticipantImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="identityType" column="IDENTITYTYPE_"/>
+    <property name="identityId" column="IDENTITYID_"/>
+    <property name="participation" column="PARTICIPATION_" />
+
+    <many-to-one name="task"
+                 class="TaskImpl" 
+                 column="TASK_" 
+                 index="IDX_PART_TASK"
+                 foreign-key="FK_PART_TASK" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_PART_SWIMLANE" />
+
+  </class>
+  
+  <!-- ### SWIMLANE DEFINITION ############################################ -->
+  <class name="SwimlaneDefinitionImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+  </class>
+
+
+  <!-- ### SWIMLANE ####################################################### -->
+  <class name="SwimlaneImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+
+    <many-to-one name="swimlaneDefinition"
+                 class="SwimlaneDefinitionImpl" 
+                 column="SWIMLANEDEF_" 
+                 foreign-key="FK_SWIMLANE_DEF" />
+
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="SWIMLANE_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+  </class>
+  
+  
+  <!-- ### QUERIES ######################################################## -->
+
+  <query name="findTasks">
+    <![CDATA[
+     select task
+     from org.jbpm.pvm.internal.task.TaskImpl as task
+    ]]>
+  </query>
+
+</hibernate-mapping>


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.lifecycle.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.lifecycle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.lifecycle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,13 @@
+<task-lifecycle initial="open">
+  <state name="open">
+    <transition name="complete" to="completed" />
+    <transition name="suspend" to="suspended" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="suspended">
+    <transition name="resume" to="open" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="cancelled" />
+  <state name="completed" />
+</task-lifecycle>


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.task.lifecycle.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.variable.types.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.variable.types.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.variable.types.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,34 @@
+<types>
+
+  <!-- types stored in a native column -->
+  <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="long"   class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- types converted to a string -->
+  <type name="date"    class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="char"    class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+
+  <!-- types converted to a long -->
+  <type name="byte"    class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="short"   class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+
+  <!-- types converted to a double -->
+  <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- byte[] and char[] -->
+  <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+  <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
+
+  <type name="hibernate-long-id"   class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
+  <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
+
+  <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+
+  <!-- TODO: add ejb3 entity bean support -->
+  <!-- TODO: add JCR activity support -->
+  <!-- TODO: add collection support -->
+  
+</types>


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.variable.types.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/jbpm.wire.bindings.xml	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/test/resources/jbpm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,91 @@
+<wire-bindings>
+
+  <!-- ########################### -->
+  <!-- ### Descriptor bindings ### -->
+  <!-- ########################### -->
+  <!-- basic types -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
+  <!-- object and ref --> 
+  <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
+  <!-- collections -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
+  <!-- environment refs -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
+  <!-- various specials -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthenticationBinding" />
+  <!-- hibernate bindings -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
+  <!-- sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistorySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionFactoryBinding" />
+  <!-- db sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskDbSessionBinding" />
+  
+  <!-- dynamic type mapping configuration  -->    
+  <binding class="org.jbpm.pvm.internal.wire.binding.TypesBinding" />
+  <!-- services  -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.CommandServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentityServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistoryServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskServiceBinding" />
+  
+  <!-- deployers -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AssignFileTypesBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProcessBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SaveBinding" />
+
+  <!-- interceptors -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StandardTransactionInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SerializeInterceptorBinding" />
+
+  <!-- operation -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
+
+
+</wire-bindings>


Property changes on: jbpm4/trunk/modules/pvm/src/test/resources/jbpm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm4/trunk/modules/pvm/src/test/resources/logging.properties
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/logging.properties	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/resources/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,19 +1,9 @@
 handlers= java.util.logging.ConsoleHandler
-# to add the error triggered file handler
-# handlers= java.util.logging.ConsoleHandler org.jbpm.util.ErrorTriggeredFileHandler
-
 redirect.commons.logging = enabled
 
 java.util.logging.ConsoleHandler.level = FINE
 java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
 
-# org.jbpm.util.ErrorTriggeredFileHandler.size = 500
-# org.jbpm.util.ErrorTriggeredFileHandler.push = OFF
-# org.jbpm.util.ErrorTriggeredFileHandler.pattern = %h/jbpm%u.log
-
-# For example, set the com.xyz.foo logger to only log SEVERE messages:
-# com.xyz.foo.level = SEVERE
-
 org.jbpm.level=FINE
 # org.jbpm.pvm.internal.tx.level=FINE
 # org.jbpm.pvm.internal.wire.level=FINE
@@ -21,8 +11,8 @@
 
 org.hibernate.level=INFO
 org.hibernate.cfg.SettingsFactory.level=SEVERE
-# org.hibernate.level=FINE
+org.hibernate.cfg.HbmBinder.level=SEVERE
 # org.hibernate.SQL.level=FINEST
 # org.hibernate.type.level=FINEST
 # org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
-# org.hibernate.transaction.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/variables/custom.types.jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/variables/custom.types.jbpm.cfg.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/variables/custom.types.jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -3,21 +3,17 @@
   <process-engine-context>
   
     <hibernate-configuration>
-      <properties resource="hibernate.properties" />
-      <mapping resource="jbpm.pvm.typedefs.hbm.xml" />
-      <mapping resource="jbpm.pvm.wire.hbm.xml" />
-      <mapping resource="jbpm.pvm.definition.hbm.xml" />
-      <mapping resource="jbpm.pvm.execution.hbm.xml" />
-      <mapping resource="jbpm.pvm.variable.hbm.xml" />
-      <mapping resource="jbpm.pvm.job.hbm.xml" />
-      <cache-configuration resource="jbpm.pvm.cache.xml" 
+      <cfg resource="jbpm.hibernate.cfg.xml" />     
+      <cache-configuration resource="jbpm.cache.xml" 
                            usage="nonstrict-read-write" />
     </hibernate-configuration>
     
     <hibernate-session-factory />
+    
     <types>
       <type name="date" class="java.util.Date" variable-class="org.jbpm.pvm.internal.type.variable.DateVariable" />
     </types>
+
   </process-engine-context>
 
   <transaction-context>

Modified: jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java
===================================================================
--- jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -171,13 +171,15 @@
     return null;
   }
 
-  public void saveAndRegisterTask(Task task) {
-    taskService.saveTask(task);
+  public long saveAndRegisterTask(Task task) {
+    long taskDbid = taskService.saveTask(task);
     
     if (registeredTaskIds == null) {
       registeredTaskIds = new ArrayList<Long>();
     }
-    registeredTaskIds.add(task.getDbid());
+    registeredTaskIds.add(taskDbid);
+    
+    return taskDbid;
   }
 
   public HashSet<String> getActivityNames(String processInstanceId) {

Modified: jbpm4/trunk/modules/test-db/.classpath
===================================================================
--- jbpm4/trunk/modules/test-db/.classpath	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/test-db/.classpath	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
-  <classpathentry kind="src" output="target/classes" path="src/main/resources"/>
+  <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+  <classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>

Modified: jbpm4/trunk/modules/test-db/pom.xml
===================================================================
--- jbpm4/trunk/modules/test-db/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/test-db/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -30,82 +30,101 @@
 
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-jpdl</artifactId>
-      <version>${version}</version>
-      <scope>test</scope>
+      <artifactId>jbpm-api</artifactId>
     </dependency>
 
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
-      <artifactId>jbpm-test-base</artifactId>
-      <version>${version}</version>
+      <artifactId>jbpm-jpdl</artifactId>
+      <scope>runtime</scope>
     </dependency>
 
   </dependencies>
 
-  <!-- Plugins -->
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <!-- this tells surefire that the test classes are 
-          to be found in the src directory src/main/java.
-          The test classes are in the source directory to make 
-          a distinction between the compile time classpath and the 
-          runtime test classpath.  The compile time classpath only should 
-          have the api module in its dependencies. -->
-          <testSourceDirectory>src/main/java</testSourceDirectory>
-          <classesDirectory>target/classes</classesDirectory>
-          <testClassesDirectory>target/classes</testClassesDirectory>
-        </configuration>
-      </plugin>
+  <profiles>
+    <!-- -Ddatabase= -->
+    <profile>
+      <id>use.database.directly</id>
+      <activation>
+        <property>
+          <name>database</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo>Overwriting db configuration for ${database}</echo>
+                    <ant antfile="../distro/src/main/resources/config-tool/build.xml" target="create.configuration.files" inheritall="false">
+                      <property name="config.files.dir" value="${basedir}/target/test-classes" />
+                      <property name="tmp.dir" value="${basedir}/target/config-tmp" />
+                      <property name="database" value="${database}" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
 
-      <plugin>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>unpack.jbpm.db</id>
-            <phase>generate-test-resources</phase>
-            <goals>
-              <goal>unpack</goal>
-            </goals>
-            <configuration>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>org.jbpm.jbpm4</groupId>
-                  <artifactId>jbpm-jpdl</artifactId>
-                  <classifier>config</classifier>
-                  <overWrite>true</overWrite>
-                </artifactItem>
-              </artifactItems>
-              <excludeTransitive>true</excludeTransitive>
-              <outputDirectory>target/jpdl-config</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
+    <!-- -Djboss.bind.address= --> 
+    <profile>
+      <id>use.jboss.directly</id>
+      <activation>
+        <property>
+          <name>jboss.bind.address</name>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.jbpm.jbpm4</groupId>
+          <artifactId>jbpm-enterprise</artifactId>    
+          <scope>runtime</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.client</groupId>
+          <artifactId>jbossall-client</artifactId>
+          <scope>runtime</scope>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <echo>Overwriting db configuration for ${database}</echo>
+                    <ant antfile="../distro/src/main/resources/config-tool/build.xml" 
+                         target="create.remote.configuration" 
+                         inheritall="false">
+                      <property name="jboss.bind.address" value="${jboss.bind.address}" />
+                      <property name="config.files.dir" value="${basedir}/target/test-classes" />
+                      <property name="tmp.dir" value="${basedir}/target/config-tmp" />
+                    </ant>
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>install.hibernate.database.properties</id>
-            <phase>generate-test-resources</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>                 
-            <configuration>
-              <tasks>
-               <copy file="target/jpdl-config/hibernate.cfg.${database}.xml"
-                      tofile="target/classes/testDb-hibernate.cfg.xml"
-                      overwrite="true" />         
-              </tasks>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
 </project>
\ No newline at end of file

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.activities;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ExclusiveTest extends JbpmTestCase {
+
+  public void testExclusiveExpression() {
+    deployJpdlXmlString(
+      "<process name='Poolcar'>" +
+      "  <start>" +
+      "    <transition to='How far?' />" +
+      "  </start>" +
+      "  <exclusive name='How far?' expr='#{distance}'>" +
+      "    <transition name='far'    to='Big car' />" +
+      "    <transition name='nearby' to='Small car' />" +
+      "  </exclusive>" +
+      "  <state name='Big car' />" +
+      "  <state name='Small car' />" +
+      "</process>"
+    );
+
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("distance", "far");
+    Execution execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+    assertEquals("Big car", execution.getActivityName());
+
+    variables.put("distance", "nearby");
+    execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+    assertEquals("Small car", execution.getActivityName());
+  }
+
+  public void testExclusiveWithConditions() {
+    deployJpdlXmlString(
+      "<process name='Poolcar'>" +
+      "  <start>" +
+      "    <transition to='How far?' />" +
+      "  </start>" +
+      "  <exclusive name='How far?'>" +
+      "    <transition to='Big car'>" +
+      "      <condition expr='#{distance &gt; 10}' />" +
+      "    </transition>" +
+      "    <transition to='Small car'>" +
+      "      <condition expr='#{distance &gt;= 3}' />" +
+      "    </transition>" +
+      "    <transition to='No car' />" +
+      "  </exclusive>" +
+      "  <state name='Big car' />" +
+      "  <state name='Small car' />" +
+      "  <state name='No car' />" +
+      "</process>"
+    );
+
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("distance", new Integer(69));
+    Execution execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+    assertEquals("Big car", execution.getActivityName());
+
+    variables.put("distance", new Integer(6));
+    execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+    assertEquals("Small car", execution.getActivityName());
+
+    variables.put("distance", new Integer(2));
+    execution = executionService.startProcessInstanceByKey("Poolcar", variables);
+    assertEquals("No car", execution.getActivityName());
+  }
+
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ExclusiveTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/StateTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/StateTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/StateTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.activities;
+
+import org.jbpm.Execution;
+import org.jbpm.JbpmException;
+import org.jbpm.test.JbpmTestCase;
+
+/**
+ * @author Tom Baeyens
+ */
+public class StateTest extends JbpmTestCase {
+
+  public void testWaitStatesSequence() {
+    deployJpdlXmlString(
+      "<process name='ThreeStates'>" +
+      "  <start name='a'>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b'>" +
+      "    <transition to='c' />" +
+      "  </state>" +
+      "  <state name='c'>" +
+      "    <transition to='d' />" +
+      "  </state>" +
+      "  <end name='d' />" +
+      "</process>"
+    );
+    
+    Execution execution = executionService.startProcessInstanceById("ThreeStates:1");
+    assertEquals("b", execution.getActivityName());
+
+    String executionId = execution.getId();
+    execution = executionService.signalExecutionById(executionId);
+    assertEquals("c", execution.getActivityName());
+
+    execution = executionService.signalExecutionById(executionId);
+    assertEquals("d", execution.getActivityName());
+    assertTrue(execution.isEnded());
+  }
+
+  public void testExternalDecision() {
+    deployJpdlXmlString(
+      "<process name='p'>" +
+      "  <start>" +
+      "    <transition to='ed' />" +
+      "  </start>" +
+      "  <state name='ed'>" +
+      "    <transition name='left'   to='b' />" +
+      "    <transition name='middle' to='c' />" +
+      "    <transition name='right'  to='d' />" +
+      "  </state>" +
+      "  <state name='b' />" +
+      "  <state name='c' />" +
+      "  <state name='d' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("p", "one");
+    assertEquals("ed", execution.getActivityName());
+    execution = executionService.signalExecutionById("p/one", "left");
+    assertEquals("b", execution.getActivityName());
+
+    executionService.startProcessInstanceById("p:1", "two");
+    execution = executionService.signalExecutionById("p/two", "middle");
+    assertEquals("c", execution.getActivityName());
+
+    executionService.startProcessInstanceById("p:1", "three");
+    execution = executionService.signalExecutionById("p/three", "right");
+    assertEquals("d", execution.getActivityName());
+  }
+
+  public void testDefaultSignalWithNamedTransitions() {
+    deployJpdlXmlString(
+      "<process name='p'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a'>" +
+      "    <transition name='left'   to='b' />" +
+      "    <transition name='middle' to='c' />" +
+      "    <transition name='right'  to='d' />" +
+      "  </state>" +
+      "  <state name='b' />" +
+      "  <state name='c' />" +
+      "  <state name='d' />" +
+      "</process>"
+    );
+
+    executionService.startProcessInstanceByKey("p", "one");
+    try {
+      executionService.signalExecutionById("p/one", "left");
+    } catch (JbpmException e) {
+      assertTextPresent("no matching transition or event for default signal in state(a)", e.getMessage());
+    }
+  }
+
+  public void testNamedSignalWithoutMatchingTransition() {
+    deployJpdlXmlString(
+      "<process name='p'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a'>" +
+      "    <transition name='left'   to='b' />" +
+      "    <transition name='middle' to='c' />" +
+      "    <transition name='right'  to='d' />" +
+      "  </state>" +
+      "  <state name='b' />" +
+      "  <state name='c' />" +
+      "  <state name='d' />" +
+      "</process>"
+    );
+
+    executionService.startProcessInstanceByKey("p", "one");
+    Execution execution = executionService.signalExecutionById("p/one", "up");
+    assertEquals("a", execution.getActivityName());
+  }
+
+  public void testDefaultSignalWithoutTransitions() {
+    deployJpdlXmlString(
+      "<process name='p'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    executionService.startProcessInstanceByKey("p", "one");
+    Execution execution = executionService.signalExecutionById("p/one");
+    assertEquals("a", execution.getActivityName());
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/StateTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/cfg/ConfigurationTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/cfg/ConfigurationTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/cfg/ConfigurationTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.cfg;
+
+import org.jbpm.Configuration;
+import org.jbpm.ProcessEngine;
+import org.jbpm.test.BaseJbpmTestCase;
+
+/**
+ * @author Tom Baeyens
+ */
+public class ConfigurationTest extends BaseJbpmTestCase {
+
+  public void testDefaultConfiguration() {
+    ProcessEngine processEngine = new Configuration()
+        .buildProcessEngine();
+    assertNotNull(processEngine);
+  }
+
+  public void testMinimalConfiguration() {
+    ProcessEngine processEngine = new Configuration()
+        .setXmlString("<jbpm-configuration />")
+        .buildProcessEngine();
+    assertNotNull(processEngine);
+  }
+
+  public void testConfigurationServices() {
+    ProcessEngine processEngine = new Configuration()
+        .setXmlString(
+            "<jbpm-configuration>" +
+            "  <process-engine-context>" +
+            "    <process-service />" +
+            "    <execution-service />" +
+            "    <management-service />" +
+            "  </process-engine-context>" +
+            "</jbpm-configuration>"
+        )
+        .buildProcessEngine();
+    assertNotNull(processEngine);
+    assertNotNull(processEngine.getProcessService());
+    assertNotNull(processEngine.getExecutionService());
+    assertNotNull(processEngine.getManagementService());
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/cfg/ConfigurationTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/FindExecutionTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/FindExecutionTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/FindExecutionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.execution;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+/**
+ * @author Tom Baeyens
+ */
+public class FindExecutionTest extends JbpmTestCase {
+
+  public void testFindExecutionById() {
+    deployJpdlXmlString(
+      "<process name='p'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("p");
+
+    // take the id and see if the execution service can still find it back
+    execution = executionService.findExecution(execution.getId());
+    assertNotNull(execution);
+    assertEquals("a", execution.getActivityName());
+  }
+
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/FindExecutionTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/SignalExecutionTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/SignalExecutionTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/SignalExecutionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,254 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.execution;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class SignalExecutionTest extends JbpmTestCase {
+  
+  public void testSignalExecutionByKey() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a'>" +
+      "    <transition to='b' />" +
+      "  </state>" +
+      "  <state name='b'>" +
+      "    <transition to='c' />" +
+      "  </state>" +
+      "  <state name='c' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL", "82436");
+    
+    assertEquals("a", execution.getActivityName());
+    
+    execution = executionService.signalExecutionByKey("ICL", "82436");
+
+    assertEquals("b", execution.getActivityName());
+
+    execution = executionService.signalExecutionByKey("ICL", "82436");
+
+    assertEquals("c", execution.getActivityName());
+  }
+
+  public void testSignalExecutionById() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a'>" +
+      "    <transition to='b' />" +
+      "  </state>" +
+      "  <state name='b'>" +
+      "    <transition to='c' />" +
+      "  </state>" +
+      "  <state name='c' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL", "82436");
+    
+    assertEquals("a", execution.getActivityName());
+    
+    execution = executionService.signalExecutionById("ICL/82436");
+
+    assertEquals("b", execution.getActivityName());
+
+    execution = executionService.signalExecutionById("ICL/82436");
+
+    assertEquals("c", execution.getActivityName());
+  }
+
+  public void testSignalExecutionWithVariables() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a'>" +
+      "    <transition to='b' />" +
+      "  </state>" +
+      "  <state name='b' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL", "82436");
+
+    Map<String,Object> variables = new HashMap<String,Object>();
+    variables.put("customer", "John Doe");
+    variables.put("type", "Accident");
+    variables.put("amount", new Float(763.74));
+
+    execution = executionService.signalExecutionById("ICL/82436", variables);
+
+    assertNotNull(execution);
+    String executionId = execution.getId();
+    assertEquals("b", execution.getActivityName());
+    
+    Map<String,Object> expectedVariables = new HashMap<String, Object>(variables); 
+    Set<String> expectedVariableNames = new HashSet<String>(expectedVariables.keySet());
+    Set<String> variableNames = new HashSet<String>(executionService.getVariableNames(executionId));
+    assertEquals(expectedVariableNames, variableNames);
+    
+    variables = executionService.getVariables(executionId, variableNames);
+    assertEquals(expectedVariables, variables);
+  }
+
+  
+  public void testDefaultSignalWithoutTransitions() {
+    deployJpdlXmlString(
+      "<process name='p'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("p");
+    execution = executionService.signalExecutionById(execution.getId());
+    assertEquals("a", execution.getActivityName());
+  }
+
+  /*
+
+  public void testSetVariable()
+  {
+    Execution execution = startExecution();
+
+    String executionId = execution.getId();
+    // set variable a to value text
+    executionService.setVariable(executionId, "a", "text");
+    // check if we can read that value back
+    assertEquals("text", executionService.getVariable(executionId, "a"));
+
+    // overwrite the value of variable a with another text
+    executionService.setVariable(executionId, "a", "another text");
+    // see if we can read another text back from the variable
+    assertEquals("another text", executionService.getVariable(executionId, "a"));
+  }
+
+  public void testSetVariables()
+  {
+    Execution execution = startExecution();
+
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("a", new Integer(1));
+    variables.put("b", "text");
+
+    // set variables in bulk by providing a map
+    executionService.setVariables(execution.getId(), variables);
+
+    Map<String, Object> expected = new HashMap<String, Object>(variables);
+
+    Set<String> variableNames = new HashSet<String>();
+    variableNames.add("a");
+    variableNames.add("b");
+
+    // read the variables back and compare
+    assertEquals(expected, executionService.getVariables(execution.getId(), variableNames));
+
+    // now set variables b and c with a map
+    variables = new HashMap<String, Object>();
+    variables.put("b", new Integer(99));
+    variables.put("c", "another text");
+
+    // this should leave a untouched, overwrite b and create c
+    executionService.setVariables(execution.getId(), variables);
+
+    // update the expected map
+    expected.put("b", new Integer(99));
+    expected.put("c", "another text");
+
+    // add c to the variable names that should be collected
+    variableNames.add("c");
+
+    // read the variables back and compare
+    assertEquals(expected, executionService.getVariables(execution.getId(), variableNames));
+  }
+
+  // helper methods ///////////////////////////////////////////////////////////
+
+  /**
+   * deploys 3 versions of process with name 'nuclear fusion', 2 versions of the processes 'ultimate seduction' and
+   * 'publish book'
+  void deployMultipleVersionsOfProcesses()
+  {
+    ProcessService processService = getEnvironmentFactory().get(ProcessService.class);
+
+    ProcessDefinition processDefinition = ProcessFactory.build("nuclear fusion").key("NFU").activity("initial").initial().behaviour(
+        WaitState.class).done();
+    DeploymentImpl deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+
+    processDefinition = ProcessFactory.build("ultimate seduction").key("USD").activity("initial").initial().behaviour(WaitState.class).done();
+    deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+
+    processDefinition = ProcessFactory.build("ultimate seduction").key("USD").activity("initial").initial().behaviour(WaitState.class).done();
+    deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+
+    processDefinition = ProcessFactory.build("nuclear fusion").key("NFU").activity("initial").initial().behaviour(WaitState.class).done();
+    deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+
+    processDefinition = ProcessFactory.build("publish book").key("PBO").activity("initial").initial().behaviour(WaitState.class).done();
+    deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+
+    processDefinition = ProcessFactory.build("nuclear fusion").key("NFU").activity("initial").initial().behaviour(WaitState.class).done();
+    deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+  }
+
+  Execution startExecution()
+  {
+    ProcessService processService = getEnvironmentFactory().get(ProcessService.class);
+
+    ProcessDefinition processDefinition = ProcessFactory.build("nuclear fusion").activity("initial").initial().behaviour(WaitState.class)
+        .done();
+    DeploymentImpl deploymentImpl = new DeploymentImpl(processDefinition);
+    processService.deploy(deploymentImpl);
+
+    ExecutionService executionService = getEnvironmentFactory().get(ExecutionService.class);
+
+    return executionService.startExecutionByName("nuclear fusion");
+  }
+
+   */
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/SignalExecutionTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/StartExecutionTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/StartExecutionTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/StartExecutionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,219 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.execution;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jbpm.Execution;
+import org.jbpm.ProcessDefinition;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class StartExecutionTest extends JbpmTestCase {
+
+  public void testStartNewExecutionByKey() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL");
+
+    assertNotNull(execution);
+    assertEquals("a", execution.getActivityName());
+  }
+
+  public void testStartNewExecutionInLatestProcessDefinition() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL");
+
+    assertNotNull(execution);
+    assertEquals("a", execution.getActivityName());
+
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b' />" +
+      "</process>"
+    );
+
+    execution = executionService.startProcessInstanceByKey("ICL");
+
+    assertNotNull(execution);
+    assertEquals("b", execution.getActivityName());
+  }
+  
+  public void testStartExecutionInLatestByNameWithVariables() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b' />" +
+      "</process>"
+    );
+
+    // create variables that are fed into the process before it starts executing
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("a", new Integer(1));
+    variables.put("b", "text");
+
+    // feed the variables in
+    Execution execution = executionService.startProcessInstanceByKey("ICL", variables);
+    String executionId = execution.getId();
+    assertEquals("b", execution.getActivityName());
+
+    // verify that the variables are actually set
+    assertEquals(new Integer(1), executionService.getVariable(executionId, "a"));
+    assertEquals("text", executionService.getVariable(executionId, "b"));
+
+    // in the generated id, we can see if the right process definition version was taken
+    assertTrue(execution.getId().startsWith("ICL/"));
+  }
+
+  public void testStartNewProcessInstanceWithAKey() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL", "one");
+
+    assertNotNull(execution);
+    assertEquals("ICL/one", execution.getId());
+  }
+
+  public void testStartNewProcessInstanceWithVariables() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+    
+    Map<String,Object> variables = new HashMap<String,Object>();
+    variables.put("customer", "John Doe");
+    variables.put("type", "Accident");
+    variables.put("amount", new Float(763.74));
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL", variables);
+    
+    String executionId = execution.getId();
+
+    assertNotNull(execution);
+    
+    Map<String,Object> expectedVariables = new HashMap<String, Object>(variables); 
+    Set<String> expectedVariableNames = new HashSet<String>(expectedVariables.keySet());
+    Set<String> variableNames = new HashSet<String>(executionService.getVariableNames(executionId));
+    assertEquals(expectedVariableNames, variableNames);
+    
+    variables = executionService.getVariables(executionId, variableNames);
+    assertEquals(expectedVariables, variables);
+  }
+
+  public void testStartExecutionById() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+    
+    ProcessDefinition processDefinition = processService.findProcessDefinitionsByKey("ICL").get(0);
+    
+    // start an execution for the process with the given id
+    Execution execution = executionService.startProcessInstanceById("ICL:1");
+    assertNotNull(execution);
+
+    // checking the state
+    assertEquals("a", execution.getActivityName());
+
+    // checking the generated id
+    assertNull(execution.getName());
+    assertNull(execution.getKey());
+    // if there is no user defined name or key specified in the execution,
+    // the default id generator will create a unique id like this: processDefinitionId/execution.dbid
+    assertTrue(execution.getId().startsWith("ICL/"));
+    // the last part of the execution key should be the dbid.
+    Long.parseLong(execution.getId().substring(4));
+  }
+
+  public void testStartExecutionByIdWithVariables() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='a' />" +
+      "  </start>" +
+      "  <state name='a' />" +
+      "</process>"
+    );
+
+    // create the map with variables
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("a", new Integer(1));
+    variables.put("b", "text");
+
+    // provide the variables in the start execution method
+    Execution execution = executionService.startProcessInstanceById("ICL:1", variables);
+    String executionId = execution.getId();
+
+    assertEquals(new Integer(1), executionService.getVariable(executionId, "a"));
+    assertEquals("text", executionService.getVariable(executionId, "b"));
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/execution/StartExecutionTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/AvgDurationTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/AvgDurationTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/AvgDurationTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.history;
+
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class AvgDurationTest extends JbpmTestCase {
+
+  public void testAvgDuration() throws Exception {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='one' />" +
+      "  </start>" +
+      "  <state name='one'>" +
+      "    <transition to='two' />" +
+      "  </state>" +
+      "  <state name='two'>" +
+      "    <transition to='three' />" +
+      "  </state>" +
+      "  <state name='three'>" +
+      "    <transition to='end' />" +
+      "  </state>" +
+      "  <end name='end' />" +
+      "</process>"
+    );
+
+    executeProcess();
+    executeProcess();
+    executeProcess();
+
+    Map<String, Long> avgDurations = historyService.avgDurationPerActivity("ICL:1");
+
+
+    Long avgDurationOne = avgDurations.get("one");
+    assertNotNull(avgDurationOne);
+    assertTrue("expected avg duration bigger then 40, but was"+avgDurationOne, avgDurationOne>40);
+    Long avgDurationTwo = avgDurations.get("two");
+    assertNotNull(avgDurationTwo);
+    assertTrue("expected avg duration bigger then 10, but was"+avgDurationTwo, avgDurationTwo>10);
+    Long avgDurationThree = avgDurations.get("three");
+    assertNotNull(avgDurationThree);
+    assertTrue("expected avg duration bigger then 0, but was"+avgDurationThree, avgDurationThree>=0);
+
+    assertEquals(3, avgDurations.size());
+  }
+
+  protected void executeProcess() throws InterruptedException {
+    Execution execution = executionService.startProcessInstanceByKey("ICL");
+    Thread.sleep(50);
+    executionService.signalExecutionById(execution.getId());
+    Thread.sleep(20);
+    executionService.signalExecutionById(execution.getId());
+    executionService.signalExecutionById(execution.getId());
+  }
+
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/AvgDurationTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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.test.history;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ChoiceDistributionTest extends JbpmTestCase {
+
+  public void testExclusiveExpression() {
+    deployJpdlXmlString(
+      "<process name='Transport Selection' key='TRS'>" +
+      "  <start>" +
+      "    <transition to='How far?' />" +
+      "  </start>" +
+      "  <exclusive name='How far?' expr='#{distance}'>" +
+      "    <transition name='far'           to='Big car' />" +
+      "    <transition name='nearby'        to='Small car' />" +
+      "    <transition name='other country' to='Airoplane' />" +
+      "  </exclusive>" +
+      "  <state name='Big car' />" +
+      "  <state name='Small car' />" +
+      "  <state name='Airoplane' />" +
+      "</process>"
+    );
+
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("distance", "far");
+    executionService.startProcessInstanceByKey("TRS", variables);
+
+    variables.put("distance", "nearby");
+    executionService.startProcessInstanceByKey("TRS", variables);
+    executionService.startProcessInstanceByKey("TRS", variables);
+    executionService.startProcessInstanceByKey("TRS", variables);
+
+    variables.put("distance", "other country");
+    executionService.startProcessInstanceByKey("TRS", variables);
+    executionService.startProcessInstanceByKey("TRS", variables);
+
+    Map<String, Integer> choiceDistribution = historyService.choiceDistribution("TRS:1", "How far?");
+    
+    assertEquals(1, (int)choiceDistribution.get("far"));
+    assertEquals(3, (int)choiceDistribution.get("nearby"));
+    assertEquals(2, (int)choiceDistribution.get("other country"));
+      
+  }
+
+
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ChoiceDistributionTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.history;
+
+import java.util.List;
+
+import org.jbpm.Execution;
+import org.jbpm.history.HistoryProcessInstance;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class EndProcessInstanceTest extends JbpmTestCase {
+
+  public void testCancelProcessInstance() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='wait' />" +
+      "  </start>" +
+      "  <state name='wait'>" +
+      "    <transition to='end' />" +
+      "  </state>" +
+      "  <end name='end' />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("ICL");
+    String processInstanceId = execution.getId();
+    executionService.endProcessInstance(processInstanceId, Execution.STATE_CANCELLED);
+
+    List<Execution> executions = executionService.createExecutionQuery()
+        .processInstanceId(processInstanceId)
+        .execute();
+    assertEquals(0, executions.size());
+
+    HistoryProcessInstance historyProcessInstance = historyService.createHistoryProcessInstanceQuery()
+      .processInstanceId(processInstanceId)
+      .executeUniqueResult();
+
+    assertNotNull(historyProcessInstance.getEndTime());
+    assertEquals(Execution.STATE_CANCELLED, historyProcessInstance.getState());
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/EndProcessInstanceTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ProcessInstanceHistoryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ProcessInstanceHistoryTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ProcessInstanceHistoryTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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.test.history;
+
+import java.util.List;
+
+import org.jbpm.Execution;
+import org.jbpm.history.HistoryProcessInstance;
+import org.jbpm.history.HistoryProcessInstanceQuery;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ProcessInstanceHistoryTest extends JbpmTestCase {
+
+  public void testProcessInstanceHistory() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start>" +
+      "    <transition to='end' />" +
+      "  </start>" +
+      "  <end name='end' />" +
+      "</process>"
+    );
+
+    executionService.startProcessInstanceByKey("ICL");
+    executionService.startProcessInstanceByKey("ICL");
+    executionService.startProcessInstanceByKey("ICL");
+    
+    List<HistoryProcessInstance> historyProcessInstances = historyService
+      .createHistoryProcessInstanceQuery()
+      .processDefinitionId("ICL:1")
+      .orderAsc(HistoryProcessInstanceQuery.PROPERTY_STARTTIME)
+      .execute();
+
+    assertEquals(3, historyProcessInstances.size());
+    
+    for (HistoryProcessInstance historyProcessInstance: historyProcessInstances) {
+      assertTrue(historyProcessInstance.getProcessInstanceId().startsWith("ICL"));
+      assertEquals(HistoryProcessInstance.STATE_ENDED, historyProcessInstance.getState());
+      assertNotNull(historyProcessInstance.getStartTime());
+      assertNotNull(historyProcessInstance.getEndTime());
+    }
+    
+    // also check that the ended process instances have been removed from the 
+    // runtime database
+    List<Execution> executions = executionService
+      .createExecutionQuery()
+      .processDefinitionId("ICL:1")
+      .execute();
+
+    assertEquals(0, executions.size());
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/history/ProcessInstanceHistoryTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessAttachmentsTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessAttachmentsTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessAttachmentsTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.process;
+
+import java.io.ByteArrayInputStream;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jbpm.ProcessDefinition;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ProcessAttachmentsTest extends JbpmTestCase {
+
+  public void testProcessWithNameOnly() {
+    byte[] lotOfBytes = generateString("a lot of bytes ", 5000).getBytes();
+    byte[] otherBytes = generateString("other bytes ", 5000).getBytes();
+    
+    List<ProcessDefinition> deployedProcessDefinitions = 
+    processService.createDeployment()
+      .addString("xmlstring.jpdl.xml", 
+                 "<process name='Insurance claim'>" +
+                 "  <start />" +
+                 "</process>")
+      .addInputStream("a lot of attachment", new ByteArrayInputStream(lotOfBytes))
+      .addInputStream("other attachment", new ByteArrayInputStream(otherBytes))
+      .deploy()
+      .getProcessDefinitions();
+    ProcessDefinition processDefinition = registerDeployedProcessDefinitions(deployedProcessDefinitions);
+
+    byte[] retrievedLotOfBytes = processService.getAttachment(processDefinition.getId(), "a lot of attachment");
+    assertTrue(Arrays.equals(lotOfBytes, retrievedLotOfBytes));
+    
+    byte[] retrievedOtherBytes = processService.getAttachment(processDefinition.getId(), "other attachment");
+    assertTrue(Arrays.equals(otherBytes, retrievedOtherBytes));
+  }
+
+  protected String generateString(String base, int multiplier) {
+    StringBuffer buffer = new StringBuffer();
+    for (int i=0; i<multiplier; i++) {
+      buffer.append(base);
+    }
+    String string = buffer.toString();
+    return string;
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessAttachmentsTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,139 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.process;
+
+import java.util.List;
+
+import org.jbpm.ProcessDefinition;
+import org.jbpm.ProcessDefinitionQuery;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ProcessDefinitionQueryTest extends JbpmTestCase {
+
+  public void testQueryProcessDefinitionsEmpty() {
+    List<ProcessDefinition> processDefinitions = processService
+      .createProcessDefinitionQuery()
+      .execute();
+    
+    assertEquals(0, processDefinitions.size());
+  }
+
+  public void testQueryProcessDefinitionsNameLike() {
+    deployJpdlXmlString(
+      "<process name='make print'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='use phone'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='make friends'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='clean whiteboard'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='fix coffeemaker'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    List<ProcessDefinition> processDefinitions = processService.createProcessDefinitionQuery()
+      .nameLike("%make%")
+      .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME)
+      .execute();
+
+    assertEquals("fix coffeemaker", processDefinitions.get(0).getName());
+    assertEquals("make friends",    processDefinitions.get(1).getName());
+    assertEquals("make print",      processDefinitions.get(2).getName());
+  }
+
+  public void testQueryProcessDefinitionsKeyLike() {
+    deployJpdlXmlString(
+      "<process name='make print'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='use phone'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='make friends'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='make friends'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='make friends'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='clean whiteboard'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='fix coffeemaker'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    List<ProcessDefinition> processDefinitions = processService.createProcessDefinitionQuery()
+      .keyLike("make%")
+      .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME)
+      .orderDesc(ProcessDefinitionQuery.PROPERTY_VERSION)
+      .execute();
+
+    assertEquals("make_friends:3", processDefinitions.get(0).getId());
+    assertEquals("make_friends:2", processDefinitions.get(1).getId());
+    assertEquals("make_friends:1", processDefinitions.get(2).getId());
+    assertEquals("make_print:1",   processDefinitions.get(3).getId());
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionQueryTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessServiceTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessServiceTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessServiceTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,356 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.process;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jbpm.Execution;
+import org.jbpm.JbpmException;
+import org.jbpm.ProcessDefinition;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ProcessServiceTest extends JbpmTestCase {
+
+  public void testProcessWithNameOnly() {
+    ProcessDefinition processDefinition = deployJpdlXmlString(
+      "<process name='Insurance claim'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    assertNotNull(processDefinition);
+    assertEquals("Insurance claim", processDefinition.getName());
+    assertEquals("Insurance_claim", processDefinition.getKey());
+    assertEquals(1, processDefinition.getVersion());
+    assertEquals("Insurance_claim:1", processDefinition.getId());
+  }
+
+  public void testProcessWithNameAndKey() {
+    deployJpdlXmlString(
+      "<process name='Insurance claim' key='ICL'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    ProcessDefinition processDefinition = processService.findLatestProcessDefinitionByKey("ICL");
+
+    assertNotNull(processDefinition);
+    assertEquals("Insurance claim", processDefinition.getName());
+    assertEquals("ICL", processDefinition.getKey());
+    assertEquals(1, processDefinition.getVersion());
+    assertEquals("ICL:1", processDefinition.getId());
+  }
+
+  // interface methods ////////////////////////////////////////////////////////
+
+  public void testFindProcessDefinitionKeys() {
+    deployMultipleVersionsOfProcesses();
+
+    List<String> processKeys = processService.findProcessDefinitionKeys();
+
+    List<String> expected = new ArrayList<String>();
+    expected.add("nuclear_fusion");
+    expected.add("publish_book");
+    expected.add("ultimate_seduction");
+
+    assertEquals(expected, processKeys);
+  }
+
+
+  public void testFindProcessByKey() {
+    deployJpdlXmlString(
+      "<process name='Name with spaces'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    ProcessDefinition processDefinition = processService.findLatestProcessDefinitionByKey("Name_with_spaces");
+    assertNotNull(processDefinition);
+    assertEquals("Name with spaces", processDefinition.getName());
+    assertEquals("Name_with_spaces", processDefinition.getKey());
+    assertEquals(1, processDefinition.getVersion());
+    assertEquals("Name_with_spaces:1", processDefinition.getId());
+  }
+
+  public void testFindProcessDefinitions() {
+    deployMultipleVersionsOfProcesses();
+
+    List<ProcessDefinition> processDefinitions = processService.findProcessDefinitionsByKey("nuclear_fusion");
+    assertNotNull(processDefinitions);
+
+    assertEquals("expected 3 but was " + processDefinitions.size() + ": " + processDefinitions, 3, processDefinitions.size());
+    assertEquals("nuclear fusion", processDefinitions.get(0).getName());
+    assertEquals(3, processDefinitions.get(0).getVersion());
+
+    assertEquals("nuclear fusion", processDefinitions.get(1).getName());
+    assertEquals(2, processDefinitions.get(1).getVersion());
+
+    assertEquals("nuclear fusion", processDefinitions.get(2).getName());
+    assertEquals(1, processDefinitions.get(2).getVersion());
+  }
+
+  public void testFindLatestProcessDefinition() {
+    deployMultipleVersionsOfProcesses();
+
+    ProcessDefinition retrieved = processService.findLatestProcessDefinitionByKey("nuclear_fusion");
+    assertNotNull(retrieved);
+
+    assertEquals(3, retrieved.getVersion());
+    assertEquals("nuclear fusion", retrieved.getName());
+    assertEquals("nuclear_fusion", retrieved.getKey());
+  }
+
+  public void testFindProcessDefinitionById() {
+    deployJpdlXmlString(
+      "<process name='given' version='33'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    // load it
+    ProcessDefinition processDefinition = processService.findProcessDefinitionById("given:33");
+    assertNotNull(processDefinition);
+    assertEquals("given", processDefinition.getName());
+    assertEquals(33, processDefinition.getVersion());
+  }
+
+  public void testDeleteProcessDefinition() {
+    processService.createDeployment()
+        .addString("xmlstring.jpdl.xml", 
+            "<process name='deleteme' version='33'>" +
+            "  <start />" +
+            "</process>")
+        .deploy();
+
+    // delete it
+    processService.deleteProcessDefinition("deleteme:33");
+
+    // check if the db is empty
+    assertEquals(0, processService.createProcessDefinitionQuery().execute().size());
+  }
+
+  public void testDeleteProcessDefinitionAndInstances() {
+    processService.createDeployment()
+        .addString("xmlstring.jpdl.xml", 
+          "<process name='deleteme' version='33'>" +
+          "  <start>" +
+          "    <transition to='w' />" +
+          "  </start>" +
+          "  <state name='w' />" +
+          "</process>")
+        .deploy();
+    
+    executionService.startProcessInstanceByKey("deleteme");
+    executionService.startProcessInstanceByKey("deleteme");
+    executionService.startProcessInstanceByKey("deleteme");
+    executionService.startProcessInstanceByKey("deleteme");
+    
+    // delete it all
+    processService.deleteProcessDefinitionCascade("deleteme:33");
+
+    // check if the db is empty
+    assertEquals(0, processService.createProcessDefinitionQuery().execute().size());
+    assertEquals(0, executionService.createExecutionQuery().execute().size());
+  }
+  
+  public void testDeleteProcessDefinitionButNotInstances() {
+    deployJpdlXmlString(
+      "<process name='deleteme' version='33'>" +
+      "  <start>" +
+      "    <transition to='w' />" +
+      "  </start>" +
+      "  <state name='w' />" +
+      "</process>"
+    );
+    
+    executionService.startProcessInstanceByKey("deleteme");
+    executionService.startProcessInstanceByKey("deleteme");
+    executionService.startProcessInstanceByKey("deleteme");
+    executionService.startProcessInstanceByKey("deleteme");
+    
+    // delete it all
+    try {
+      processService.deleteProcessDefinition("deleteme:33");
+      fail("expected exception");
+    } catch (JbpmException e) {
+      assertTextPresent("still 4 process instances for process definition deleteme:33", e.getMessage());
+    }
+  }
+  
+  // various other aspects ////////////////////////////////////////////////////
+  
+  public void testAutomaticVersioning() {
+    deployJpdlXmlString(
+      "<process name='versionme'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    // look it up again
+    List<ProcessDefinition> processDefinitions = processService.findProcessDefinitionsByKey("versionme");
+    assertNotNull(processDefinitions);
+    // verify that there is only one
+    assertEquals(processDefinitions.toString(), 1, processDefinitions.size());
+    ProcessDefinition processDefinition = processDefinitions.get(0);
+    // and check that automatically assigned version starts with 1
+    assertEquals(1, processDefinition.getVersion());
+
+    deployJpdlXmlString(
+      "<process name='versionme'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    // look them up again
+    processDefinitions = processService.findProcessDefinitionsByKey("versionme");
+    // verify that there is only one
+    assertEquals(processDefinitions.toString(), 2, processDefinitions.size());
+    // and check that automatically assigned version starts with 1
+    assertEquals(2, processDefinitions.get(0).getVersion());
+    assertEquals(1, processDefinitions.get(1).getVersion());
+  }
+
+  public void testUserProvidedVersion() {
+    deployJpdlXmlString(
+      "<process name='takethis' version='234'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    // load it
+    List<ProcessDefinition> processDefinitions = processService.findProcessDefinitionsByKey("takethis");
+    assertNotNull(processDefinitions);
+    assertEquals(processDefinitions.toString(), 1, processDefinitions.size());
+    ProcessDefinition processDefinition = processDefinitions.get(0);
+    // verify that the user specified version was used
+    // (and not overwritten by an automatically assigned versioning)
+    assertEquals(234, processDefinition.getVersion());
+  }
+
+  public void testDuplicateUserProvidedVersion()  {
+    deployJpdlXmlString(
+      "<process name='takethis' version='234'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    try {
+      deployJpdlXmlString(
+        "<process name='takethis' version='234'>" +
+        "  <start />" +
+        "</process>"
+      );
+      fail("expected exception");
+    } catch (JbpmException e) {
+      assertTextPresent("process 'takethis:234' already exists", e.getMessage());
+    }
+  }
+
+  /**
+   * deploys 3 versions of process with name 'nuclear fusion', 2 versions of the processes 'ultimate seduction' and
+   * 'publish book'
+   */
+  void deployMultipleVersionsOfProcesses() {
+    deployJpdlXmlString(
+      "<process name='nuclear fusion'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='ultimate seduction'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='ultimate seduction'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='ultimate seduction'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='ultimate seduction'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='publish book'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='nuclear fusion'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    deployJpdlXmlString(
+      "<process name='nuclear fusion'>" +
+      "  <start />" +
+      "</process>"
+    );
+  }
+
+  public void testMinimalProcess() {
+    deployJpdlXmlString(
+      "<process name='minimal'>" +
+      "  <start>" +
+      "    <transition to='end' />" +
+      "  </start>" +
+      "  <end name='end' />" +
+      "</process>"
+    );
+    
+    Execution execution = executionService.startProcessInstanceByKey("minimal");
+    
+    assertEquals("end", execution.getActivityName());
+    assertTrue(execution.isEnded());
+    assertFalse(execution.isActive());
+  }
+
+  public void testMostMinimalProcess() {
+    deployJpdlXmlString(
+      "<process name='minimal'>" +
+      "  <start />" +
+      "</process>"
+    );
+
+    Execution execution = executionService.startProcessInstanceByKey("minimal");
+    
+    assertTrue(execution.isEnded());
+    assertFalse(execution.isActive());
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessServiceTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/SubTaskTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/SubTaskTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/SubTaskTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,163 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.task;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class SubTaskTest extends JbpmTestCase {
+
+  public void testTaskParticipants() {
+    
+    // create top level task
+    // * clean da house
+    
+    Task task = taskService.newTask();
+    task.setName("clean da house");
+    long taskDbid = saveAndRegisterTask(task);
+    
+    // create 3 sub tasks: 
+    // * clean da house
+    //   * dishes
+    //   * laundry
+    //   * sweep floor
+    
+    Task subTask = taskService.newTask(taskDbid);
+    subTask.setName("dishes");
+    long dishesTaskDbid = taskService.saveTask(subTask);
+    
+    subTask = taskService.newTask(taskDbid);
+    subTask.setName("laundry");
+    long laundryTaskDbid = taskService.saveTask(subTask);
+    
+    subTask = taskService.newTask(taskDbid);
+    subTask.setName("sweep floor");
+    long sweepFloorTaskDbid = taskService.saveTask(subTask);
+    
+    // verify 3 sub tasks of clean da house
+    
+    List<Task> subTasks = taskService.getSubTasks(taskDbid);
+    Set<String> subTaskNames = getTaskNames(subTasks);
+    
+    Set<String> expectedTaskNames = new HashSet<String>();
+    expectedTaskNames.add("dishes");
+    expectedTaskNames.add("laundry");
+    expectedTaskNames.add("sweep floor");
+    
+    assertEquals(expectedTaskNames, subTaskNames);
+
+    // add 3 sub tasks for sweep floor: 
+    // * clean da house
+    //   * dishes
+    //   * laundry
+    //   * sweep floor
+    //     * find broom
+    //     * find water
+    //     * scrub
+
+    // now second level subtasks under sweep floor
+    subTask = taskService.newTask(sweepFloorTaskDbid);
+    subTask.setName("find broom");
+    taskService.saveTask(subTask);
+
+    subTask = taskService.newTask(sweepFloorTaskDbid);
+    subTask.setName("find water");
+    taskService.saveTask(subTask);
+
+    subTask = taskService.newTask(sweepFloorTaskDbid);
+    subTask.setName("scrub");
+    taskService.saveTask(subTask);
+
+    // verify all the sub tasks of 'clean da house' and 'sweep floor'
+    
+    subTaskNames = getTaskNames(taskService.getSubTasks(taskDbid));
+    
+    expectedTaskNames = new HashSet<String>();
+    expectedTaskNames.add("dishes");
+    expectedTaskNames.add("laundry");
+    expectedTaskNames.add("sweep floor");
+    
+    assertEquals(expectedTaskNames, subTaskNames);
+    
+    subTaskNames = getTaskNames(taskService.getSubTasks(sweepFloorTaskDbid));
+    
+    expectedTaskNames = new HashSet<String>();
+    expectedTaskNames.add("find broom");
+    expectedTaskNames.add("find water");
+    expectedTaskNames.add("scrub");
+    
+    assertEquals(expectedTaskNames, subTaskNames);
+    
+    // delete task dishes
+    taskService.deleteTask(dishesTaskDbid);
+
+    // verify all the sub tasks of 'clean da house' and 'sweep floor'
+    
+    subTaskNames = getTaskNames(taskService.getSubTasks(taskDbid));
+    
+    expectedTaskNames = new HashSet<String>();
+    expectedTaskNames.add("laundry");
+    expectedTaskNames.add("sweep floor");
+    
+    assertEquals(expectedTaskNames, subTaskNames);
+    
+    subTaskNames = getTaskNames(taskService.getSubTasks(sweepFloorTaskDbid));
+    
+    expectedTaskNames = new HashSet<String>();
+    expectedTaskNames.add("find broom");
+    expectedTaskNames.add("find water");
+    expectedTaskNames.add("scrub");
+    
+    assertEquals(expectedTaskNames, subTaskNames);
+
+    // delete laundry and delete sweep floor
+    // NOTE: deleting sweep floor should recursively delete the subtasks
+    taskService.deleteTask(laundryTaskDbid);
+    taskService.deleteTask(sweepFloorTaskDbid);
+
+    subTaskNames = getTaskNames(taskService.getSubTasks(taskDbid));
+
+    expectedTaskNames = new HashSet<String>();
+    assertEquals(expectedTaskNames, subTaskNames);
+    
+    subTaskNames = getTaskNames(taskService.getSubTasks(sweepFloorTaskDbid));
+    
+    expectedTaskNames = new HashSet<String>();
+    assertEquals(expectedTaskNames, subTaskNames);
+  }
+
+  private Set<String> getTaskNames(List<Task> tasks) {
+    Set<String> taskNames = new HashSet<String>();
+    for (Task task: tasks) {
+      taskNames.add(task.getName());
+    }
+    return taskNames;
+  }
+}


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

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCommentsTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCommentsTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCommentsTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.task;
+
+import java.util.List;
+
+import org.jbpm.model.Comment;
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskCommentsTest extends JbpmTestCase {
+  
+  public void testComments() {
+    Task task = taskService.newTask();
+    task.setName("clean da house");
+    long taskDbid = taskService.saveTask(task);
+
+    // what a party yesterday
+    //   - what! you had a party while i was out ?!
+    //      - euh yes.  it was a great party :-)
+    // i'll clean up the mess
+    Comment comment = taskService.addTaskComment(taskDbid, "what a party yesterday");
+    long whatAPartyDbid = comment.getDbid();
+    comment = taskService.addReplyComment(whatAPartyDbid, "what! you had a party while i was out ?!");
+    long youHadAPartyDbid = comment.getDbid();
+    taskService.addReplyComment(youHadAPartyDbid, "euh yes.  it was a great party :-)");
+
+    taskService.addTaskComment(taskDbid, "i'll clean up the mess");
+    
+    List<Comment> taskComments = taskService.getTaskComments(taskDbid);
+    assertEquals("what a party yesterday", taskComments.get(0).getMessage());
+    assertEquals("i'll clean up the mess", taskComments.get(1).getMessage());
+    
+    taskComments = taskComments.get(0).getComments();
+    assertEquals("what! you had a party while i was out ?!", taskComments.get(0).getMessage());
+    
+    taskComments = taskComments.get(0).getComments();
+    assertEquals("euh yes.  it was a great party :-)", taskComments.get(0).getMessage());
+    
+    taskService.deleteComment(whatAPartyDbid);
+
+    taskComments = taskService.getTaskComments(taskDbid);
+    assertEquals("i'll clean up the mess", taskComments.get(0).getMessage());
+    
+    // the following should delete the remaining comment.  if not, this 
+    // will show up as a fixme.
+    taskService.deleteTask(taskDbid);
+  }
+}


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

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCreateUpdateDeleteTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCreateUpdateDeleteTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskCreateUpdateDeleteTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.task;
+
+import java.util.Date;
+import java.text.DateFormat;
+
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+/**
+ * @author Alejandro Guizar
+ */
+public class TaskCreateUpdateDeleteTest extends JbpmTestCase {
+
+  public void testNewTask() {
+    // creation of a new non-persisted task
+    Task task = taskService.newTask();
+    task = taskService.getTask(task.getDbid());
+    assertNull(task);
+  }
+
+  public void testSaveTask() {
+    Task task = taskService.newTask();
+    long taskDbid = saveAndRegisterTask(task);
+    // task was made persistent
+    task = taskService.getTask(taskDbid); 
+    assertNotNull("expected non-null task", task);
+    // make some change
+    Date dueDate = new Date();
+    task.setDueDate(dueDate);
+    taskService.saveTask(task);
+    // verify change is applied
+    task = taskService.getTask(taskDbid);
+    
+    // task.getDueDate() return an java.sql.Timestamp
+    DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
+    assertEquals(df.format(dueDate), df.format(task.getDueDate()));
+  }
+
+  public void testDeleteTask() {
+    Task task = taskService.newTask();
+    long taskDbid = taskService.saveTask(task);
+    
+    // task was made persistent
+    assertNotNull("expected non-null task", taskService.getTask(taskDbid));
+    // delete task and verify it does not exist
+    taskService.deleteTask(taskDbid);
+    task = taskService.getTask(taskDbid);
+    assertNull("expected null, but was " + task, task);
+  }
+}


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

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskListTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskListTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskListTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.task;
+
+import java.util.List;
+
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskListTest extends JbpmTestCase {
+
+  public void testPersonalTaskList() {
+    Task task = taskService.newTask();
+    task.setName("do laundry");
+    task.setAssignee("johndoe");
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("get good idea");
+    task.setAssignee("joesmoe");
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("find venture capital");
+    task.setAssignee("joesmoe");
+    saveAndRegisterTask(task);
+    
+    task = taskService.newTask();
+    task.setName("start new business");
+    task.setAssignee("joesmoe");
+    saveAndRegisterTask(task);
+
+    List<Task> taskList = taskService.getPersonalTaskList("johndoe", 0, 10);
+    assertNotNull(taskList);
+    
+    assertEquals("do laundry", taskList.get(0).getName());
+    assertEquals(1, taskList.size());
+
+    taskList = taskService.getPersonalTaskList("joesmoe", 0, 10);
+    assertNotNull(taskList);
+    
+    assertContainsTask(taskList, "get good idea");
+    assertContainsTask(taskList, "start new business");
+    assertContainsTask(taskList, "find venture capital");
+
+    assertEquals(3, taskList.size());
+  }
+
+  public void testPersonalTaskListDefaultSortOrder() {
+    Task task = taskService.newTask();
+    task.setName("get good idea");
+    task.setAssignee("joesmoe");
+    task.setPriority(3);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("find venture capital");
+    task.setAssignee("joesmoe");
+    task.setPriority(2);
+    saveAndRegisterTask(task);
+    
+    task = taskService.newTask();
+    task.setName("start new business");
+    task.setAssignee("joesmoe");
+    task.setPriority(1);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("take a day off");
+    task.setAssignee("joesmoe");
+    task.setPriority(-5);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("make profit");
+    task.setAssignee("joesmoe");
+    task.setPriority(10);
+    saveAndRegisterTask(task);
+
+    List<Task> taskList = taskService.getPersonalTaskList("joesmoe", 0, 10);
+    assertNotNull(taskList);
+    
+    // default sort order is based on the priority
+    assertEquals("make profit",          taskList.get(0).getName());
+    assertEquals("get good idea",        taskList.get(1).getName());
+    assertEquals("find venture capital", taskList.get(2).getName());
+    assertEquals("start new business",   taskList.get(3).getName());
+    assertEquals("take a day off",       taskList.get(4).getName());
+
+    assertEquals(5, taskList.size());
+  }
+}


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

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskParticipationsTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskParticipationsTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskParticipationsTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.task;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jbpm.task.GroupRef;
+import org.jbpm.task.IdentityRef;
+import org.jbpm.task.Participant;
+import org.jbpm.task.Task;
+import org.jbpm.task.UserRef;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskParticipationsTest extends JbpmTestCase {
+
+  public void testTaskParticipants() {
+    Task task = taskService.newTask();
+    task.setName("do laundry");
+    long taskDbid = saveAndRegisterTask(task);
+    
+    taskService.addTaskParticipant(taskDbid, new UserRef("johndoe"), Participant.CANDIDATE);
+    taskService.addTaskParticipant(taskDbid, new UserRef("joesmoe"), Participant.CANDIDATE);
+    taskService.addTaskParticipant(taskDbid, new UserRef("joesmoe"), Participant.OWNER);
+    taskService.addTaskParticipant(taskDbid, new GroupRef("losers"), Participant.CANDIDATE);
+    taskService.addTaskParticipant(taskDbid, new GroupRef("dummies"), Participant.CANDIDATE);
+    
+    List<Participant> taskParticipants = taskService.getTaskParticipants(taskDbid);
+
+    Set<IdentityRef> candidateIdentityRefs = getIdentityRefs(taskParticipants, Participant.CANDIDATE);
+
+    Set<IdentityRef> expectedIdentityRefs = new HashSet<IdentityRef>();
+    expectedIdentityRefs.add(new UserRef("johndoe"));
+    expectedIdentityRefs.add(new UserRef("joesmoe"));
+    expectedIdentityRefs.add(new GroupRef("losers"));
+    expectedIdentityRefs.add(new GroupRef("dummies"));
+
+    assertEquals(expectedIdentityRefs, candidateIdentityRefs);
+    
+    candidateIdentityRefs = getIdentityRefs(taskParticipants, Participant.OWNER);
+
+    expectedIdentityRefs = new HashSet<IdentityRef>();
+    expectedIdentityRefs.add(new UserRef("joesmoe"));
+
+    assertEquals(expectedIdentityRefs, candidateIdentityRefs);
+    
+    taskService.removeTaskParticipant(taskDbid, new UserRef("joesmoe"), Participant.OWNER);
+    taskService.removeTaskParticipant(taskDbid, new GroupRef("losers"), Participant.CANDIDATE);
+
+    
+    taskParticipants = taskService.getTaskParticipants(taskDbid);
+
+    candidateIdentityRefs = getIdentityRefs(taskParticipants, Participant.CANDIDATE);
+
+    expectedIdentityRefs = new HashSet<IdentityRef>();
+    expectedIdentityRefs.add(new UserRef("johndoe"));
+    expectedIdentityRefs.add(new UserRef("joesmoe"));
+    expectedIdentityRefs.add(new GroupRef("dummies"));
+
+    assertEquals(expectedIdentityRefs, candidateIdentityRefs);
+    
+    candidateIdentityRefs = getIdentityRefs(taskParticipants, Participant.OWNER);
+
+    expectedIdentityRefs = new HashSet<IdentityRef>();
+
+    assertEquals(expectedIdentityRefs, candidateIdentityRefs);
+  }
+
+  public Set<IdentityRef> getIdentityRefs(List<Participant> taskParticipants, String participation) {
+    Set<IdentityRef> identityRefs = new HashSet<IdentityRef>();
+    for (Participant participant: taskParticipants) {
+      if (participation.equals(participant.getParticipation())) {
+        identityRefs.add(participant.getIdentityRef());
+      }
+    }
+    return identityRefs;
+  }
+}


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

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskQueryTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/task/TaskQueryTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.task;
+
+import java.util.List;
+
+import org.jbpm.TaskQuery;
+import org.jbpm.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskQueryTest extends JbpmTestCase {
+
+  public void testSimplestTaskQuery() {
+    Task task = taskService.newTask();
+    task.setName("do laundry");
+    task.setAssignee("johndoe");
+    task.setPriority(3);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("change dyper");
+    task.setAssignee("johndoe");
+    task.setPriority(1);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("start new business");
+    task.setAssignee("joesmoe");
+    task.setPriority(4);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("find venture capital");
+    task.setPriority(4);
+    saveAndRegisterTask(task);
+
+    List<Task> taskList = taskService
+      .createTaskQuery()
+      .execute();
+    assertNotNull(taskList);
+    
+    assertContainsTask(taskList, "do laundry");
+    assertContainsTask(taskList, "change dyper");
+    assertContainsTask(taskList, "start new business");
+    assertContainsTask(taskList, "find venture capital");
+
+    assertEquals(4, taskList.size());
+  }
+
+  public void testSimplestTaskQuerySortBy() {
+    Task task = taskService.newTask();
+    task.setName("do laundry");
+    task.setAssignee("johndoe");
+    task.setPriority(3);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("change dyper");
+    task.setAssignee("johndoe");
+    task.setPriority(1);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("start new business");
+    task.setAssignee("joesmoe");
+    task.setPriority(4);
+    saveAndRegisterTask(task);
+
+    task = taskService.newTask();
+    task.setName("find venture capital");
+    task.setPriority(7);
+    saveAndRegisterTask(task);
+
+    List<Task> taskList = taskService
+      .createTaskQuery()
+      .orderAsc(TaskQuery.PROPERTY_NAME)
+      .execute();
+    assertNotNull(taskList);
+    
+    assertEquals("change dyper",         taskList.get(0).getName());
+    assertEquals("do laundry",           taskList.get(1).getName());
+    assertEquals("find venture capital", taskList.get(2).getName());
+    assertEquals("start new business",   taskList.get(3).getName());
+
+    assertEquals(4, taskList.size());
+  }
+
+}


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

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/BasicVariablesTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/BasicVariablesTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/BasicVariablesTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,116 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.variables;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class BasicVariablesTest extends JbpmTestCase {
+
+  public void testStartProcessInstanceWithoutVariables() {
+    deployJpdlXmlString(
+      "<process name='var'>" +
+      "  <start name='a'>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b'/>" +
+      "</process>"
+    );
+    
+    executionService.startProcessInstanceByKey("var", "one");
+    Set<String> variableNames = executionService.getVariableNames("var/one");
+    assertNotNull(variableNames);
+    assertEquals(0, variableNames.size());
+  }
+
+  public void testStartProcessInstanceWithThreeVariables() {
+    deployJpdlXmlString(
+      "<process name='var'>" +
+      "  <start name='a'>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b'/>" +
+      "</process>"
+    );
+    
+    Map<String, Object> variables = new HashMap<String, Object>();
+    variables.put("customer", "John Doe");
+    variables.put("type", "Accident");
+    variables.put("amount", new Float(763.74));
+
+    Set<String> expectedVariableNames = new HashSet<String>(variables.keySet());
+    Map<String, Object> expectedVariables = new HashMap<String, Object>(variables);
+
+    executionService.startProcessInstanceByKey("var", variables, "one");
+    
+    Set<String> variableNames = executionService.getVariableNames("var/one");
+    assertNotNull(variableNames);
+    
+    assertEquals(expectedVariableNames, variableNames);
+
+    variables = executionService.getVariables("var/one", variableNames);
+
+    assertEquals(expectedVariables, variables);
+  }
+
+  public void testSetAndUpdateVariable() {
+    deployJpdlXmlString(
+      "<process name='var'>" +
+      "  <start name='a'>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b'/>" +
+      "</process>"
+    );
+    
+    executionService.startProcessInstanceByKey("var", "one");
+    executionService.setVariable("var/one", "msg", "hello");
+    assertEquals("hello", executionService.getVariable("var/one", "msg"));
+    executionService.setVariable("var/one", "msg", "world");
+    assertEquals("world", executionService.getVariable("var/one", "msg"));
+  }
+
+  public void testUpdateVariableToDifferentType() {
+    deployJpdlXmlString(
+      "<process name='var'>" +
+      "  <start name='a'>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b'/>" +
+      "</process>"
+    );
+    
+    executionService.startProcessInstanceByKey("var", "one");
+    executionService.setVariable("var/one", "msg", "hello");
+    assertEquals("hello", executionService.getVariable("var/one", "msg"));
+    executionService.setVariable("var/one", "msg", new Integer(5));
+    assertEquals(new Integer(5), executionService.getVariable("var/one", "msg"));
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/BasicVariablesTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/VariableBasicTypesTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/VariableBasicTypesTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/VariableBasicTypesTest.java	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,138 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.variables;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class VariableBasicTypesTest extends JbpmTestCase {
+
+  public void checkVariableValue(Object variableValue) {
+    deployJpdlXmlString(
+      "<process name='var'>" +
+      "  <start name='a'>" +
+      "    <transition to='b' />" +
+      "  </start>" +
+      "  <state name='b'/>" +
+      "</process>"
+    );
+    
+    executionService.startProcessInstanceByKey("var", "one");
+    executionService.setVariable("var/one", "msg", variableValue);
+    assertEquals(variableValue, executionService.getVariable("var/one", "msg"));
+  }
+
+  public void testVariableTypeString() {
+    checkVariableValue("hello");
+  }
+
+  public void testVariableTypeCharacter() {
+    checkVariableValue(new Character('x'));
+  }
+
+  public void testVariableTypeBoolean() {
+    checkVariableValue(Boolean.TRUE);
+  }
+
+  public void testVariableTypeByte() {
+    checkVariableValue(new Byte((byte)5));
+  }
+
+  public void testVariableTypeShort() {
+    checkVariableValue(new Short((short)5));
+  }
+
+  public void testVariableTypeInteger() {
+    checkVariableValue(new Integer(5));
+  }
+
+  public void testVariableTypeLong() {
+    checkVariableValue(new Long(5));
+  }
+
+  public void testVariableTypeFloat() {
+    checkVariableValue(new Float(5.7));
+  }
+
+  public void testVariableTypeDouble() {
+    checkVariableValue(new Double(5.7));
+  }
+
+  public void testVariableTypeDate() {
+    checkVariableValue(new Date());
+  }
+  
+  public static class SerializeMe implements Serializable {
+    private static final long serialVersionUID = 1L;
+    String text;
+    public SerializeMe(String text) {
+      this.text = text;
+    }
+    public int hashCode() {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + ((text == null) ? 0 : text.hashCode());
+      return result;
+    }
+    public boolean equals(Object obj) {
+      if (this == obj)
+        return true;
+      if (obj == null)
+        return false;
+      if (getClass() != obj.getClass())
+        return false;
+      SerializeMe other = (SerializeMe) obj;
+      if (text == null) {
+        if (other.text != null)
+          return false;
+      } else if (!text.equals(other.text))
+        return false;
+      return true;
+    }
+  }
+  
+  public void testVariableTypeSerializable() {
+    SerializeMe originalValue = new SerializeMe(generateString("a lot of text ", 500));
+    checkVariableValue(originalValue);
+    
+    // now check if an update still works ok
+    // updating a serialized object might fail when the blob is cached by hibernate
+    SerializeMe newValue = new SerializeMe(generateString("another text ", 500));
+    executionService.setVariable("var/one", "msg", newValue);
+    assertEquals(newValue, executionService.getVariable("var/one", "msg"));
+  }
+  
+  protected String generateString(String base, int multiplier) {
+    StringBuffer buffer = new StringBuffer();
+    for (int i=0; i<multiplier; i++) {
+      buffer.append(base);
+    }
+    String string = buffer.toString();
+    return string;
+  }
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/variables/VariableBasicTypesTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/META-INF/persistence.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/META-INF/persistence.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/META-INF/persistence.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
+             http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+             version="1.0">
+
+  <persistence-unit name="jboss-identity-jbpm" transaction-type="RESOURCE_LOCAL">
+
+    <provider>org.hibernate.ejb.HibernatePersistence</provider>
+
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateRealm</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObject</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredential</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectCredentialType</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectAttribute</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectType</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationship</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipType</class>
+    <class>org.jboss.identity.idm.impl.model.hibernate.HibernateIdentityObjectRelationshipName</class>
+
+    <exclude-unlisted-classes>true</exclude-unlisted-classes>
+    
+    <properties>
+      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
+      <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
+      <property name="hibernate.connection.url" value="jdbc:hsqldb:mem:." />
+      <property name="hibernate.connection.username" value="sa" />
+      <property name="hibernate.connection.password" value="" />
+      <property name="hibernate.hbm2ddl.auto" value="create-drop" />
+    </properties>
+
+  </persistence-unit>
+
+</persistence>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/META-INF/persistence.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cache.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cache.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cache.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -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/trunk/modules/test-db/src/test/resources/jbpm.cache.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
+
+  <process-engine-context>
+  
+    <process-service />
+    <execution-service />
+    <history-service />
+    <management-service />
+    <task-service />
+    <identity-service />
+    <command-service>
+      <retry-interceptor />
+      <environment-interceptor />
+      <standard-transaction-interceptor />
+    </command-service>
+    
+    <hibernate-configuration>
+      <cfg resource="jbpm.hibernate.cfg.xml" />     
+      <cache-configuration resource="jbpm.cache.xml" 
+                           usage="nonstrict-read-write" />
+    </hibernate-configuration>
+
+    <hibernate-session-factory />
+
+    <deployer-manager>
+      <assign-file-type>
+        <file extension=".jpdl.xml" type="jpdl" />
+      </assign-file-type>
+      <parse-jpdl />
+      <check-process />
+      <check-problems />
+      <save />
+    </deployer-manager>
+
+    <script-manager default-expression-language="juel"
+                    default-script-language="juel"
+                    read-contexts="execution, environment, process-engine"
+                    write-context="">
+        <script-language name="juel" factory="com.sun.script.juel.JuelScriptEngineFactory" />
+    </script-manager>
+
+    <job-executor auto-start="false" />
+
+    <id-generator />
+    <types resource="jbpm.variable.types.xml" />
+
+    <business-calendar>
+      <monday    hours="9:00-12:00 and 12:30-17:00"/>
+      <tuesday   hours="9:00-12:00 and 12:30-17:00"/>
+      <wednesday hours="9:00-12:00 and 12:30-17:00"/>
+      <thursday  hours="9:00-12:00 and 12:30-17:00"/>
+      <friday    hours="9:00-12:00 and 12:30-17:00"/>
+      <holiday period="01/07/2008 - 31/08/2008"/>
+    </business-calendar>
+  
+  </process-engine-context>
+
+  <transaction-context>
+    <hibernate-session />
+    <transaction />
+    <pvm-db-session />
+    <job-db-session />
+    <task-db-session />
+    <message-session />
+    <timer-session />
+    <history-session />
+    <identity-session />
+  </transaction-context>
+
+</jbpm-configuration>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,641 @@
+<?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">
+    <!-- ProcessElementImpl part ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <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="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/trunk/modules/test-db/src/test/resources/jbpm.definition.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,375 @@
+<?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">
+
+  <!-- ### TYPEDEFS ####################################################### -->
+  <typedef name="converter" class="org.jbpm.pvm.internal.hibernate.ConverterType">
+    <param name="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter"    >bool-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ByteToLongConverter"         >byte-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter"  >char-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToLongConverter"         >date-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DateToStringConverter"       >date-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.DoubleToStringConverter"     >double-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter"      >float-double</param>
+    <param name="org.jbpm.pvm.internal.type.converter.FloatToStringConverter"      >float-str</param>
+    <param name="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter"      >int-long</param>
+    <param name="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter">ser-bytes</param>
+    <param name="org.jbpm.pvm.internal.type.converter.ShortToLongConverter"        >short-long</param>
+  </typedef>
+
+  <!-- ### PROCESS DEFINITION ############################################# -->
+  <class name="ExecutionImpl" table="JBPM_EXECUTION">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACT_"
+                 lazy="false"
+                 foreign-key="FK_EXEC_ACT"
+                 index="IDX_EXEC_ACT" />
+
+    <property name="hasVariables" column="HASVARS_" />
+    <map name="variables"
+         cascade="all-delete-orphan"
+         table="JBPM_VARIABLE">
+      <key foreign-key="FK_VAR_EXECUTION">
+         <column name="EXECUTION_" index="IDX_VAR_EXECUTION"/>
+      </key>
+      <map-key type="string" column="KEY_" />
+      <one-to-many class="org.jbpm.pvm.internal.type.Variable" />
+    </map>
+    
+    <property name="hasTimers" column="HASTIMERS_" />
+    <set name="timers"
+         cascade="all-delete-orphan">
+      <key foreign-key="FK_TMR_EXECUTION">
+         <column name="EXECUTION_" />
+      </key>
+      <one-to-many class="org.jbpm.pvm.internal.job.TimerImpl" />
+    </set>
+
+    <property name="name" column="NAME_" />
+    <property name="key" column="KEY_" />
+    <property name="id" column="ID_" unique="true" />
+
+    <property name="state" column="STATE_" />
+
+    <property name="priority" column="PRIORITY_" />
+    <property name="historyActivityInstanceDbid" column="HISACTINST_" />
+
+    <many-to-one name="processDefinition"
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCESS_"
+                 foreign-key="FK_EXEC_PROCESS" 
+                 index="IDX_EXEC_PROCESS" />
+
+    <many-to-one name="transition" column="TRANSITION_" class="TransitionImpl" />
+
+    <many-to-one name="transitionOrigin" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="TRANSORIG_"
+                 foreign-key="FK_EXEC_TRANSORIG"
+                 index="IDX_EXEC_TRANSORIG" />
+
+    <list name="executions" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="FK_EXEC_PARENT" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="ExecutionImpl" />
+    </list>
+
+    <many-to-one name="parent"
+                 column="PARENT_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_PARENT"
+                 index="IDX_EXEC_PARENT" />
+
+    <many-to-one name="processInstance"
+                 class="ExecutionImpl" 
+                 column="INSTANCE_"
+                 foreign-key="FK_EXEC_INSTANCE"
+                 index="IDX_EXEC_INSTANCE" />
+
+    <many-to-one name="superProcessExecution"
+                 column="SUPEREXEC_"
+                 class="ExecutionImpl"
+                 foreign-key="FK_EXEC_SUPEREXEC"
+                 index="IDX_EXEC_SUPEREXEC" />
+  </class>
+
+  <!-- ### COMMENTS ####################################################### -->
+  <class name="CommentImpl" table="JBPM_COMMENT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="userId" column="USERID_" />
+    <property name="time" column="TIME_" />
+    <property name="message" column="MESSAGE_" />
+
+    <list name="comments" 
+          cascade="all-delete-orphan"
+          inverse="false">
+      <key column="PARENT_" foreign-key="none" />
+      <list-index column="PARENT_IDX_" />
+      <one-to-many class="CommentImpl" />
+    </list>
+  </class>
+  
+  <!-- ### VARIABLE ####################################################### -->
+  <class name="org.jbpm.pvm.internal.type.Variable" abstract="true" discriminator-value=" " table="JBPM_VARIABLE">
+    <!-- discriminator values:
+    date   : org.jbpm.pvm.internal.type.variable.DateVariable
+    double : org.jbpm.pvm.internal.type.variable.DoubleVariable
+    hibl   : org.jbpm.pvm.internal.type.variable.HibernateLongVariable
+    long   : org.jbpm.pvm.internal.type.variable.LongVariable
+    hibs   : org.jbpm.pvm.internal.type.variable.HibernateStringVariable
+    string : org.jbpm.pvm.internal.type.variable.StringVariable
+    null   : org.jbpm.pvm.internal.type.variable.NullVariable
+    blob   : org.jbpm.pvm.internal.type.variable.BlobVariable
+    clob   : org.jbpm.pvm.internal.type.variable.ClobVariable
+    -->
+  
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="key" column="KEY_"/>
+    <property name="queryText" column="QUERYTEXT_" />
+    <property name="converter" type="converter" column="CONVERTER_" />
+    <many-to-one name="processInstance"
+                 column="PROCINST_" 
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"
+                 foreign-key="FK_VAR_PROCINST"
+                 index="IDX_VAR_PROCINST"/>
+  </class>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.DateVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="T">
+    <property name="date" column="DATE_VALUE_" type="timestamp"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.DoubleVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="D">
+    <property name="d" column="DOUBLE_VALUE_" type="double"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="l">
+    <property name="hibernatable" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.LongVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="L">
+    <property name="l" column="LONG_VALUE_" type="long"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="s">
+    <property name="hibernatable" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.StringVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="S">
+    <property name="string" column="STRING_VALUE_" type="string"/>
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.NullVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="N">
+  </subclass>
+  
+  <subclass name="org.jbpm.pvm.internal.type.variable.BlobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="B">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="FK_VAR_LOB"
+                 index="IDX_VAR_LOB" />
+  </subclass>
+
+  <subclass name="org.jbpm.pvm.internal.type.variable.ClobVariable" extends="org.jbpm.pvm.internal.type.Variable" discriminator-value="C">
+    <many-to-one name="lob"
+                 column="LOB_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.lob.Lob"
+                 foreign-key="none"/>
+  </subclass>
+  
+  <!-- ### LOB ############################################################ -->
+  <class name="org.jbpm.pvm.internal.lob.Lob" table="JBPM_LOB">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    <property name="blob" type="blob" column="BLOB_VALUE_" />
+    <property name="bytes" type="binary" column="BINARY_VALUE_"/>
+    <property name="clob" type="clob" column="CLOB_VALUE_" />
+    <property name="text" type="text" column="TEXT_VALUE_"/>
+  </class>
+  
+    <class name="org.jbpm.pvm.internal.job.JobImpl" table="JBPM_JOB" discriminator-value="Job">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="dueDate" column="DUEDATE_" type="timestamp" index="IDX_JOBDUEDATE"  />
+    <property name="isSuspended" column="ISSUSPENDED_" />
+    <property name="isExclusive" column="ISEXCLUSIVE_" />
+    <property name="lockOwner" column="LOCKOWNER_" />
+    <property name="lockExpirationTime" column="LOCKEXPTIME_" index="IDX_JOBLOCKEXP" />
+    <property name="info" column="INFO_" />
+    <property name="exception" column="EXCEPTION_" type="text" />
+    <property name="retries" column="RETRIES_" index="IDX_JOBRETRIES" />
+    
+    <many-to-one name="processInstance"   
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="PROCESSINSTANCE_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_PRINST"
+                 index="IDX_JOB_PRINST"/>
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl"   
+                 column="EXECUTION_" 
+                 cascade="none"
+                 foreign-key="FK_JOB_EXE"
+                 index="IDX_JOB_EXE"/>
+    <many-to-one name="commandDescriptor"
+                 column="CMDDESCR_"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor" 
+                 cascade="all"
+                 foreign-key="FK_JOB_CMDDESCR"
+                 index="IDX_JOB_CMDDESCR"/>
+
+    <subclass name="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="Msg">
+      <subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeActivityMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.SignalMessage" discriminator-value="SignalMsg">
+        <property name="signalName" column="SIGNAL_" />
+        <many-to-one name="activity"   
+                     column="NODE_" 
+                     cascade="none"
+                     foreign-key="FK_JOB_NODE"/>
+      </subclass>
+      <subclass name="org.jbpm.pvm.internal.model.op.TakeTransitionMessage" discriminator-value="TakeTrMsg" />
+      <subclass name="org.jbpm.pvm.internal.model.op.ProceedToDestinationMessage" discriminator-value="ProceedDestMsg" />
+      <subclass name="org.jbpm.pvm.internal.job.CommandMessage" discriminator-value="CmdMsg" />
+    </subclass>
+    
+    <subclass name="org.jbpm.pvm.internal.job.TimerImpl" discriminator-value="Timer">
+      <property name="signalName" column="SIGNAL_" />
+      <property name="eventName" column="EVENT_" />
+      <property name="repeat" column="REPEAT_" />
+    </subclass>
+     
+  </class>
+
+  <!-- ### HibernatePvmDbSession QUERIES ################################## -->
+
+  <query name="findTimers">
+    <![CDATA[
+     select t
+     from org.jbpm.pvm.internal.job.TimerImpl as t
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <query name="findMessages">
+    <![CDATA[
+     select m
+     from org.jbpm.pvm.internal.job.MessageImpl as m
+    ]]>
+  </query>
+
+  <query name="findJobsWithException">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.retries = 0 
+     order by dueDate asc
+    ]]>
+  </query>
+
+  <!-- ### HibernateJobDbSession QUERIES ################################## -->
+  <query name="findFirstAcquirableJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where ( ( (job.lockExpirationTime is null)
+               or (job.lockExpirationTime <= :now) 
+             )
+             and 
+             ( (job.dueDate is null)
+               or (job.dueDate <= :now) 
+             ) 
+             and 
+             ( job.retries > 0 ) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+
+  <query name="findExclusiveJobs">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.processInstance = :processInstance 
+       and job.isExclusive = true 
+       and job.retries > 0 
+       and ( (job.dueDate is null)
+             or (job.dueDate <= :now) 
+           )
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <query name="findFirstDueJob">
+    <![CDATA[
+     select job
+     from org.jbpm.pvm.internal.job.JobImpl as job
+     where job.lockOwner is null
+       and job.retries > 0 
+     order by job.dueDate asc
+    ]]>
+  </query>
+  
+  <!-- ### HibernatePvmDbSession QUERIES ############################################# -->
+  <query name="findExecutionById">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.id = :id
+    ]]>
+  </query>
+
+  <query name="findProcessInstanceById">
+    <![CDATA[
+     select processInstance
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.id = :processInstanceId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+  <query name="findExecutionByKey">
+    <![CDATA[
+     select execution
+     from org.jbpm.pvm.internal.model.ExecutionImpl as execution
+     where execution.key = :executionKey
+       and execution.processDefinition.name = :processDefinitionName
+    ]]>
+  </query>
+  
+  <query name="findProcessInstanceIds">
+    <![CDATA[
+     select processInstance.id
+     from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance
+     where processInstance.processDefinition.id = :processDefinitionId
+       and processInstance.parent is null
+    ]]>
+  </query>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.execution.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.hibernate.cfg.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.hibernate.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.hibernate.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>
+      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+      <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+      <property name="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
+      <property name="hibernate.connection.username">sa</property>
+      <property name="hibernate.connection.password"></property>
+      <property name="hibernate.hbm2ddl.auto">create-drop</property>
+      <property name="hibernate.format_sql">true</property>
+      <property name="hibernate.cache.use_second_level_cache">true</property>
+      <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+      <mapping resource="jbpm.definition.hbm.xml" />
+      <mapping resource="jbpm.execution.hbm.xml" />
+      <mapping resource="jbpm.history.hbm.xml" />
+      <mapping resource="jbpm.task.hbm.xml" />
+      <mapping resource="jbpm.jpdl.hbm.xml" />
+      <mapping resource="jbpm.identity.hbm.xml" />
+  </session-factory>
+</hibernate-configuration>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.hibernate.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,73 @@
+<?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.history.model" default-access="field">
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryProcessInstanceImpl" table="JBPM_HIST_PROCINST">
+    <id name="processInstanceId" column="ID_">
+      <generator class="assigned" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="processDefinitionId" column="PROCDEFID_" />
+    <property name="key" column="KEY_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="state" column="STATE_" />
+    <property name="endActivityName" column="ENDACTIVITY_" />
+
+    <many-to-one name="processDefinition" 
+                 class="org.jbpm.pvm.internal.model.ProcessDefinitionImpl" 
+                 column="PROCDEF_"
+                 foreign-key="FK_HISTPI_PROCDEF"
+                 index="IDX_HISTPI_PROCDEF" />
+                 
+    <set name="historyActivityInstances"
+         cascade="all">
+      <key>
+         <column name="HPI_" />
+      </key>
+      <one-to-many class="HistoryActivityInstanceImpl" />
+    </set>
+                 
+  </class>
+
+  <!-- ### HISTORY PROCESS INSTANCE ####################################### -->
+  <class name="HistoryActivityInstanceImpl" table="JBPM_HIST_ACTINST" discriminator-value="ACT">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <version name="dbversion" column="DBVERSION_" />
+
+    <many-to-one name="historyProcessInstance" 
+                 class="HistoryProcessInstanceImpl" 
+                 column="HPI_"
+                 foreign-key="FK_HAI_HPI"
+                 index="IDX_HAI_HPI" />
+
+    <many-to-one name="activity" 
+                 class="org.jbpm.pvm.internal.model.ActivityImpl" 
+                 column="ACTIVITY_"
+                 foreign-key="FK_HISTAI_ACT"
+                 index="IDX_HISTAI_ACT" />
+
+    <property name="executionId" column="EXECUTION_" />
+    <property name="activityName" column="ACTIVITY_NAME_" />
+    <property name="startTime" column="START_" type="timestamp" />
+    <property name="endTime" column="END_" type="timestamp" />
+    <property name="duration" column="DURATION_" />
+    <property name="transitionName" column="TRANSITION_" />
+
+    <subclass name="HistoryAutomaticInstanceImpl" discriminator-value="AUT">
+      <subclass name="HistoryExclusiveInstanceImpl" discriminator-value="EXCL" />
+    </subclass>
+    
+    <subclass name="HistoryTaskInstanceImpl" discriminator-value="TASK">
+      <property name="assignee" column="ASSIGNEE_" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.history.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.cfg.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.cfg.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
+  <realms>
+    <realm>
+      <id>realm://jbpm-identity</id>
+      <repository-id-ref>jBPM Identity DB</repository-id-ref>
+      <identity-type-mappings>
+        <identity-mapping>IDENTITY</identity-mapping>
+      </identity-type-mappings>
+    </realm>
+  </realms>
+
+  <repositories>
+    <repository>
+      <id>jBPM Identity DB</id>
+      <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
+      <external-config/>
+      <default-identity-store-id>Hibernate Identity Store</default-identity-store-id>
+      <default-attribute-store-id>Hibernate Identity Store</default-attribute-store-id>
+      <options>
+        <option>
+          <name>allowNotDefinedAttributes</name>
+          <value>true</value>
+        </option>
+      </options>
+    </repository>
+  </repositories>
+
+  <stores>
+    <attribute-stores/>
+    <identity-stores>
+      <identity-store>
+        <id>Hibernate Identity Store</id>
+        <class>org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl</class>
+        <external-config/>
+        <supported-relationship-types>
+          <relationship-type>JBOSS_IDENTITY_MEMBERSHIP</relationship-type>
+          <relationship-type>JBOSS_IDENTITY_ROLE</relationship-type>
+        </supported-relationship-types>
+        <supported-identity-object-types>
+          <identity-object-type>
+            <name>IDENTITY</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>OFFICE</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>SECURITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>PROJECT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials>
+              <credential-type>PASSWORD</credential-type>
+            </credentials>
+            <attributes>
+              <attribute>
+                <name>picture</name>
+                <mapping>user.picture</mapping>
+                <type>binary</type>
+                <isRequired>false</isRequired>
+                <isMultivalued>false</isMultivalued>
+                <isReadOnly>false</isReadOnly>
+              </attribute>
+            </attributes>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>ORGANIZATION</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DIVISION</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>ORGANIZATION_UNIT</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DIVISION</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>OFFICE</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>PROJECT</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>DIVISION</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>DEPARTMENT</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>PROJECT</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>PEOPLE</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>ADMINISTRATION</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>COMMUNITY</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>OFFICE</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>SECURITY</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+          <identity-object-type>
+            <name>SYSTEM</name>
+            <relationships>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>SECURITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
+              </relationship>
+              <relationship>
+                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+              </relationship>
+            </relationships>
+            <credentials/>
+            <attributes/>
+            <options/>
+          </identity-object-type>
+        </supported-identity-object-types>
+        <options>
+          <option>
+            <name>persistenceUnit</name>
+            <value>jboss-identity-jbpm</value>
+          </option>
+          <option>
+            <name>populateRelationshipTypes</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>populateIdentityObjectTypes</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>allowNotDefinedAttributes</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>isRealmAware</name>
+            <value>true</value>
+          </option>
+          <option>
+            <name>allowNotDefinedAttributes</name>
+            <value>true</value>
+          </option>
+        </options>
+      </identity-store>
+    </identity-stores>
+  </stores>
+</jboss-identity>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.cfg.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,57 @@
+<?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.identity.impl" default-access="field">
+
+  <!-- ### USER ########################################################### -->
+  <class name="UserImpl" table="JBPM_ID_USER">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="givenName" column="GIVENNAME_" />
+    <property name="familyName" column="FAMILYNAME_" />
+  </class>
+  
+  <!-- ### MEMBERSHIP ##################################################### -->
+  <class name="MembershipImpl" table="JBPM_ID_MEMBERSHIP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <many-to-one name="user"
+                 column="USER_" 
+                 class="UserImpl"
+                 foreign-key="FK_MEM_USER"
+                 index="IDX_MEM_USER"/>
+
+    <many-to-one name="group"
+                 column="GROUP_" 
+                 class="GroupImpl"
+                 foreign-key="FK_MEM_GROUP"
+                 index="IDX_MEM_GROUP"/>
+
+    <property name="role" column="NAME_" />
+  </class>
+  
+  <!-- ### GROUP ########################################################### -->
+  <class name="GroupImpl" table="JBPM_ID_GROUP">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_" />
+    <property name="type" column="TYPE_" />
+
+    <many-to-one name="parent"
+                 column="PARENT_" 
+                 class="GroupImpl"
+                 foreign-key="FK_GROUP_PARENT"
+                 index="IDX_GROUP_PARENT"/>
+  </class>
+  
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.identity.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,17 @@
+<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" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndCancelBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EndErrorBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ForkBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JoinBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.HqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.SqlBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.JavaBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.ScriptBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.EsbBinding" />
+  <activity binding="org.jbpm.jpdl.internal.activity.TaskBinding" />
+</activities>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.activities.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,95 @@
+<?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 default-access="field">
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlProcessDefinition" table="JBPM_JPDL_PROCDEF"  extends="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <joined-subclass name="org.jbpm.jpdl.internal.model.JpdlExecution" table="JBPM_JPDL_EXECUTION" extends="org.jbpm.pvm.internal.model.ExecutionImpl">
+    <key column="DBID_"/>
+  </joined-subclass>
+
+  <class name="org.jbpm.jpdl.internal.activity.JpdlActivity" table="JBPM_JPDL_ACTIVITY"  abstract="true" discriminator-value="X">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator column="CLASS_" />
+    <subclass name="org.jbpm.jpdl.internal.activity.StartActivity" discriminator-value="start" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveConditionActivity" discriminator-value="excl-cond" />
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveExpressionActivity" discriminator-value="excl-expr">
+      <property name="expr" column="TEXT_" />
+      <property name="lang" column="TEXT2_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ExclusiveHandlerActivity" discriminator-value="excl-handler">
+      <property name="exclusiveHandlerName" column="TEXT_" />
+      <many-to-one name="exclusiveHandlerDescriptor"
+                   column="EXCLDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_EXCLDESCR"
+                   index="IDX_ACT_EXCLDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.StateActivity" discriminator-value="state" />
+    <subclass name="org.jbpm.jpdl.internal.activity.EndActivity" discriminator-value="end">
+      <property name="endProcessInstance" column="ENDPI_" />
+      <property name="state" column="TEXT_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ForkActivity" discriminator-value="fork" />
+    <subclass name="org.jbpm.jpdl.internal.activity.JoinActivity" discriminator-value="join" />
+    <subclass name="org.jbpm.jpdl.internal.activity.HqlActivity" discriminator-value="hql">
+      <property name="query" column="TEXT_" />
+      <property name="resultVariableName" column="TEXT2_" />
+      <property name="isResultUnique" column="ISUNIQ_" />
+      <many-to-one name="parametersDescriptor"
+                   column="PARAMDESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+                   foreign-key="FK_ACT_PARAMDESCR"
+                   index="IDX_ACT_PARAMDESCR" />
+      
+      <subclass name="org.jbpm.jpdl.internal.activity.SqlActivity" discriminator-value="sql" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.JavaActivity" discriminator-value="java">
+      <property name="methodName" column="TEXT_" />
+      <property name="variableName" column="TEXT2_" />
+      <many-to-one name="descriptor"
+                   column="JAVADESCR_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                   foreign-key="FK_ACT_JAVADESCR"
+                   index="IDX_ACT_JAVADESCR" />
+      <many-to-one name="invokeOperation"
+                   column="INVOPER_" 
+                   cascade="all"
+                   class="org.jbpm.pvm.internal.wire.operation.InvokeOperation"
+                   foreign-key="FK_ACT_INVKOPER"
+                   index="IDX_ACT_INVKOPER" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.ScriptActivity" discriminator-value="script">
+      <property name="script" column="TEXT_" />
+      <property name="language" column="TEXT2_" />
+      <property name="variableName" column="TEXT3_" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.EsbActivity" discriminator-value="esb">
+      <property name="service" column="TEXT_" />
+      <property name="category" column="TEXT2_" />
+      <many-to-one name="partsListDescriptor"
+               column="PARTSDESCR_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.wire.descriptor.ListDescriptor"
+               foreign-key="FK_ACT_PARTSDESCR"
+               index="IDX_ACT_PARTSDESCR" />
+    </subclass>
+    <subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
+      <many-to-one name="taskDefinition"
+               column="TASKDEF_" 
+               cascade="all"
+               class="org.jbpm.pvm.internal.task.TaskDefinitionImpl"
+               foreign-key="FK_ACT_TASKDEF"
+               index="IDX_ACT_TASKDEF" />
+    </subclass>
+  </class>
+
+</hibernate-mapping>
\ No newline at end of file


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.jpdl.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,174 @@
+<?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 auto-import="false" package="org.jbpm.pvm.internal.task" default-access="field">
+
+  <!-- ### TASK DEFINITION ################################################ -->
+  <class name="TaskDefinitionImpl" discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+
+    <property name="priority" column="PRIORITY_"/>
+    <property name="dueDateDuration" column="DUEDATE_"/>
+    <property name="isBlocking" column="BLOCK_"/>
+    <property name="isSignalling" column="SIGNAL_"/>
+    <property name="assigneeExpression" column="ASSIGNEE_EXPR_"/>
+    <property name="candidatesExpression" column="CANDIDATES_EXPR_"/>
+
+    <many-to-one name="assignerDescriptor"
+                 column="ASSIGNER_DESCR_" 
+                 cascade="all"
+                 class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+                 foreign-key="FK_TSK_ASIG_DESCR"
+                 index="IDX_TSK_ASIG_DESCR" />
+
+    <many-to-one name="swimlaneDefinition"
+                 column="SWIMLANE_DEF_" 
+                 cascade="all"
+                 class="SwimlaneDefinitionImpl"
+                 foreign-key="FK_TSK_SWIML_DEF"
+                 index="IDX_TSK_SWIML_DEF" />
+
+		<list name="subTaskDefinitions" cascade="all-delete-orphan">
+			<key column="TASKDEF_" />
+			<list-index column="TASKDEF_IDX_" />
+			<one-to-many class="TaskDefinitionImpl" />
+		</list>
+  </class>
+  
+  <!-- ### TASK ########################################################### -->
+  <class name="TaskImpl" 
+         discriminator-value="T">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <discriminator type="char" column="CLASS_"/>
+    <version name="dbversion" column="DBVERSION_" />
+
+    <property name="id" column="ID_" unique="true" />
+    <property name="name" column="NAME_"/>
+    <property name="description" column="DESCR_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+    
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="TASK_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+    <property name="priority" column="PRIORITY_"/>
+    <property name="create" column="CREATE_"/>
+    <property name="dueDate" column="DUEDATE_"/>
+    <property name="progress" column="PROGRESS_"/>
+    
+    <!-- 
+    <many-to-one name="variableMap"
+                 class="org.jbpm.pvm.impl.VariableMap" 
+                 column="VARMAP_" 
+                 foreign-key="FK_TASK_VARMAP"
+                 cascade="all" />
+    -->
+
+    <many-to-one name="superTask"
+                 class="TaskImpl" 
+                 column="SUPERTASK_" 
+                 foreign-key="FK_TASK_SUPERTASK" 
+                 index="IDX_TASK_SUPERTASK" />
+
+    <many-to-one name="execution"
+                 class="org.jbpm.pvm.internal.model.ExecutionImpl" 
+                 column="EXECUTION_" 
+                 foreign-key="FK_TASK_EXEC" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_TASK_SWIML" />
+
+		<list name="comments" cascade="all-delete-orphan">
+			<key column="TASK_" />
+			<list-index column="TASK_IDX_" />
+			<one-to-many class="org.jbpm.pvm.internal.model.CommentImpl" />
+		</list>
+
+    <set name="subTasks" cascade="all-delete-orphan">
+      <key column="SUPERTASK_" />
+      <one-to-many class="TaskImpl" />
+    </set>
+    
+  </class>
+  
+  <!-- ### PARTICIPANT #################################################### -->
+  <class name="ParticipantImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="identityType" column="IDENTITYTYPE_"/>
+    <property name="identityId" column="IDENTITYID_"/>
+    <property name="participation" column="PARTICIPATION_" />
+
+    <many-to-one name="task"
+                 class="TaskImpl" 
+                 column="TASK_" 
+                 index="IDX_PART_TASK"
+                 foreign-key="FK_PART_TASK" />
+
+    <many-to-one name="swimlane"
+                 class="SwimlaneImpl" 
+                 column="SWIMLANE_" 
+                 foreign-key="FK_PART_SWIMLANE" />
+
+  </class>
+  
+  <!-- ### SWIMLANE DEFINITION ############################################ -->
+  <class name="SwimlaneDefinitionImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+  </class>
+
+
+  <!-- ### SWIMLANE ####################################################### -->
+  <class name="SwimlaneImpl">
+    <id name="dbid" column="DBID_">
+      <generator class="native" />
+    </id>
+    <version name="dbversion" column="DBVERSION_" />
+    
+    <property name="name" column="NAME_"/>
+    <property name="assignee" column="ASSIGNEE_"/>
+
+    <many-to-one name="swimlaneDefinition"
+                 class="SwimlaneDefinitionImpl" 
+                 column="SWIMLANEDEF_" 
+                 foreign-key="FK_SWIMLANE_DEF" />
+
+    <set name="participants" cascade="all-delete-orphan">
+      <key column="SWIMLANE_" />
+      <one-to-many class="ParticipantImpl" />
+    </set>
+    
+  </class>
+  
+  
+  <!-- ### QUERIES ######################################################## -->
+
+  <query name="findTasks">
+    <![CDATA[
+     select task
+     from org.jbpm.pvm.internal.task.TaskImpl as task
+    ]]>
+  </query>
+
+</hibernate-mapping>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.hbm.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.lifecycle.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.lifecycle.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.lifecycle.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,13 @@
+<task-lifecycle initial="open">
+  <state name="open">
+    <transition name="complete" to="completed" />
+    <transition name="suspend" to="suspended" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="suspended">
+    <transition name="resume" to="open" />
+    <transition name="cancel" to="cancelled" />
+  </state>
+  <state name="cancelled" />
+  <state name="completed" />
+</task-lifecycle>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.task.lifecycle.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.variable.types.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.variable.types.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.variable.types.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,34 @@
+<types>
+
+  <!-- types stored in a native column -->
+  <type name="string" class="java.lang.String" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="long"   class="java.lang.Long" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="double" class="java.lang.Double" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- types converted to a string -->
+  <type name="date"    class="java.util.Date" converter="org.jbpm.pvm.internal.type.converter.DateToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="boolean" class="java.lang.Boolean" converter="org.jbpm.pvm.internal.type.converter.BooleanToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+  <type name="char"    class="java.lang.Character" converter="org.jbpm.pvm.internal.type.converter.CharacterToStringConverter" variable-class="org.jbpm.pvm.internal.type.variable.StringVariable" />
+
+  <!-- types converted to a long -->
+  <type name="byte"    class="java.lang.Byte" converter="org.jbpm.pvm.internal.type.converter.ByteToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="short"   class="java.lang.Short" converter="org.jbpm.pvm.internal.type.converter.ShortToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+  <type name="integer" class="java.lang.Integer" converter="org.jbpm.pvm.internal.type.converter.IntegerToLongConverter" variable-class="org.jbpm.pvm.internal.type.variable.LongVariable" />
+
+  <!-- types converted to a double -->
+  <type name="float" class="java.lang.Float" converter="org.jbpm.pvm.internal.type.converter.FloatToDoubleConverter" variable-class="org.jbpm.pvm.internal.type.variable.DoubleVariable" />
+
+  <!-- byte[] and char[] -->
+  <type name="byte[]" class="[B" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+  <type name="char[]" class="[C" variable-class="org.jbpm.pvm.internal.type.variable.ClobVariable" />
+
+  <type name="hibernate-long-id"   class="hibernate" id-type="long" variable-class="org.jbpm.pvm.internal.type.variable.HibernateLongVariable" />
+  <type name="hibernate-string-id" class="hibernate" id-type="string" variable-class="org.jbpm.pvm.internal.type.variable.HibernateStringVariable" />
+
+  <type name="serializable" class="serializable" converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
+
+  <!-- TODO: add ejb3 entity bean support -->
+  <!-- TODO: add JCR activity support -->
+  <!-- TODO: add collection support -->
+  
+</types>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.variable.types.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.wire.bindings.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.wire.bindings.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,93 @@
+<wire-bindings>
+
+  <!-- ########################### -->
+  <!-- ### Descriptor bindings ### -->
+  <!-- ########################### -->
+  <!-- basic types -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TrueBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FalseBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CharBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.DoubleBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FloatBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IntBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ShortBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ByteBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.LongBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StringBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.NullBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ClassBinding" />
+  <!-- object and ref --> 
+  <binding class="org.jbpm.pvm.internal.wire.binding.ObjectBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JndiBinding" />
+  <!-- collections -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.ListBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SetBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.MapBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertiesBinding" />
+  <!-- environment refs -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentFactoryRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ContextRefBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionRefBinding" />
+  <!-- various specials -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.TransactionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobExecutorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobTestHelperBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ScriptManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.BusinessCalendarBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdGeneratorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthenticationBinding" />
+  <!-- hibernate bindings -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateConfigurationBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SeamHibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HibernateSessionFactoryBinding" />
+  <!-- sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.MessageSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TimerSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistorySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionFactoryBinding" />
+  <!-- db sessions -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.JobDbSessionBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskDbSessionBinding" />
+  
+  <!-- dynamic type mapping configuration  -->    
+  <binding class="org.jbpm.pvm.internal.wire.binding.TypesBinding" />
+  <!-- services  -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.CommandServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ProcessServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ExecutionServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.ManagementServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.IdentityServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.HistoryServiceBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.TaskServiceBinding" />
+  
+  <!-- deployers -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.DeployerManagerBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AssignFileTypesBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProcessBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.CheckProblemsBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SaveBinding" />
+
+  <!-- interceptors -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnvironmentInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.AuthorizationInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.RetryInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.StandardTransactionInterceptorBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SerializeInterceptorBinding" />
+
+  <!-- operation -->
+  <binding class="org.jbpm.pvm.internal.wire.binding.PropertyBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.FieldBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.InvokeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.SubscribeBinding" />
+  <binding class="org.jbpm.pvm.internal.wire.binding.EnlistBinding" />
+
+  <!-- jpdl bindings -->
+  <binding class="org.jbpm.jpdl.internal.xml.ParseJpdlBinding" />
+
+</wire-bindings>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.wire.bindings.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm4/trunk/modules/test-db/src/test/resources/logging.properties
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/logging.properties	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -0,0 +1,18 @@
+handlers= java.util.logging.ConsoleHandler
+redirect.commons.logging = enabled
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
+
+org.jbpm.level=FINE
+# org.jbpm.pvm.internal.tx.level=FINE
+# org.jbpm.pvm.internal.wire.level=FINE
+# org.jbpm.pvm.internal.util.level=FINE
+
+org.hibernate.level=INFO
+org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
+# org.hibernate.SQL.level=FINEST
+# org.hibernate.type.level=FINEST
+# org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file

Modified: jbpm4/trunk/modules/test-pojo/src/main/resources/logging.properties
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/resources/logging.properties	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/modules/test-pojo/src/main/resources/logging.properties	2009-03-18 08:06:35 UTC (rev 4269)
@@ -1,28 +1,18 @@
 handlers= java.util.logging.ConsoleHandler
-# to add the error triggered file handler
-# handlers= java.util.logging.ConsoleHandler org.jbpm.util.ErrorTriggeredFileHandler
-
 redirect.commons.logging = enabled
 
-java.util.logging.ConsoleHandler.level = FINEST
+java.util.logging.ConsoleHandler.level = FINE
 java.util.logging.ConsoleHandler.formatter = org.jbpm.internal.log.LogFormatter
 
-# org.jbpm.util.ErrorTriggeredFileHandler.size = 500
-# org.jbpm.util.ErrorTriggeredFileHandler.push = OFF
-# org.jbpm.util.ErrorTriggeredFileHandler.pattern = %h/jbpm%u.log
-
-# For example, set the com.xyz.foo logger to only log SEVERE messages:
-# com.xyz.foo.level = SEVERE
-
-org.jbpm.level=INFO
+org.jbpm.level=FINE
 # org.jbpm.pvm.internal.tx.level=FINE
 # org.jbpm.pvm.internal.wire.level=FINE
 # org.jbpm.pvm.internal.util.level=FINE
 
 org.hibernate.level=INFO
-org.hibernate.cfg.HbmBinder.level=SEVERE
 org.hibernate.cfg.SettingsFactory.level=SEVERE
+org.hibernate.cfg.HbmBinder.level=SEVERE
 # org.hibernate.SQL.level=FINEST
 # org.hibernate.type.level=FINEST
 # org.hibernate.tool.hbm2ddl.SchemaExport.level=FINEST
-# org.hibernate.transaction.level=FINEST
+# org.hibernate.transaction.level=FINEST
\ No newline at end of file

Modified: jbpm4/trunk/pom.xml
===================================================================
--- jbpm4/trunk/pom.xml	2009-03-18 02:36:13 UTC (rev 4268)
+++ jbpm4/trunk/pom.xml	2009-03-18 08:06:35 UTC (rev 4269)
@@ -32,14 +32,12 @@
   <modules>
     <module>modules/log</module>
     <module>modules/api</module>
+    <module>modules/test-base</module>
     <module>modules/pvm</module>
+    <module>modules/jpdl</module>
     <module>modules/examples</module>
-    <module>modules/jpdl</module>
-    <module>modules/enterprise</module>     
-    <module>modules/test-base</module>
     <module>modules/test-db</module>
     <module>modules/test-pojo</module>
-    <module>modules/db</module>
   </modules>
 
   <!-- Properties -->
@@ -51,7 +49,7 @@
     <hibernate.version>3.2.6.ga</hibernate.version>
     <hibernate.annotations.version>3.3.1.GA</hibernate.annotations.version>
     <hsqldb.version>1.8.0.7</hsqldb.version>
-    <izpack.version>4.1.0</izpack.version>
+    <izpack.version>4.2.1</izpack.version>
     <jboss.identity.version>1.0.0-SNAPSHOT</jboss.identity.version>
     <jboss.j2ee.version>4.2.2.GA</jboss.j2ee.version>
     <jbossesb.version>4.4.0.GA</jbossesb.version>
@@ -75,6 +73,8 @@
   <!-- DependencyManagement -->
   <dependencyManagement>
     <dependencies>
+    
+      <!-- Core engine components -->
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
         <artifactId>jbpm-api</artifactId>
@@ -82,25 +82,68 @@
       </dependency>
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
-        <artifactId>jbpm-log</artifactId>
+        <artifactId>jbpm-db</artifactId>
         <version>${version}</version>
       </dependency>
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
-        <artifactId>jbpm-test-base</artifactId>
+        <artifactId>jbpm-enterprise</artifactId>      
         <version>${version}</version>
       </dependency>
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-enterprise</artifactId>
+        <classifier>config</classifier>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-examples</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-jboss5</artifactId>
+        <version>${version}</version>
+      </dependency>
+       <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-jboss5</artifactId>
+        <classifier>config</classifier>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-jpdl</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-log</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
         <artifactId>jbpm-pvm</artifactId>
         <version>${version}</version>
       </dependency>
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
-        <artifactId>jbpm-db</artifactId>
+        <artifactId>jbpm-spi</artifactId>
         <version>${version}</version>
       </dependency>
-
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-test-base</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-test-db</artifactId>
+        <version>${version}</version>
+      </dependency>
+      
+    
       <!-- GWT console -->
       <dependency>
         <groupId>org.jboss.bpm</groupId>
@@ -126,6 +169,7 @@
         <scope>provided</scope>
       </dependency>
 
+      <!-- GPD -->
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
         <artifactId>jbpm-gpd</artifactId>
@@ -133,6 +177,7 @@
         <version>${version}</version>
       </dependency>
 
+      <!-- External dependencies -->
       <!-- Please sort by groupid -->
       <dependency>
         <groupId>org.apache.ant</groupId>
@@ -190,6 +235,11 @@
         <version>${jboss.client.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.jboss.client</groupId>
+        <artifactId>jboss-client</artifactId>
+        <version>${jboss.client.version}</version>
+      </dependency>
+      <dependency>
         <groupId>juel</groupId>
         <artifactId>juel</artifactId>
         <version>${juel.version}</version>
@@ -281,12 +331,6 @@
 
   <!-- Plugins -->
   <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
     <plugins>
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
@@ -319,6 +363,9 @@
               <value>${project.build.directory}</value>
             </property>
           </systemProperties>
+          <excludes>
+            <exclude>**/*TestCase.java</exclude>
+          </excludes>
         </configuration>
       </plugin>
 
@@ -337,10 +384,6 @@
           <artifactId>maven-assembly-plugin</artifactId>
           <version>2.2-beta-2</version>
         </plugin>
-        <!--
-          <plugin> <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-dependency-plugin</artifactId> </plugin>
-        -->
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
@@ -371,10 +414,11 @@
     <profile>
       <id>distro</id>
       <modules>
+        <module>modules/enterprise</module>
         <module>modules/integration</module>
         <module>modules/devguide</module>
+        <module>modules/userguide</module>
         <module>modules/distro</module>
-        <module>modules/userguide</module>
       </modules>
       <build>
         <plugins>
@@ -430,11 +474,7 @@
         </plugins>
       </build>
     </profile>
-
-    <!--
-       Name:  no-database
-       Descr: Setup the default database
-       -->
+    
     <profile>
       <id>no-database</id>
       <activation>
@@ -442,9 +482,6 @@
           <name>!database</name>
         </property>
       </activation>
-      <properties>
-        <database>hsqldb</database>
-      </properties>
       <dependencies>
         <dependency>
           <groupId>hsqldb</groupId>
@@ -454,28 +491,6 @@
       </dependencies>
     </profile>
 
-    <!--
-        Name:  hsqldb
-        Descr: Hypersonic Database Setup
-        -->
-    <profile>
-      <id>hsqldb</id>
-      <activation>
-        <property>
-          <name>database</name>
-          <value>hsqldb</value>
-        </property>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>hsqldb</groupId>
-          <artifactId>hsqldb</artifactId>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-    </profile>
-
-
     <!-- -Ddatabase=oracle -->
     <profile>
       <id>oracle</id>




More information about the jbpm-commits mailing list