[jbpm-commits] JBoss JBPM SVN: r4953 - in jbpm4/trunk/modules: api/src/parked and 34 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sat May 30 13:11:58 EDT 2009


Author: tom.baeyens at jboss.com
Date: 2009-05-30 13:11:58 -0400 (Sat, 30 May 2009)
New Revision: 4953

Added:
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/DbSessionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/DbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/MessageSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/RepositorySession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/TimerSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DbSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/DbSessionDescriptor.java
Removed:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/DbSession.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/MessageSession.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/PvmDbSession.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/RepositorySession.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TaskDbSession.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TimerSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateTaskDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobDbSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JobDbSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PvmDbSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TaskDbSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateJobDbSessionDescriptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernatePvmDbSessionDescriptor.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateTaskDbSessionDescriptor.java
Modified:
   jbpm4/trunk/modules/api/src/parked/cfg.xsd
   jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-ExecutionModes.xml
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbTimerSession.java
   jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/ExecuteTimerCmd.java
   jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/InsertCommentCmd.java
   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/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailListener.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java
   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/AddTaskCommentCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AssignTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CancelTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteCommentCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteDeploymentCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessDefinitionCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessInstance.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/EndProcessInstance.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionsCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindLatestProcessDefinitionByKeyCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionByIdCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionKeysCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionsByKeyCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetActivityCoordinates.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetOutcomes.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCommentsCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariableNamesCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariablesCmd.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/SendMessageCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SetVariablesCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jms/JmsMessageSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/GetNextDueDateCmd.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExceptionHandler.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorMessageSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.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/op/ExecuteActivityMessage.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteEventListenerMessage.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/SignalMessage.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/TransitionStartActivityMessage.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/AsyncCommandService.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/type/variable/BlobVariable.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TimerSessionBinding.java
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml
   jbpm4/trunk/modules/pvm/src/main/resources/jbpm.wire.bindings.xml
   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/test/EnvironmentDbTestCase.java
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml
   jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml
   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/test/spring/jbpm.cfg.xml
   jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java
   jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceMessageTest.java
   jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceTestCommand.java
   jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingMessageTest.java
   jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingTestCommand.java
   jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/NormalMessageTest.java
Log:
JBPM-2048 simplify the DbSession and moved all Sessions to the implementation

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/DbSession.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/DbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/DbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,39 +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.api.session;
-
-
-/**
- * @author Tom Baeyens
- */
-public interface DbSession {
-
-  void save(Object entity);
-  void merge(Object entity);
-  <T> T get(Class<T> entityClass, Object primaryKey);
-  void delete(Object entity);
-
-  void flush();
-  void forceVersionUpdate(Object entity);
-  void lockPessimistically(Object entity);
-
-}

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/MessageSession.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/MessageSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/MessageSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,33 +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.api.session;
-
-import org.jbpm.api.job.Message;
-
-
-/**
- * @author Tom Baeyens
- */
-public interface MessageSession {
-
-  void send(Message message);
-}

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/PvmDbSession.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/PvmDbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/PvmDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,96 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.api.session;
-
-import java.util.List;
-
-import org.jbpm.api.client.ClientExecution;
-import org.jbpm.api.client.ClientProcessDefinition;
-import org.jbpm.api.job.Job;
-import org.jbpm.api.job.Message;
-import org.jbpm.api.job.Timer;
-
-/**
- * @author Tom Baeyens
- */
-public interface PvmDbSession extends DbSession {
-  
-  // process definition queries ///////////////////////////////////////////////
-
-  /** all deployed process names. */
-  List<String> findProcessDefinitionKeys();
-
-  /** latest version of the processDefinition for the given key. */
-  ClientProcessDefinition findLatestProcessDefinitionByKey(String processDefinitionKey);
-
-  /** all versions of the processDefinition for the given key. */
-  List<ClientProcessDefinition> findProcessDefinitionsByKey(String processDefinitionKey);
-
-  /** the process definition uniquely identified by the given 
-   * processDefinition id. */
-  ClientProcessDefinition findProcessDefinitionById(String processDefinitionId);
-
-  /** the first key for an existing process definition with the given processDefinitionName
-  * @returns null in case no such processDefinitionName exists */
-  String findProcessDefinitionKeyByName(String processDefinitionName);
-
-  /** the first name for an existing process definition with the given processDefinitionKey 
-   * @returns null in case no such processDefinitionKey exists */
-  String findProcessDefinitionNameByKey(String processDefinitionKey);
-
-  /** delete process definition */
-  void deleteProcessDefinition(String processDefinitionId, boolean deleteProcessInstances, boolean deleteHistory);
-
-  // process execution queries ////////////////////////////////////////////////
-
-  /** the execution uniquely identified by the given executionKey. */ 
-  ClientExecution findExecutionById(String executionId);
-
-  /** the process instance uniquely identified by the given executionKey. */ 
-  ClientExecution findProcessInstanceById(String processInstanceId);
-
-  /** the execution uniquely identified by the given processDefinition name 
-   * and the execution key. */
-  ClientExecution findExecutionByKey(String processDefinitionName, String executionKey);
-  
-  /* find ids for all process instances for a given process definition. */
-  List<String> findProcessInstanceIds(String processDefinitionId);
-
-  /** delete the process instance including the history. */
-  void deleteProcessInstance(String processInstanceId);
-
-  /** delete the process instance and optionally deletes the history. */
-  void deleteProcessInstance(String processInstanceId, boolean deleteHistory);
-
-  // job queries //////////////////////////////////////////////////////////////
-
-  /** timers */
-  List<Timer> findTimers(int firstResult, int maxResults);
-  
-  /** timers */
-  List<Message> findMessages(int firstResult, int maxResults);
-  
-  /** the jobs for which all the retries have failed and which will not be 
-   * picked up any more by the jobImpl executor */
-  public List<Job> findJobsWithException(int firstResult, int maxResults);
-
-}

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/RepositorySession.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/RepositorySession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/RepositorySession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,47 +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.api.session;
-
-import java.io.InputStream;
-
-import org.jbpm.api.Deployment;
-import org.jbpm.api.ProcessDefinitionQuery;
-import org.jbpm.api.client.ClientProcessDefinition;
-
-
-/**
- * @author Tom Baeyens
- */
-public interface RepositorySession {
-
-  long deploy(Deployment deployment);
-
-  Object getObject(long deploymentDbid, String objectName);
-
-  InputStream getResourceAsStream(long deploymentDbid, String resourceName);
-
-  ProcessDefinitionQuery createProcessDefinitionQuery();
-
-  ClientProcessDefinition findProcessDefinitionById(String processDefinitionId);
-
-  ClientProcessDefinition findProcessDefinitionByKey(String processDefinitionKey);
-}

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TaskDbSession.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TaskDbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TaskDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,42 +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.api.session;
-
-import org.jbpm.api.Execution;
-import org.jbpm.api.task.Task;
-
-/** 
- * Persistence interface for tasks.
- * @author Alejandro Guizar
- */
-public interface TaskDbSession extends DbSession {
-  
-  Task createTask();
-
-  Task findTaskByDbid(long taskDbid);
-
-  void saveTask(Task task);
-
-  void deletingExecution(Execution execution);
-
-  Task findTaskByExecution(Execution execution);
-}

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TimerSession.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TimerSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TimerSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,60 +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.api.session;
-
-import java.util.List;
-
-import org.jbpm.api.Execution;
-import org.jbpm.api.job.Timer;
-
-/**
- * @author Tom Baeyens, Pascal Verdage
- */
-public interface TimerSession {
-
-  /** Schedule the execution of a timer.
-   * 
-   * @param timerImpl
-   *          the timer to be executed.
-   * @throws IllegalArgumentException
-   *           if the timer is null or if its activity is null or if its dueDate
-   *           is null or if its dueDate is negative or if its dueDate is past
-   *           or if its dueDate is equals to Long.MAX_VALUE
-   */
-  void schedule(Timer timer);
-
-  /** Cancels a timer. <br />
-   * If a transaction is in progress, the cancellation will be effective at the
-   * end of the transaction. If the timer has been created in the same
-   * transaction or if there is no transaction, the cancellation is immediately
-   * effective. <br />
-   * If the timer is executing when the cancellation becomes effective, the
-   * execution in progress will not be stopped.
-   * 
-   * @param timerImpl
-   *          the timer to be cancelled.
-   */
-  void cancel(Timer timer);
-
-  /** retrieve all the outstanding timers associated for the given execution */ 
-  List<Timer> findTimersByExecution(Execution execution);
-}

Modified: jbpm4/trunk/modules/api/src/parked/cfg.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/parked/cfg.xsd	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/api/src/parked/cfg.xsd	2009-05-30 17:11:58 UTC (rev 4953)
@@ -305,22 +305,6 @@
 	  </complexType>
   </element>
   
-  <element name="job-db-session">
-    <annotation><documentation>A hibernate based JobDbSession</documentation></annotation>
-	  <complexType>
-	    <attribute name="name" type="string">
-	      <annotation><documentation>The name of the object.  It's optional and serves 
-	      as an id to refer to this object from other object declarations.  This name can 
-	      also be used lookup the object programmatically.</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="session" type="string" />
-	  </complexType>
-  </element>
-  
   <element name="job-executor">
     <annotation><documentation>The default component for executing timers and messages.
     A job-executor requires a CommandService.  
@@ -467,7 +451,7 @@
     interface that sends messages to the JobExecutor.  The main usage of MessageSession 
     is by the PVM implementation for asynchronous continuations.  The PVM will look 
     up the message session by type.  All message-session implementations depend on a 
-    DbSession like e.g. the 'pvm-db-session'.  A DbSession will be looked up by type.
+    DbSession like e.g. the 'db-session'.  A DbSession will be looked up by type.
     </documentation></annotation>
 	  <complexType>
 	    <attribute name="name" type="string">
@@ -630,7 +614,7 @@
 	  </complexType>
   </element>
 
-  <element name="pvm-db-session">
+  <element name="db-session">
     <annotation><documentation>A hibernate based PvmDbSession</documentation></annotation>
 	  <complexType>
 	    <attribute name="name" type="string">
@@ -753,7 +737,7 @@
 	      <code>job-executor</code> when the job executor is responsible for executing the 
 	      timers (default).  Use <code>ejb</code> in case the EJB Timer Service should be used.
 	      If the target is job-executor, there is a dependency on the transaction, the job-executor
-	      and a job-db-session. 
+	      and a db-session. 
 	      </documentation></annotation>
 	      <simpleType>
 	        <restriction base="string">
@@ -1117,7 +1101,7 @@
       <element ref="tns:message-session" />
       <element ref="tns:null" />
       <element ref="tns:object" />
-      <element ref="tns:pvm-db-session" />
+      <element ref="tns:db-session" />
       <element ref="tns:properties" />
       <element ref="tns:ref" />
       <element ref="tns:set" />

Modified: jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-ExecutionModes.xml
===================================================================
--- jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-ExecutionModes.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/chxx-ExecutionModes.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -150,8 +150,7 @@
   &lt;transaction-context&gt;
     &lt;hibernate-session /&gt;
     &lt;transaction /&gt;
-    &lt;pvm-db-session /&gt;
-    &lt;job-db-session /&gt;
+    &lt;db-session /&gt;
     &lt;message-session /&gt;
   &lt;/transaction-context&gt;
 

Modified: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbTimerSession.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbTimerSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/EjbTimerSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -30,9 +30,9 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.job.Timer;
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.TimerSession;
 import org.jbpm.internal.log.Log;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.TimerSession;
 
 /**
  * Timer session based on the EJB 2.1 timer service.

Modified: jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/ExecuteTimerCmd.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/ExecuteTimerCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/enterprise/src/main/java/org/jbpm/enterprise/internal/ejb/ExecuteTimerCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -25,9 +25,9 @@
 
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.TimerImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**

Modified: jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/InsertCommentCmd.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/InsertCommentCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/InsertCommentCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -25,8 +25,8 @@
 
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Alejandro Guizar

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/EjbTimerSessionTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -33,13 +33,13 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.TimerSession;
 import org.jbpm.enterprise.internal.custom.HappyListener;
 import org.jbpm.enterprise.internal.custom.WaitState;
 import org.jbpm.pvm.internal.builder.ProcessDefinitionBuilder;
 import org.jbpm.pvm.internal.cmd.StartProcessInstanceCmd;
 import org.jbpm.pvm.internal.job.TimerImpl;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.TimerSession;
 import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
 import org.jbpm.test.enterprise.EnvironmentServletTestCase;
 import org.jbpm.test.enterprise.IntegrationTestSetup;

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/ejb/TimerTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -35,7 +35,6 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.enterprise.internal.custom.HappyListener;
 import org.jbpm.enterprise.internal.custom.NoisyListener;
 import org.jbpm.enterprise.internal.custom.WaitState;
@@ -43,6 +42,7 @@
 import org.jbpm.pvm.internal.builder.ProcessDefinitionBuilder;
 import org.jbpm.pvm.internal.job.TimerImpl;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
 import org.jbpm.test.enterprise.EnvironmentServletTestCase;
 import org.jbpm.test.enterprise.IntegrationTestSetup;

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailListener.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailListener.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailListener.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,10 +28,10 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.listener.EventListener;
 import org.jbpm.api.listener.EventListenerExecution;
-import org.jbpm.api.session.TaskDbSession;
 import org.jbpm.api.task.Task;
 import org.jbpm.pvm.internal.email.spi.MailProducer;
 import org.jbpm.pvm.internal.email.spi.MailSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Alejandro Guizar
@@ -46,7 +46,9 @@
   public void notify(EventListenerExecution execution) throws Exception {
     // find current task
     Environment environment = Environment.getCurrent();
-    Task task = environment.get(TaskDbSession.class).findTaskByExecution(execution);
+    Task task = environment
+        .get(DbSession.class)
+        .findTaskByExecution(execution);
     // make task available to mail templates through execution variable
     // TODO find a cleaner way
     execution.setVariable(TASK_VARIABLE_NAME, task);

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,11 +29,11 @@
 import org.jbpm.api.env.Context;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Activity;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.jpdl.internal.model.JpdlExecution;
 import org.jbpm.pvm.internal.env.ExecutionContext;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.script.ScriptManager;
+import org.jbpm.pvm.internal.session.RepositorySession;
 import org.jbpm.pvm.internal.task.SwimlaneImpl;
 
 

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,11 +28,11 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Activity;
 import org.jbpm.api.model.Transition;
-import org.jbpm.api.session.TaskDbSession;
 import org.jbpm.api.task.Task;
 import org.jbpm.api.task.TaskHandler;
 import org.jbpm.jpdl.internal.model.JpdlExecution;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
@@ -67,7 +67,8 @@
     
     execution.fire(signalName, activity);
 
-    TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
+    DbSession taskDbSession = Environment
+        .getFromCurrent(DbSession.class);
     TaskImpl task = (TaskImpl) taskDbSession.findTaskByExecution(execution);
     TaskHandler taskHandler = task.getTaskHandler();
     taskHandler.executionSignal(task);

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/model/JpdlExecution.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,12 +28,12 @@
 import org.hibernate.Session;
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
 import org.jbpm.api.task.Assignable;
 import org.jbpm.api.task.AssignmentHandler;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.script.ScriptManager;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.AssignableDefinitionImpl;
 import org.jbpm.pvm.internal.task.ParticipationImpl;
 import org.jbpm.pvm.internal.task.SwimlaneDefinitionImpl;
@@ -76,8 +76,8 @@
   // tasks ////////////////////////////////////////////////////////////////////
 
   public TaskImpl createTask(TaskDefinitionImpl taskDefinition) {
-    TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
-    TaskImpl task = (TaskImpl) taskDbSession.createTask();
+    DbSession dbSession = Environment.getFromCurrent(DbSession.class);
+    TaskImpl task = (TaskImpl) dbSession.createTask();
     task.setTaskDefinition(taskDefinition);
     task.setExecution(this);
     task.setProcessInstance(processInstance);
@@ -95,7 +95,7 @@
     task.setForm(taskDefinition.getForm());
     
     // save task so that TaskDbSession.findTaskByExecution works for assign event listeners
-    taskDbSession.saveTask(task);
+    dbSession.saveTask(task);
     
     SwimlaneDefinitionImpl swimlaneDefinition = taskDefinition.getSwimlaneDefinition();
     if (swimlaneDefinition!=null) {

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/repository/JpdlDeployer.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -27,13 +27,13 @@
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.jpdl.internal.model.JpdlProcessDefinition;
 import org.jbpm.jpdl.internal.xml.JpdlParser;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.repository.Deployer;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
+import org.jbpm.pvm.internal.session.RepositorySession;
 import org.jbpm.pvm.internal.xml.Parse;
 
 

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddReplyCommentCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -25,8 +25,8 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddTaskCommentCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddTaskCommentCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AddTaskCommentCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,7 +24,7 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.DbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AssignTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AssignTaskCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/AssignTaskCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,7 +23,7 @@
 
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 
@@ -50,8 +50,8 @@
   }
 
   public Void execute(Environment environment) {
-    TaskDbSession taskDbession = environment.get(TaskDbSession.class);
-    TaskImpl task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
+    DbSession dbSession = environment.get(DbSession.class);
+    TaskImpl task = (TaskImpl) dbSession.findTaskByDbid(taskDbid);
     if (task==null) {
       throw new JbpmException("task "+taskDbid+" does not exist");
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CancelTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CancelTaskCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CancelTaskCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,8 +24,8 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.api.task.Assignable;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,7 +22,7 @@
 package org.jbpm.pvm.internal.cmd;
 
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 /**
@@ -41,14 +41,14 @@
   }
 
   public Void execute(Environment environment) throws Exception {
-    TaskDbSession taskDbession = environment.get(TaskDbSession.class);
-    TaskImpl task = (TaskImpl) taskDbession.findTaskByDbid(taskDbid);
+    DbSession dbSession = environment.get(DbSession.class);
+    TaskImpl task = (TaskImpl) dbSession.findTaskByDbid(taskDbid);
     if (outcome==null) {
       task.complete();
     } else {
       task.complete(outcome);
     }
-    taskDbession.delete(task);
+    dbSession.delete(task);
     return null;
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteCommentCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteCommentCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteCommentCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,8 +24,8 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteDeploymentCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteDeploymentCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteDeploymentCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,10 +28,10 @@
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
 import org.jbpm.pvm.internal.repository.RepositoryCache;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 
 /**
@@ -59,14 +59,14 @@
       .deploymentDbid(deploymentDbid)
       .list();
     
-    PvmDbSession pvmDbSession = environment.get(PvmDbSession.class); 
+    DbSession dbSession = environment.get(DbSession.class); 
 
     for (ProcessDefinition processDefinition: processDefinitions) {
       String processDefinitionId = processDefinition.getId();
-      List<String> processInstanceIds = pvmDbSession.findProcessInstanceIds(processDefinitionId);
+      List<String> processInstanceIds = dbSession.findProcessInstanceIds(processDefinitionId);
       if (cascade) {
         for (String processInstanceId: processInstanceIds) {
-          pvmDbSession.deleteProcessInstance(processInstanceId, false);
+          dbSession.deleteProcessInstance(processInstanceId, false);
         }
       } else {
         if (!processInstanceIds.isEmpty()) {

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessDefinitionCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessDefinitionCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessDefinitionCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,10 +22,9 @@
 package org.jbpm.pvm.internal.cmd;
 
 import org.jbpm.api.JbpmException;
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
-import org.jbpm.pvm.internal.wire.binding.PvmDbSessionBinding;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.wire.binding.DbSessionBinding;
 
 
 /**
@@ -50,11 +49,11 @@
   }
 
   public Void execute(Environment environment) {
-    PvmDbSession pvmDbSession = Environment.getFromCurrent(PvmDbSession.class);
-    if (pvmDbSession==null) {
-      throw new JbpmException("no "+PvmDbSessionBinding.TAG+" configured");
+    DbSession dbSession = Environment.getFromCurrent(DbSession.class);
+    if (dbSession==null) {
+      throw new JbpmException("no "+DbSessionBinding.TAG+" configured");
     }
-    pvmDbSession.deleteProcessDefinition(processDefinitionId, deleteProcessInstances, deleteHistory);
+    dbSession.deleteProcessDefinition(processDefinitionId, deleteProcessInstances, deleteHistory);
     return null;
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessInstance.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessInstance.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeleteProcessInstance.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,9 +21,8 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -40,8 +39,8 @@
   }
 
   public Void execute(Environment environment) throws Exception {
-    PvmDbSession pvmDbSession = Environment.getFromCurrent(PvmDbSession.class);
-    pvmDbSession.deleteProcessInstance(processInstanceId);
+    DbSession dbSession = Environment.getFromCurrent(DbSession.class);
+    dbSession.deleteProcessInstance(processInstanceId);
     return null;
   }
 

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/DeployCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,8 +23,8 @@
 
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/EndProcessInstance.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/EndProcessInstance.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/EndProcessInstance.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,10 +21,9 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -44,8 +43,8 @@
   }
 
   public Object execute(Environment environment) throws Exception {
-    PvmDbSession pvmDbSession = Environment.getFromCurrent(PvmDbSession.class);
-    ExecutionImpl processInstance = (ExecutionImpl) pvmDbSession.findProcessInstanceById(processInstanceId);
+    DbSession dbSession = Environment.getFromCurrent(DbSession.class);
+    ExecutionImpl processInstance = (ExecutionImpl) dbSession.findProcessInstanceById(processInstanceId);
     processInstance.end(state);
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/ExecuteJobCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,7 +24,6 @@
 import java.util.Date;
 
 import org.jbpm.api.JbpmException;
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.env.Transaction;
@@ -32,8 +31,8 @@
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.env.JobContext;
 import org.jbpm.pvm.internal.job.JobImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
 import org.jbpm.pvm.internal.jobexecutor.JobExceptionHandler;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 
@@ -53,11 +52,11 @@
   }
 
   public Job execute(Environment environment) throws Exception {
-  	JobDbSession session = environment.get(JobDbSession.class);
-  	if (session==null) {
-  	  throw new JbpmException("no job session configured to get job "+jobDbid+" for execution");
+  	DbSession dbSession = environment.get(DbSession.class);
+  	if (dbSession==null) {
+  	  throw new JbpmException("no db-session configured");
   	}
-    JobImpl<?> job = (JobImpl<?>) session.get(JobImpl.class, jobDbid);
+    JobImpl<?> job = (JobImpl<?>) dbSession.get(JobImpl.class, jobDbid);
 
   	// in case of decision jobs, the job might have been deleted
   	// before we execute it (they are in a list)

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,9 +23,8 @@
 
 import org.jbpm.api.Execution;
 import org.jbpm.api.JbpmException;
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -58,11 +57,11 @@
   }
 
   public Execution execute(Environment environment) throws Exception {
-    PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
+    DbSession dbSession = environment.get(DbSession.class);
     if (executionId!=null) {
-      return pvmDbSession.findExecutionById(executionId);
+      return dbSession.findExecutionById(executionId);
     } 
-    Execution execution = pvmDbSession.findExecutionByKey(processDefinitionName, executionKey);
+    Execution execution = dbSession.findExecutionByKey(processDefinitionName, executionKey);
     return execution;
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionsCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionsCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindExecutionsCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,7 +29,7 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.client.ClientExecution;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -52,8 +52,8 @@
   public List<Execution> execute(Environment environment) throws Exception {
     List<Execution> executions = new ArrayList<Execution>();
     
-    PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
-    ClientExecution execution = pvmDbSession.findExecutionById(executionId);
+    DbSession dbSession = environment.get(DbSession.class);
+    ClientExecution execution = dbSession.findExecutionById(executionId);
     scanExecutions(execution, executions);
     
     return executions;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindLatestProcessDefinitionByKeyCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindLatestProcessDefinitionByKeyCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindLatestProcessDefinitionByKeyCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,10 +22,9 @@
 package org.jbpm.pvm.internal.cmd;
 
 import org.jbpm.api.ProcessDefinition;
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.OpenProcessDefinition;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -42,6 +41,8 @@
   }
 
   public OpenProcessDefinition execute(Environment environment) throws Exception {
-    return environment.get(PvmDbSession.class).findLatestProcessDefinitionByKey(processDefinitionKey);
+    return environment
+        .get(DbSession.class)
+        .findLatestProcessDefinitionByKey(processDefinitionKey);
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionByIdCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionByIdCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionByIdCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,10 +21,9 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.OpenProcessDefinition;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -41,6 +40,8 @@
   }
 
   public OpenProcessDefinition execute(Environment environment) throws Exception {
-    return environment.get(PvmDbSession.class).findProcessDefinitionById(processDefinitionId);
+    return environment
+        .get(DbSession.class)
+        .findProcessDefinitionById(processDefinitionId);
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionKeysCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionKeysCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionKeysCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,9 +23,8 @@
 
 import java.util.List;
 
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -36,7 +35,9 @@
   private static final long serialVersionUID = 1L;
 
   public List<String> execute(Environment environment) throws Exception {
-    return environment.get(PvmDbSession.class).findProcessDefinitionKeys();
+    return environment
+        .get(DbSession.class)
+        .findProcessDefinitionKeys();
   }
 
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionsByKeyCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionsByKeyCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/FindProcessDefinitionsByKeyCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,9 +24,8 @@
 import java.util.List;
 
 import org.jbpm.api.client.ClientProcessDefinition;
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -43,6 +42,8 @@
   }
 
   public List<ClientProcessDefinition> execute(Environment environment) throws Exception {
-    return environment.get(PvmDbSession.class).findProcessDefinitionsByKey(processDefinitionKey);
+    return environment
+        .get(DbSession.class)
+        .findProcessDefinitionsByKey(processDefinitionKey);
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetActivityCoordinates.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetActivityCoordinates.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetActivityCoordinates.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -25,9 +25,9 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.ActivityCoordinates;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.pvm.internal.model.ActivityImpl;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetOutcomes.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetOutcomes.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetOutcomes.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,10 +29,10 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Transition;
-import org.jbpm.api.session.PvmDbSession;
 import org.jbpm.api.task.Task;
 import org.jbpm.pvm.internal.model.ActivityImpl;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 
@@ -50,8 +50,8 @@
   }
 
   public Set<String> execute(Environment environment) {
-    PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
-    TaskImpl task = pvmDbSession.get(TaskImpl.class, taskDbid);
+    DbSession dbSession = environment.get(DbSession.class);
+    TaskImpl task = dbSession.get(TaskImpl.class, taskDbid);
     if (task==null) {
       throw new JbpmException("task "+taskDbid+" doesn't exist");
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetResourceAsStreamCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,7 +24,7 @@
 import java.io.InputStream;
 
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,10 +21,9 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
 import org.jbpm.api.task.Task;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Alejandro Guizar
@@ -40,7 +39,7 @@
   }
 
   public Task execute(Environment environment) throws Exception {
-    TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
-    return taskDbSession.findTaskByDbid(taskDbid);
+    DbSession dbSession = environment.get(DbSession.class);
+    return dbSession.findTaskByDbid(taskDbid);
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCommentsCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCommentsCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetTaskCommentsCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -27,7 +27,7 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.DbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariableNamesCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariableNamesCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariableNamesCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -26,8 +26,7 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.client.ClientExecution;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
-import org.jbpm.api.session.TaskDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 
@@ -54,13 +53,13 @@
 
   public Set<String> execute(Environment environment) throws Exception {
     if (executionId!=null) {
-      PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
-      ClientExecution execution = pvmDbSession.findExecutionById(executionId);
+      DbSession dbSession = environment.get(DbSession.class);
+      ClientExecution execution = dbSession.findExecutionById(executionId);
       return execution.getVariableKeys();
 
     } else {
-      TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
-      TaskImpl task = (TaskImpl) taskDbSession.findTaskByDbid(taskDbid);
+      DbSession dbSession = environment.get(DbSession.class);
+      TaskImpl task = (TaskImpl) dbSession.findTaskByDbid(taskDbid);
       return task.getVariableKeys();
     }
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariablesCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariablesCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/GetVariablesCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,8 +28,7 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.client.ClientExecution;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
-import org.jbpm.api.session.TaskDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 /**
@@ -63,16 +62,16 @@
     Map<String, Object> variables = new HashMap<String, Object>();
 
     if (executionId!=null) {
-      PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
-      ClientExecution execution = pvmDbSession.findExecutionById(executionId);
+      DbSession dbSession = environment.get(DbSession.class);
+      ClientExecution execution = dbSession.findExecutionById(executionId);
       for (String variableName : variableNames) {
         Object value = execution.getVariable(variableName);
         variables.put(variableName, value);
       }
 
     } else {
-      TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
-      TaskImpl task = (TaskImpl) taskDbSession.findTaskByDbid(taskDbid);
+      DbSession dbSession = environment.get(DbSession.class);
+      TaskImpl task = (TaskImpl) dbSession.findTaskByDbid(taskDbid);
       for (String variableName : variableNames) {
         Object value = task.getVariable(variableName);
         variables.put(variableName, value);

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/NewTaskCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,8 +22,8 @@
 package org.jbpm.pvm.internal.cmd;
 
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
 import org.jbpm.api.task.Task;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 /**
@@ -40,8 +40,8 @@
   }
 
   public Task execute(Environment environment) throws Exception {
-    TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
-    TaskImpl task = (TaskImpl) taskDbSession.createTask();
+    DbSession dbSession = environment.get(DbSession.class);
+    TaskImpl task = (TaskImpl) dbSession.createTask();
     task.setSuperTaskDbid(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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SaveTaskCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,7 +22,7 @@
 package org.jbpm.pvm.internal.cmd;
 
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 /**
@@ -39,9 +39,9 @@
   }
 
   public Long execute(Environment environment) throws Exception {
-    TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
+    DbSession dbSession = environment.get(DbSession.class);
     
-    taskDbSession.saveTask(task);
+    dbSession.saveTask(task);
     
     return task.getDbid();
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SendMessageCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SendMessageCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SendMessageCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,7 +24,7 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.job.Message;
-import org.jbpm.api.session.MessageSession;
+import org.jbpm.pvm.internal.session.MessageSession;
 
 /** sends a given message to the configured message service.
  * 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SetVariablesCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SetVariablesCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SetVariablesCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,12 +21,10 @@
  */
 package org.jbpm.pvm.internal.cmd;
 
-import java.util.Map;
-
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.client.ClientExecution;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.TaskDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.task.TaskImpl;
 
 
@@ -57,8 +55,8 @@
       execution.setVariables(variables);
     
     } else {
-      TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
-      TaskImpl task = (TaskImpl) taskDbSession.findTaskByDbid(taskDbid);
+      DbSession dbSession = environment.get(DbSession.class);
+      TaskImpl task = (TaskImpl) dbSession.findTaskByDbid(taskDbid);
       task.setVariables(variables);
     }
    

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -27,7 +27,7 @@
 import org.jbpm.api.ProcessInstance;
 import org.jbpm.api.client.ClientExecution;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Tom Baeyens
@@ -52,8 +52,8 @@
   public ProcessInstance execute(Environment environment) throws Exception {
     ClientExecution execution = null;
     
-    PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
-    execution = pvmDbSession.findExecutionById(executionId);
+    DbSession dbSession = environment.get(DbSession.class);
+    execution = dbSession.findExecutionById(executionId);
     if (execution==null) {
       throw new JbpmException("execution "+executionId+" does not exist");
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,7 +29,7 @@
 import org.jbpm.api.client.ClientProcessDefinition;
 import org.jbpm.api.client.ClientProcessInstance;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 /**
  * @author Tom Baeyens

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,7 +29,7 @@
 import org.jbpm.api.client.ClientProcessDefinition;
 import org.jbpm.api.client.ClientProcessInstance;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 /**
  * @author Tom Baeyens

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -27,7 +27,7 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.client.ClientExecution;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Tom Baeyens
@@ -58,7 +58,7 @@
   }
 
   protected ClientExecution getExecution(Environment environment, String executionId) {
-    PvmDbSession dbSession = environment.get(PvmDbSession.class);
+    DbSession dbSession = environment.get(DbSession.class);
     ClientExecution execution = dbSession.findExecutionById(executionId);
     if (execution == null) {
       throw new JbpmException("execution " + executionId + " doesn't exist");

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/DbSessionImpl.java (from rev 4950, jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateDbSession.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/DbSessionImpl.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/DbSessionImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -0,0 +1,382 @@
+/*
+ * 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.hibernate;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.hibernate.LockMode;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.metadata.ClassMetadata;
+import org.jbpm.api.Execution;
+import org.jbpm.api.JbpmException;
+import org.jbpm.api.ProcessDefinition;
+import org.jbpm.api.client.ClientExecution;
+import org.jbpm.api.client.ClientProcessDefinition;
+import org.jbpm.api.history.HistoryProcessInstance;
+import org.jbpm.api.task.Task;
+import org.jbpm.internal.log.Log;
+import org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl;
+import org.jbpm.pvm.internal.job.JobImpl;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.query.HistoryProcessInstanceQueryImpl;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.svc.DefaultCommandService;
+import org.jbpm.pvm.internal.task.SwimlaneImpl;
+import org.jbpm.pvm.internal.task.TaskImpl;
+import org.jbpm.pvm.internal.util.Clock;
+
+/**
+ * @author Tom Baeyens
+ */
+public class DbSessionImpl implements DbSession {
+  
+  private static Log log = Log.getLog(DbSessionImpl.class.getName());
+
+  protected Session session;
+
+  public void close() {
+    session.close();
+  }
+
+  public <T> T get(Class<T> entityClass, Object primaryKey) {
+    return entityClass.cast(session.get(entityClass, (Serializable) primaryKey));
+  }
+
+  public void flush() {
+    session.flush();
+  }
+
+  public void forceVersionUpdate(Object entity) {
+    session.lock(entity, LockMode.FORCE);
+  }
+
+  public void lockPessimistically(Object entity) {
+    session.lock(entity, LockMode.UPGRADE);
+  }
+
+  public void save(Object entity) {
+    session.save(entity);
+  }
+
+  public void merge(Object entity) {
+    session.merge(entity);
+  }
+
+  public void delete(Object entity) {
+    session.delete(entity);
+  }
+
+  public Session getSession() {
+    return session;
+  }
+
+  public void setSession(Session session) {
+    this.session = session;
+  }
+
+  public List<String> findProcessDefinitionKeys() {
+    return session.getNamedQuery("findProcessDefinitionKeys").list();
+  }
+
+  public ClientProcessDefinition findLatestProcessDefinitionByKey(String processDefinitionKey) {
+    Query query = session.getNamedQuery("findProcessDefinitionsByKey");
+    query.setString("key", processDefinitionKey);
+    query.setMaxResults(1);
+    ClientProcessDefinition processDefinition = (ClientProcessDefinition) query.uniqueResult();
+    return processDefinition;
+  }
+
+  public List<ClientProcessDefinition> findProcessDefinitionsByKey(String processDefinitionKey) {
+    Query query = session.getNamedQuery("findProcessDefinitionsByKey");
+    query.setString("key", processDefinitionKey);
+    return query.list();
+  }
+
+  public ClientProcessDefinition findProcessDefinitionById(String processDefinitionId) {
+    Query query = session.getNamedQuery("findProcessDefinitionById");
+    query.setString("id", processDefinitionId);
+    query.setMaxResults(1);
+    ClientProcessDefinition processDefinition = (ClientProcessDefinition) query.uniqueResult();
+    return processDefinition;
+  }
+
+  public void deleteProcessDefinition(String processDefinitionId, boolean deleteProcessInstances, boolean deleteHistory) {
+    List<String> processInstanceIds = findProcessInstanceIds(processDefinitionId);
+    
+    if ( deleteHistory
+         // and if hibernate knows about the history class
+         && (isHistoryEnabled())
+       ) {
+      List<HistoryProcessInstance> historyProcessInstances = new HistoryProcessInstanceQueryImpl(new DefaultCommandService())
+        .processDefinitionId(processDefinitionId)
+        .list();
+      
+      for (HistoryProcessInstance historyProcessInstance : historyProcessInstances) {
+        session.delete(historyProcessInstance);
+      }
+    }
+    
+    if (deleteProcessInstances) {
+      for (String processInstanceId : processInstanceIds) {
+        deleteProcessInstance(processInstanceId);
+      }
+    } else {
+      if (processInstanceIds.size()>0) {
+        throw new JbpmException("still "+processInstanceIds.size()+" process instances for process definition "+processDefinitionId);
+      }
+    }
+    
+    ProcessDefinition processDefinition = findProcessDefinitionById(processDefinitionId);
+    session.delete(processDefinition);
+  }
+
+  public boolean isHistoryEnabled() {
+    ClassMetadata historyHibernateMetadata = session.getSessionFactory().getClassMetadata(HistoryProcessInstanceImpl.class);
+    return historyHibernateMetadata!=null;
+  }
+
+
+  // process execution queries ////////////////////////////////////////////////
+
+  public ClientExecution findExecutionById(String executionId) {
+    // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
+    Query query = session.getNamedQuery("findExecutionById");
+    query.setString("id", executionId);
+    query.setMaxResults(1);
+    return (ClientExecution) query.uniqueResult();
+  }
+
+  public ClientExecution findProcessInstanceById(String processInstanceId) {
+    // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
+    Query query = session.getNamedQuery("findProcessInstanceById");
+    query.setString("processInstanceId", processInstanceId);
+    query.setMaxResults(1);
+    return (ClientExecution) query.uniqueResult();
+  }
+
+  public ClientExecution findExecutionByKey(String processDefinitionName, String executionKey) {
+    // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
+    Query query = session.getNamedQuery("findExecutionByKey");
+    query.setString("processDefinitionName", processDefinitionName);
+    query.setString("executionKey", executionKey);
+    query.setMaxResults(1);
+    return (ClientExecution) query.uniqueResult();
+  }
+  
+    public List<String> findProcessInstanceIds(String processDefinitionId) {
+    // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
+    Query query = session.createQuery(
+      "select processInstance.id " +
+      "from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance " +
+      "where processInstance.processDefinitionId = :processDefinitionId " +
+      "  and processInstance.parent is null"
+    );
+    query.setString("processDefinitionId", processDefinitionId);
+    return query.list();
+  }
+
+  public void deleteProcessInstance(String processInstanceId) {
+    deleteProcessInstance(processInstanceId, true);
+  }
+
+  public void deleteProcessInstance(String processInstanceId, boolean deleteHistory) {
+    if (processInstanceId==null) {
+      throw new JbpmException("processInstanceId is null");
+    }
+    
+    // if history should be deleted 
+    if ( deleteHistory 
+         && (isHistoryEnabled())
+       ) {
+      // try to get the history 
+      HistoryProcessInstanceImpl historyProcessInstance = (HistoryProcessInstanceImpl) 
+          session.get(HistoryProcessInstanceImpl.class, processInstanceId);
+  
+      // if there is a history process instance in the db
+      if (historyProcessInstance!=null) {
+        if (log.isDebugEnabled()) {
+          log.debug("deleting history process instance "+processInstanceId);
+        }
+        session.delete(historyProcessInstance);
+      }
+    }
+    
+    ExecutionImpl processInstance = (ExecutionImpl) findProcessInstanceById(processInstanceId);
+    if (processInstance!=null) {
+      // delete remaining tasks for this process instance
+      List<TaskImpl> tasks = findTasks(processInstanceId);
+      for (TaskImpl task: tasks) {
+        session.delete(task);
+      }
+
+      // delete remaining jobs for this process instance
+      List<JobImpl> jobs = findJobs(processInstanceId);
+      for (JobImpl job: jobs) {
+        session.delete(job);
+      }
+
+      if (log.isDebugEnabled()) {
+        log.debug("deleting process instance "+processInstanceId);
+      }
+
+      // process language specific delete operations
+      processInstance.deleting();
+      
+      session.delete(processInstance);
+    }
+  }
+
+  List<TaskImpl> findTasks(String processInstanceId) {
+    Query query = session.createQuery(
+      "select task " +
+      "from "+TaskImpl.class.getName()+" as task " +
+      "where task.processInstance.id = :processInstanceId"
+    );
+    query.setString("processInstanceId", processInstanceId);
+    return query.list();
+  }
+
+  List<JobImpl> findJobs(String processInstanceId) {
+    Query query = session.createQuery(
+      "select job " +
+      "from "+JobImpl.class.getName()+" as job " +
+      "where job.execution.processInstance.id = :processInstanceId"
+    );
+    query.setString("processInstanceId", processInstanceId);
+    return query.list();
+  }
+  
+  public void cascadeExecutionSuspend(ExecutionImpl execution) {
+    // cascade suspend to jobs
+    Query query = session.createQuery(
+      "select job " +
+      "from "+JobImpl.class.getName()+" as job " +
+      "where job.execution = :execution " +
+      "  and job.state != '"+JobImpl.STATE_SUSPENDED+"' "
+    );
+    query.setEntity("execution", execution);
+    List<JobImpl> jobs = query.list();
+    for (JobImpl job: jobs) {
+      job.suspend();
+    }
+
+    // cascade suspend to tasks
+    query = session.createQuery(
+      "select task " +
+      "from "+TaskImpl.class.getName()+" as task " +
+      "where task.execution = :execution " +
+      "  and task.state != '"+Task.STATE_SUSPENDED+"' "
+    );
+    query.setEntity("execution", execution);
+    List<TaskImpl> tasks = query.list();
+    for (TaskImpl task: tasks) {
+      task.suspend();
+    }
+  }
+
+  public void cascadeExecutionResume(ExecutionImpl execution) {
+    // cascade suspend to jobs
+    Query query = session.createQuery(
+      "select job " +
+      "from "+JobImpl.class.getName()+" as job " +
+      "where job.execution = :execution " +
+      "  and job.state = '"+Task.STATE_SUSPENDED+"' "
+    );
+    query.setEntity("execution", execution);
+    List<JobImpl> jobs = query.list();
+    for (JobImpl job: jobs) {
+      job.resume();
+    }
+
+    // cascade suspend to tasks
+    query = session.createQuery(
+      "select task " +
+      "from "+TaskImpl.class.getName()+" as task " +
+      "where task.execution = :execution " +
+      "  and task.state = '"+Task.STATE_SUSPENDED+"' "
+    );
+    query.setEntity("execution", execution);
+    List<TaskImpl> tasks = query.list();
+    for (TaskImpl task: tasks) {
+      task.resume();
+    }
+  }
+
+  public Task createTask() {
+    TaskImpl task = newTask();
+    task.setCreate(Clock.getCurrentTime());
+    return task;
+  }
+
+  protected TaskImpl newTask() {
+    return new TaskImpl();
+  }
+
+  public TaskImpl findTaskByDbid(long taskDbid) {
+    return (TaskImpl) session.get(TaskImpl.class, taskDbid);
+  }
+
+
+  public Task findTaskByExecution(Execution execution) {
+    Query query = session.createQuery(
+      "select task " +
+      "from "+TaskImpl.class.getName()+" as task " +
+      "where task.execution = :execution"
+    );
+    query.setEntity("execution", execution);
+    return (Task) query.uniqueResult();
+  }
+  
+  public void saveTask(Task task) {
+    TaskImpl taskImpl = (TaskImpl) task;
+    
+    if (taskImpl.getSuperTaskDbid()!=null) {
+      TaskImpl parentTask = (TaskImpl) session.load(TaskImpl.class, taskImpl.getSuperTaskDbid());
+      parentTask.addSubTask(taskImpl);
+      taskImpl.setSuperTaskDbid(null);
+    }
+    
+    session.saveOrUpdate(task);
+  }
+  
+  public JobImpl<?> findFirstAcquirableJob() {
+    Query query = session.getNamedQuery("findFirstAcquirableJob");
+    query.setTimestamp("now", Clock.getCurrentTime());
+    query.setMaxResults(1);
+    return (JobImpl<?>) query.uniqueResult();
+  }
+
+  public List<JobImpl<?>> findExclusiveJobs(Execution processInstance) {
+    Query query = session.getNamedQuery("findExclusiveJobs");
+    query.setTimestamp("now", Clock.getCurrentTime());
+    query.setEntity("processInstance", processInstance);
+    return query.list();
+  }
+
+  public JobImpl<?> findFirstDueJob() {
+    Query query = session.getNamedQuery("findFirstDueJob");
+    query.setMaxResults(1);
+    return (JobImpl<?>) query.uniqueResult();
+  }
+}


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

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateDbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,76 +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.hibernate;
-
-import java.io.Serializable;
-
-import org.hibernate.LockMode;
-import org.hibernate.Session;
-import org.jbpm.api.session.DbSession;
-
-/**
- * @author Tom Baeyens
- */
-public class HibernateDbSession implements DbSession {
-
-  protected Session session;
-
-  public void close() {
-    session.close();
-  }
-
-  public <T> T get(Class<T> entityClass, Object primaryKey) {
-    return entityClass.cast(session.get(entityClass, (Serializable) primaryKey));
-  }
-
-  public void flush() {
-    session.flush();
-  }
-
-  public void forceVersionUpdate(Object entity) {
-    session.lock(entity, LockMode.FORCE);
-  }
-
-  public void lockPessimistically(Object entity) {
-    session.lock(entity, LockMode.UPGRADE);
-  }
-
-  public void save(Object entity) {
-    session.save(entity);
-  }
-
-  public void merge(Object entity) {
-    session.merge(entity);
-  }
-
-  public void delete(Object entity) {
-    session.delete(entity);
-  }
-
-  public Session getSession() {
-    return session;
-  }
-
-  public void setSession(Session session) {
-    this.session = session;
-  }
-}

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateJobDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,60 +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.hibernate;
-
-import java.util.List;
-
-import org.hibernate.Query;
-import org.jbpm.api.Execution;
-import org.jbpm.pvm.internal.job.JobImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
-import org.jbpm.pvm.internal.util.Clock;
-
-/**
- * @author Tom Baeyens
- */
-public class HibernateJobDbSession extends HibernateDbSession implements JobDbSession {
-  
-  public JobImpl<?> findFirstAcquirableJob() {
-    Query query = session.getNamedQuery("findFirstAcquirableJob");
-    query.setTimestamp("now", Clock.getCurrentTime());
-    query.setMaxResults(1);
-    return (JobImpl<?>) query.uniqueResult();
-  }
-
-  public List<JobImpl<?>> findExclusiveJobs(Execution processInstance) {
-    Query query = session.getNamedQuery("findExclusiveJobs");
-    query.setTimestamp("now", Clock.getCurrentTime());
-    query.setEntity("processInstance", processInstance);
-    return query.list();
-  }
-
-  public JobImpl<?> findFirstDueJob() {
-    Query query = session.getNamedQuery("findFirstDueJob");
-    query.setMaxResults(1);
-    return (JobImpl<?>) query.uniqueResult();
-  }
-
-  public JobImpl<?> getJob(long jobId) {
-    return JobImpl.class.cast(session.get(JobImpl.class, jobId));
-  }
-}

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernatePvmDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,364 +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.hibernate;
-
-import java.util.List;
-
-import org.hibernate.Query;
-import org.hibernate.metadata.ClassMetadata;
-import org.jbpm.api.Execution;
-import org.jbpm.api.JbpmException;
-import org.jbpm.api.ProcessDefinition;
-import org.jbpm.api.client.ClientExecution;
-import org.jbpm.api.client.ClientProcessDefinition;
-import org.jbpm.api.env.Environment;
-import org.jbpm.api.history.HistoryProcessInstance;
-import org.jbpm.api.job.Job;
-import org.jbpm.api.job.Message;
-import org.jbpm.api.job.Timer;
-import org.jbpm.api.session.PvmDbSession;
-import org.jbpm.api.session.TimerSession;
-import org.jbpm.api.task.Task;
-import org.jbpm.internal.log.Log;
-import org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl;
-import org.jbpm.pvm.internal.job.JobImpl;
-import org.jbpm.pvm.internal.job.TimerImpl;
-import org.jbpm.pvm.internal.model.ExecutionImpl;
-import org.jbpm.pvm.internal.query.HistoryProcessInstanceQueryImpl;
-import org.jbpm.pvm.internal.svc.DefaultCommandService;
-import org.jbpm.pvm.internal.task.TaskImpl;
-
-/**
- * @author Tom Baeyens
- */
-public class HibernatePvmDbSession extends HibernateDbSession implements PvmDbSession {
-  
-  private static final Log log = Log.getLog(HibernatePvmDbSession.class.getName());
-  
-  public HibernatePvmDbSession() {
-  }
-
-  // process definition queries ///////////////////////////////////////////////  
-
-  public List<String> findProcessDefinitionKeys() {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    return session.getNamedQuery("findProcessDefinitionKeys").list();
-  }
-
-  public ClientProcessDefinition findLatestProcessDefinitionByKey(String processDefinitionKey) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionsByKey");
-    query.setString("key", processDefinitionKey);
-    query.setMaxResults(1);
-    ClientProcessDefinition processDefinition = (ClientProcessDefinition) query.uniqueResult();
-    return processDefinition;
-  }
-
-  public List<ClientProcessDefinition> findProcessDefinitionsByKey(String processDefinitionKey) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionsByKey");
-    query.setString("key", processDefinitionKey);
-    return query.list();
-  }
-
-  public ClientProcessDefinition findProcessDefinitionById(String processDefinitionId) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionById");
-    query.setString("id", processDefinitionId);
-    query.setMaxResults(1);
-    ClientProcessDefinition processDefinition = (ClientProcessDefinition) query.uniqueResult();
-    return processDefinition;
-  }
-  
-  public String findProcessDefinitionKeyByName(String processDefinitionName) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionKeysByName");
-    query.setString("name", processDefinitionName);
-    query.setMaxResults(1);
-    return (String) query.uniqueResult();
-  }
-
-  public String findProcessDefinitionNameByKey(String processDefinitionKey) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionNamesByKey");
-    query.setString("key", processDefinitionKey);
-    query.setMaxResults(1);
-    return (String) query.uniqueResult();
-  }
-
-  public void deleteProcessDefinition(String processDefinitionId, boolean deleteProcessInstances, boolean deleteHistory) {
-    List<String> processInstanceIds = findProcessInstanceIds(processDefinitionId);
-    
-    if ( deleteHistory
-         // and if hibernate knows about the history class
-         && (isHistoryEnabled())
-       ) {
-      List<HistoryProcessInstance> historyProcessInstances = new HistoryProcessInstanceQueryImpl(new DefaultCommandService())
-        .processDefinitionId(processDefinitionId)
-        .list();
-      
-      for (HistoryProcessInstance historyProcessInstance : historyProcessInstances) {
-        session.delete(historyProcessInstance);
-      }
-    }
-    
-    if (deleteProcessInstances) {
-      for (String processInstanceId : processInstanceIds) {
-        deleteProcessInstance(processInstanceId);
-      }
-    } else {
-      if (processInstanceIds.size()>0) {
-        throw new JbpmException("still "+processInstanceIds.size()+" process instances for process definition "+processDefinitionId);
-      }
-    }
-    
-    ProcessDefinition processDefinition = findProcessDefinitionById(processDefinitionId);
-    session.delete(processDefinition);
-  }
-
-  // process execution queries ////////////////////////////////////////////////  
-  
-  public List<ClientProcessDefinition> findProcessDefinitionsByName(String processDefinitionName) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionsByName");
-    query.setString("name", processDefinitionName);
-    return query.list();
-  }
-
-  public ClientProcessDefinition findProcessDefinitionByName(String processDefinitionName, int version) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionByNameAndVersion");
-    query.setString("name", processDefinitionName);
-    query.setInteger("version", version);
-    ClientProcessDefinition processDefinition = (ClientProcessDefinition) query.uniqueResult();
-    return processDefinition;
-  }
-
-  public ClientProcessDefinition findLatestProcessDefinitionByName(String processDefinitionName) {
-    // query definition can be found at the bottom of resource jbpm.pvm.definition.hbm.xml
-    Query query = session.getNamedQuery("findProcessDefinitionsByName");
-    query.setString("name", processDefinitionName);
-    query.setMaxResults(1);
-    ClientProcessDefinition processDefinition = (ClientProcessDefinition) query.uniqueResult();
-    return processDefinition;
-  }
-  
-  public ClientExecution findExecutionById(String executionId) {
-    // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
-    Query query = session.getNamedQuery("findExecutionById");
-    query.setString("id", executionId);
-    query.setMaxResults(1);
-    return (ClientExecution) query.uniqueResult();
-  }
-
-  public ClientExecution findExecutionByKey(String processDefinitionName, String executionKey) {
-    // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
-    Query query = session.getNamedQuery("findExecutionByKey");
-    query.setString("processDefinitionName", processDefinitionName);
-    query.setString("executionKey", executionKey);
-    query.setMaxResults(1);
-    return (ClientExecution) query.uniqueResult();
-  }
-  
-  public ClientExecution findProcessInstanceById(String processInstanceId) {
-    // query definition can be found at the bottom of resource jbpm.pvm.execution.hbm.xml
-    Query query = session.getNamedQuery("findProcessInstanceById");
-    query.setString("processInstanceId", processInstanceId);
-    query.setMaxResults(1);
-    return (ClientExecution) query.uniqueResult();
-  }
-
-  public List<Timer> findTimers(int firstResult, int maxResults) {
-    // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
-    Query query = session.getNamedQuery("findTimers");
-    query.setFirstResult(firstResult);
-    query.setMaxResults(maxResults);
-    return query.list();
-  }
-  
-  public List<Message> findMessages(int firstResult, int maxResults) {
-    // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
-    Query query = session.getNamedQuery("findMessages");
-    query.setFirstResult(firstResult);
-    query.setMaxResults(maxResults);
-    return query.list();
-  }
-  
-  public List<Job> findJobsWithException(int firstResult, int maxResults) {
-    // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
-    Query query = session.getNamedQuery("findJobsWithException");
-    query.setFirstResult(firstResult);
-    query.setMaxResults(maxResults);
-    return query.list();
-  }
-
-  public List<String> findProcessInstanceIds(String processDefinitionId) {
-    // query definition can be found at the bottom of resource jbpm.pvm.job.hbm.xml
-    Query query = session.createQuery(
-      "select processInstance.id " +
-      "from org.jbpm.pvm.internal.model.ExecutionImpl as processInstance " +
-      "where processInstance.processDefinitionId = :processDefinitionId " +
-      "  and processInstance.parent is null"
-    );
-    query.setString("processDefinitionId", processDefinitionId);
-    return query.list();
-  }
-
-  public void deleteProcessInstance(String processInstanceId) {
-    deleteProcessInstance(processInstanceId, true);
-  }
-
-  public void deleteProcessInstance(String processInstanceId, boolean deleteHistory) {
-    if (processInstanceId==null) {
-      throw new JbpmException("processInstanceId is null");
-    }
-    
-    // if history should be deleted 
-    if ( deleteHistory 
-         && (isHistoryEnabled())
-       ) {
-      // try to get the history 
-      HistoryProcessInstanceImpl historyProcessInstance = (HistoryProcessInstanceImpl) 
-          session.get(HistoryProcessInstanceImpl.class, processInstanceId);
-  
-      // if there is a history process instance in the db
-      if (historyProcessInstance!=null) {
-        if (log.isDebugEnabled()) {
-          log.debug("deleting history process instance "+processInstanceId);
-        }
-        session.delete(historyProcessInstance);
-      }
-    }
-    
-    ExecutionImpl processInstance = (ExecutionImpl) findProcessInstanceById(processInstanceId);
-    if (processInstance!=null) {
-      // delete remaining tasks for this process instance
-      List<TaskImpl> tasks = findTasks(processInstanceId);
-      for (TaskImpl task: tasks) {
-        session.delete(task);
-      }
-
-      // delete remaining jobs for this process instance
-      List<JobImpl> jobs = findJobs(processInstanceId);
-      for (JobImpl job: jobs) {
-        session.delete(job);
-      }
-
-      if (log.isDebugEnabled()) {
-        log.debug("deleting process instance "+processInstanceId);
-      }
-
-      // process language specific delete operations
-      processInstance.deleting();
-      
-      session.delete(processInstance);
-    }
-  }
-
-  public void cascadeExecutionSuspend(ExecutionImpl execution) {
-    // cascade suspend to jobs
-    Query query = session.createQuery(
-      "select job " +
-      "from "+JobImpl.class.getName()+" as job " +
-      "where job.execution = :execution " +
-      "  and job.state != '"+JobImpl.STATE_SUSPENDED+"' "
-    );
-    query.setEntity("execution", execution);
-    List<JobImpl> jobs = query.list();
-    for (JobImpl job: jobs) {
-      job.suspend();
-    }
-
-    // cascade suspend to tasks
-    query = session.createQuery(
-      "select task " +
-      "from "+TaskImpl.class.getName()+" as task " +
-      "where task.execution = :execution " +
-      "  and task.state != '"+Task.STATE_SUSPENDED+"' "
-    );
-    query.setEntity("execution", execution);
-    List<TaskImpl> tasks = query.list();
-    for (TaskImpl task: tasks) {
-      task.suspend();
-    }
-  }
-
-  public void cascadeExecutionResume(ExecutionImpl execution) {
-    // cascade suspend to jobs
-    Query query = session.createQuery(
-      "select job " +
-      "from "+JobImpl.class.getName()+" as job " +
-      "where job.execution = :execution " +
-      "  and job.state = '"+Task.STATE_SUSPENDED+"' "
-    );
-    query.setEntity("execution", execution);
-    List<JobImpl> jobs = query.list();
-    for (JobImpl job: jobs) {
-      job.resume();
-    }
-
-    // cascade suspend to tasks
-    query = session.createQuery(
-      "select task " +
-      "from "+TaskImpl.class.getName()+" as task " +
-      "where task.execution = :execution " +
-      "  and task.state = '"+Task.STATE_SUSPENDED+"' "
-    );
-    query.setEntity("execution", execution);
-    List<TaskImpl> tasks = query.list();
-    for (TaskImpl task: tasks) {
-      task.resume();
-    }
-  }
-
-  List<TaskImpl> findTasks(String processInstanceId) {
-    Query query = session.createQuery(
-      "select task " +
-      "from "+TaskImpl.class.getName()+" as task " +
-      "where task.processInstance.id = :processInstanceId"
-    );
-    query.setString("processInstanceId", processInstanceId);
-    return query.list();
-  }
-
-  List<JobImpl> findJobs(String processInstanceId) {
-    Query query = session.createQuery(
-      "select job " +
-      "from "+JobImpl.class.getName()+" as job " +
-      "where job.execution.processInstance.id = :processInstanceId"
-    );
-    query.setString("processInstanceId", processInstanceId);
-    return query.list();
-  }
-
-  /** see if hibernate knows about the history class */
-  public boolean isHistoryEnabled() {
-    ClassMetadata historyHibernateMetadata = session.getSessionFactory().getClassMetadata(HistoryProcessInstanceImpl.class);
-    return historyHibernateMetadata!=null;
-  }
-
-  public List<String> findHistoryProcessInstanceIds(String processDefinitionId) {
-    Query query = session.getNamedQuery("findHistoryProcessInstanceIds");
-    query.setString("processDefinitionId", processDefinitionId);
-    return query.list();
-  }
-}

Deleted: 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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/hibernate/HibernateTaskDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,110 +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.hibernate;
-
-import org.hibernate.Query;
-
-import org.jbpm.api.Execution;
-import org.jbpm.api.session.TaskDbSession;
-import org.jbpm.api.task.Task;
-import org.jbpm.internal.log.Log;
-import org.jbpm.pvm.internal.task.SwimlaneImpl;
-import org.jbpm.pvm.internal.task.TaskImpl;
-import org.jbpm.pvm.internal.util.Clock;
-
-/**
- * @author Alejandro Guizar
- */
-public class HibernateTaskDbSession extends HibernateDbSession implements TaskDbSession {
-  
-  private static Log log = Log.getLog(HibernateTaskDbSession.class.getName());
-
-  public TaskImpl findTaskByDbid(long taskDbid) {
-    return (TaskImpl) session.get(TaskImpl.class, taskDbid);
-  }
-
-  public void saveTask(Task task) {
-    TaskImpl taskImpl = (TaskImpl) task;
-    
-    if (taskImpl.getSuperTaskDbid()!=null) {
-      TaskImpl parentTask = (TaskImpl) session.load(TaskImpl.class, taskImpl.getSuperTaskDbid());
-      parentTask.addSubTask(taskImpl);
-      taskImpl.setSuperTaskDbid(null);
-    }
-    
-    session.saveOrUpdate(task);
-  }
-
-  public Task createTask() {
-    TaskImpl task = newTask();
-    task.setCreate(Clock.getCurrentTime());
-    return task;
-  }
-
-  /** override to customize task type */
-  protected TaskImpl newTask() {
-    return new TaskImpl();
-  }
-
-  public void deletingExecution(Execution execution) {
-    deleteTasks(execution);
-    deleteSwimlanes(execution);
-  }
-
-  public void deleteSwimlanes(Execution execution) {
-    Query query = session.createQuery(
-      "select swimlane " +
-      "from "+SwimlaneImpl.class.getName()+" as swimlane " +
-      "where swimlane.execution = :execution"
-    );
-    query.setEntity("execution", execution);
-    
-    for (Object swimlane: query.list()) {
-      log.trace("deleting "+swimlane);
-      session.delete(swimlane);
-    }
-  }
-
-  public void deleteTasks(Execution execution) {
-    Query query = session.createQuery(
-      "select task " +
-      "from "+TaskImpl.class.getName()+" as task " +
-      "where task.execution = :execution"
-    );
-    query.setEntity("execution", execution);
-    
-    for (Object task: query.list()) {
-      log.trace("deleting "+task);
-      session.delete(task);
-    }
-  }
-
-  public Task findTaskByExecution(Execution execution) {
-    Query query = session.createQuery(
-      "select task " +
-      "from "+TaskImpl.class.getName()+" as task " +
-      "where task.execution = :execution"
-    );
-    query.setEntity("execution", execution);
-    return (Task) query.uniqueResult();
-  }
-}

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jms/JmsMessageSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jms/JmsMessageSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jms/JmsMessageSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,8 +28,8 @@
 
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.job.Message;
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.MessageSession;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.MessageSession;
 
 /** message service implementation based on JMS.
  * @author Tom Baeyens

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,7 +24,7 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.wire.Descriptor;
 
 
@@ -50,8 +50,8 @@
     Command<?> command = (Command<?>) getConfiguration();
     command.execute(environment);
     
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
-    jobDbSession.delete(this);
+    DbSession dbSession = environment.get(DbSession.class);
+    dbSession.delete(this);
 
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,14 +29,13 @@
 import org.jbpm.api.env.Transaction;
 import org.jbpm.api.job.Timer;
 import org.jbpm.api.model.ObservableElement;
-import org.jbpm.api.session.TimerSession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.cal.BusinessCalendar;
 import org.jbpm.pvm.internal.cal.Duration;
-import org.jbpm.pvm.internal.env.JobContext;
 import org.jbpm.pvm.internal.jobexecutor.JobAddedNotification;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
 import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.TimerSession;
 import org.jbpm.pvm.internal.util.Clock;
 
 /** a runtime timer instance.
@@ -118,9 +117,9 @@
     if (repeat==null) {
       // delete the job
       if (log.isDebugEnabled()) log.debug("deleting " + this);
-      JobDbSession dbSession = environment.get(JobDbSession.class);
+      DbSession dbSession = environment.get(DbSession.class);
       if (dbSession==null) {
-        throw new JbpmException("no "+JobDbSession.class.getName()+" in environment"); 
+        throw new JbpmException("no "+DbSession.class.getName()+" in environment"); 
       }
       dbSession.delete(this);
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -32,6 +32,7 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.JobImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 /**
@@ -55,15 +56,15 @@
 
     Collection<JobImpl<?>> acquiredJobs = new ArrayList<JobImpl<?>>();
     
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
+    DbSession dbSession = environment.get(DbSession.class);
     log.debug("start querying first acquirable job...");
 
-    JobImpl<?> job = jobDbSession.findFirstAcquirableJob();
+    JobImpl<?> job = dbSession.findFirstAcquirableJob();
 
     if (job!=null) {
       if (job.isExclusive()) {
         log.trace("exclusive acquirable job found ("+job+"). querying for other exclusive jobs to lock them all in one tx...");
-        List<JobImpl<?>> otherExclusiveJobs = jobDbSession.findExclusiveJobs(job.getProcessInstance());
+        List<JobImpl<?>> otherExclusiveJobs = dbSession.findExclusiveJobs(job.getProcessInstance());
         acquiredJobs.addAll(otherExclusiveJobs);
       } else {
         acquiredJobs.add(job);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/GetNextDueDateCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/GetNextDueDateCmd.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/GetNextDueDateCmd.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -27,6 +27,7 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.JobImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 
 
@@ -48,8 +49,8 @@
   public Date execute(Environment environment) throws Exception {
     Date nextDueDate = null;
     log.debug("getting next due date...");
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
-    JobImpl<?> job = jobDbSession.findFirstDueJob();
+    DbSession dbSession = environment.get(DbSession.class);
+    JobImpl<?> job = dbSession.findFirstDueJob();
     if (job!=null) {
       nextDueDate = job.getDueDate();
     }

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobDbSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobDbSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobDbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,31 +0,0 @@
-package org.jbpm.pvm.internal.jobexecutor;
-
-import java.util.List;
-
-import org.jbpm.api.Execution;
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.MessageSession;
-import org.jbpm.pvm.internal.job.JobImpl;
-
-/** internal interface used by the job executor and the 
- * implementations of {@link MessageSession} and {@link TimerSession}.
- * 
- * So this session is only needed in case the {@link JobExecutor} is 
- * used to execute messages or timers.
- *  
- * @author Tom Baeyens, Pascal Verdage
- */
-public interface JobDbSession extends DbSession {
-
-  /** the job with the given id or null if none */
-  public JobImpl<?> getJob(long jobId);
-
-	/** the first job to finish among eligible and non-locked jobs or null if none */
-	public JobImpl<?> findFirstAcquirableJob();
-
-	/** the list of jobs of the process instance that mustn't be concurrent */
-	public List<JobImpl<?>> findExclusiveJobs(Execution processInstance);
-
-	/** the first job to finish among non-owned jobs or null if none */
-	public JobImpl<?> findFirstDueJob();
-}

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExceptionHandler.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExceptionHandler.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExceptionHandler.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -33,6 +33,7 @@
 import org.jbpm.api.env.Transaction;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.JobImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**  
  * @author Tom Baeyens
@@ -70,11 +71,11 @@
     log.debug("handling job "+jobDbid+" exception: "+exception.getMessage());
     
     // load the job from the db
-    JobDbSession session = environment.get(JobDbSession.class);
-    if (session==null) {
+    DbSession dbSession = environment.get(DbSession.class);
+    if (dbSession==null) {
       throw new JbpmException("no job-session configured to handle job");
     }
-    JobImpl<?> job = (JobImpl<?>) session.get(JobImpl.class, jobDbid);
+    JobImpl<?> job = (JobImpl<?>) dbSession.get(JobImpl.class, jobDbid);
     // serialize the stack trace
     StringWriter sw = new StringWriter();
     exception.printStackTrace(new PrintWriter(sw));

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorMessageSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorMessageSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorMessageSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,9 +24,9 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.env.Transaction;
 import org.jbpm.api.job.Message;
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.MessageSession;
 import org.jbpm.internal.log.Log;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.MessageSession;
 import org.jbpm.pvm.internal.util.ReflectUtil;
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTimerSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,9 +21,9 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.env.Transaction;
 import org.jbpm.api.job.Timer;
-import org.jbpm.api.session.TimerSession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.TimerImpl;
+import org.jbpm.pvm.internal.session.TimerSession;
 
 /**
  * Timers created with this service are committed at the end of the transaction,

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -30,7 +30,7 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.env.EnvironmentFactory;
 import org.jbpm.api.env.Transaction;
-import org.jbpm.api.session.DbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 
 public class ExceptionHandlerSynchronization implements Synchronization, Command<Object> {
 

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -50,13 +50,8 @@
 import org.jbpm.api.model.ObservableElement;
 import org.jbpm.api.model.OpenExecution;
 import org.jbpm.api.model.Transition;
-import org.jbpm.api.session.MessageSession;
-import org.jbpm.api.session.PvmDbSession;
-import org.jbpm.api.session.RepositorySession;
-import org.jbpm.api.session.TimerSession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.env.ExecutionContext;
-import org.jbpm.pvm.internal.hibernate.HibernatePvmDbSession;
 import org.jbpm.pvm.internal.history.HistoryEvent;
 import org.jbpm.pvm.internal.history.HistorySession;
 import org.jbpm.pvm.internal.history.events.ActivityEnd;
@@ -69,6 +64,10 @@
 import org.jbpm.pvm.internal.model.op.AtomicOperation;
 import org.jbpm.pvm.internal.model.op.MoveToChildActivity;
 import org.jbpm.pvm.internal.model.op.Signal;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.MessageSession;
+import org.jbpm.pvm.internal.session.RepositorySession;
+import org.jbpm.pvm.internal.session.TimerSession;
 import org.jbpm.pvm.internal.type.Variable;
 import org.jbpm.pvm.internal.util.EqualsUtil;
 import org.jbpm.pvm.internal.util.Priority;
@@ -350,9 +349,9 @@
         superProcessExecution.signal();
       }
       
-      PvmDbSession pvmDbSession = Environment.getFromCurrent(PvmDbSession.class, false);
-      if (pvmDbSession!=null) {
-        pvmDbSession.deleteProcessInstance(id, false);
+      DbSession dbSession = Environment.getFromCurrent(DbSession.class, false);
+      if (dbSession!=null) {
+        dbSession.deleteProcessInstance(id, false);
       }
     }
   }
@@ -903,16 +902,16 @@
   public void suspend() {
     super.suspend();
     this.propagation = Propagation.EXPLICIT;
-    HibernatePvmDbSession hibernatePvmDbSession = Environment.getFromCurrent(HibernatePvmDbSession.class, false);
-    if (hibernatePvmDbSession!=null) {
-      hibernatePvmDbSession.cascadeExecutionSuspend(this);
+    DbSession dbSession = Environment.getFromCurrent(DbSession.class, false);
+    if (dbSession!=null) {
+      dbSession.cascadeExecutionSuspend(this);
     }
   }
 
   /** @see Execution#resume() */
   public void resume() {
     super.resume();
-    HibernatePvmDbSession hibernatePvmDbSession = Environment.getFromCurrent(HibernatePvmDbSession.class, false);
+    DbSession hibernatePvmDbSession = Environment.getFromCurrent(DbSession.class, false);
     if (hibernatePvmDbSession!=null) {
       hibernatePvmDbSession.cascadeExecutionResume(this);
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteActivityMessage.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteActivityMessage.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteActivityMessage.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,8 +23,8 @@
 
 import org.jbpm.api.env.Environment;
 import org.jbpm.pvm.internal.job.MessageImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Tom Baeyens
@@ -45,8 +45,8 @@
     
     execution.performAtomicOperationSync(AtomicOperation.EXECUTE_ACTIVITY);
 
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
-    jobDbSession.delete(this);
+    DbSession dbSession = environment.get(DbSession.class);
+    dbSession.delete(this);
 
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteEventListenerMessage.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteEventListenerMessage.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/ExecuteEventListenerMessage.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -26,13 +26,13 @@
 
 import org.jbpm.api.env.Environment;
 import org.jbpm.pvm.internal.job.MessageImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
 import org.jbpm.pvm.internal.model.ActivityImpl;
 import org.jbpm.pvm.internal.model.EventImpl;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.model.ObservableElementImpl;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.model.TransitionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Tom Baeyens
@@ -153,8 +153,8 @@
 
     execution.performAtomicOperationSync(AtomicOperation.EXECUTE_EVENT_LISTENER);
     
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
-    jobDbSession.delete(this);
+    DbSession dbSession = environment.get(DbSession.class);
+    dbSession.delete(this);
 
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/SignalMessage.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/SignalMessage.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/SignalMessage.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -26,9 +26,8 @@
 import org.jbpm.api.Execution;
 import org.jbpm.api.env.Environment;
 import org.jbpm.pvm.internal.job.MessageImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
-import org.jbpm.pvm.internal.model.ActivityImpl;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Tom Baeyens
@@ -55,8 +54,8 @@
     Signal signal = new Signal(signalName, parameters);
     execution.performAtomicOperationSync(signal);
     
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
-    jobDbSession.delete(this);
+    DbSession dbSession = environment.get(DbSession.class);
+    dbSession.delete(this);
 
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/TransitionStartActivityMessage.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/TransitionStartActivityMessage.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/TransitionStartActivityMessage.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,8 +23,8 @@
 
 import org.jbpm.api.env.Environment;
 import org.jbpm.pvm.internal.job.MessageImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 
 /**
  * @author Tom Baeyens
@@ -45,8 +45,8 @@
 
     execution.performAtomicOperationSync(AtomicOperation.TRANSITION_START_ACTIVITY);
     
-    JobDbSession jobDbSession = environment.get(JobDbSession.class);
-    jobDbSession.delete(this);
+    DbSession dbSession = environment.get(DbSession.class);
+    dbSession.delete(this);
 
     return null;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -31,10 +31,10 @@
 import org.jbpm.api.ProcessDefinitionQuery;
 import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
 import org.jbpm.pvm.internal.repository.DeploymentProperty;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 
 /** returns partially initialized ProcessDefinitionImpl's that can only be exposed 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -39,9 +39,9 @@
 import org.jbpm.api.JbpmException;
 import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.pvm.internal.cmd.DeployCmd;
 import org.jbpm.pvm.internal.lob.Lob;
+import org.jbpm.pvm.internal.session.RepositorySession;
 import org.jbpm.pvm.internal.stream.ByteArrayStreamInput;
 import org.jbpm.pvm.internal.stream.FileStreamInput;
 import org.jbpm.pvm.internal.stream.InputStreamInput;

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/RepositorySessionImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -33,11 +33,11 @@
 import org.jbpm.api.Problem;
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
-import org.jbpm.api.session.RepositorySession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl;
+import org.jbpm.pvm.internal.session.RepositorySession;
 
 /**
  * @author Tom Baeyens

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/DbSession.java (from rev 4950, jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/DbSession.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/DbSession.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/DbSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -0,0 +1,105 @@
+/*
+ * 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.session;
+
+import java.util.List;
+
+import org.jbpm.api.Execution;
+import org.jbpm.api.client.ClientExecution;
+import org.jbpm.api.client.ClientProcessDefinition;
+import org.jbpm.api.task.Task;
+import org.jbpm.pvm.internal.job.JobImpl;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public interface DbSession {
+
+  void save(Object entity);
+  <T> T get(Class<T> entityClass, Object primaryKey);
+  void delete(Object entity);
+  void flush();
+
+  /** all deployed process names. */
+  List<String> findProcessDefinitionKeys();
+
+  /** latest version of the processDefinition for the given key. */
+  ClientProcessDefinition findLatestProcessDefinitionByKey(String processDefinitionKey);
+
+  /** all versions of the processDefinition for the given key. */
+  List<ClientProcessDefinition> findProcessDefinitionsByKey(String processDefinitionKey);
+
+  /** the process definition uniquely identified by the given 
+   * processDefinition id. */
+  ClientProcessDefinition findProcessDefinitionById(String processDefinitionId);
+
+  /** delete process definition */
+  void deleteProcessDefinition(String processDefinitionId, boolean deleteProcessInstances, boolean deleteHistory);
+
+  // process execution queries ////////////////////////////////////////////////
+
+  /** the execution uniquely identified by the given executionKey. */ 
+  ClientExecution findExecutionById(String executionId);
+
+  /** the process instance uniquely identified by the given executionKey. */ 
+  ClientExecution findProcessInstanceById(String processInstanceId);
+
+  /** the execution uniquely identified by the given processDefinition name 
+   * and the execution key. */
+  ClientExecution findExecutionByKey(String processDefinitionName, String executionKey);
+  
+  /* find ids for all process instances for a given process definition. */
+  List<String> findProcessInstanceIds(String processDefinitionId);
+
+  /** delete the process instance including the history. */
+  void deleteProcessInstance(String processInstanceId);
+
+  /** delete the process instance and optionally deletes the history. */
+  void deleteProcessInstance(String processInstanceId, boolean deleteHistory);
+  
+  void cascadeExecutionSuspend(ExecutionImpl execution);
+
+  void cascadeExecutionResume(ExecutionImpl execution);
+  
+  // task methods /////////////////////////////////////////////////////////////
+  
+  Task createTask();
+
+  Task findTaskByDbid(long taskDbid);
+
+  void saveTask(Task task);
+
+  Task findTaskByExecution(Execution execution);
+
+  // job methods //////////////////////////////////////////////////////////////
+
+  /** the first job to finish among eligible and non-locked jobs or null if none */
+  public JobImpl<?> findFirstAcquirableJob();
+
+  /** the list of jobs of the process instance that mustn't be concurrent */
+  public List<JobImpl<?>> findExclusiveJobs(Execution processInstance);
+
+  /** the first job to finish among non-owned jobs or null if none */
+  public JobImpl<?> findFirstDueJob();
+}


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

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/MessageSession.java (from rev 4950, jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/MessageSession.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/MessageSession.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/MessageSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.pvm.internal.session;
+
+import org.jbpm.api.job.Message;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public interface MessageSession {
+
+  void send(Message message);
+}


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

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/RepositorySession.java (from rev 4950, jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/RepositorySession.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/RepositorySession.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/RepositorySession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -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.session;
+
+import java.io.InputStream;
+
+import org.jbpm.api.Deployment;
+import org.jbpm.api.ProcessDefinitionQuery;
+import org.jbpm.api.client.ClientProcessDefinition;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public interface RepositorySession {
+
+  long deploy(Deployment deployment);
+
+  Object getObject(long deploymentDbid, String objectName);
+
+  InputStream getResourceAsStream(long deploymentDbid, String resourceName);
+
+  ProcessDefinitionQuery createProcessDefinitionQuery();
+
+  ClientProcessDefinition findProcessDefinitionById(String processDefinitionId);
+
+  ClientProcessDefinition findProcessDefinitionByKey(String processDefinitionKey);
+}


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

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/TimerSession.java (from rev 4950, jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/session/TimerSession.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/TimerSession.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/session/TimerSession.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -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.session;
+
+import java.util.List;
+
+import org.jbpm.api.Execution;
+import org.jbpm.api.job.Timer;
+
+/**
+ * @author Tom Baeyens, Pascal Verdage
+ */
+public interface TimerSession {
+
+  /** Schedule the execution of a timer.
+   * 
+   * @param timerImpl
+   *          the timer to be executed.
+   * @throws IllegalArgumentException
+   *           if the timer is null or if its activity is null or if its dueDate
+   *           is null or if its dueDate is negative or if its dueDate is past
+   *           or if its dueDate is equals to Long.MAX_VALUE
+   */
+  void schedule(Timer timer);
+
+  /** Cancels a timer. <br />
+   * If a transaction is in progress, the cancellation will be effective at the
+   * end of the transaction. If the timer has been created in the same
+   * transaction or if there is no transaction, the cancellation is immediately
+   * effective. <br />
+   * If the timer is executing when the cancellation becomes effective, the
+   * execution in progress will not be stopped.
+   * 
+   * @param timerImpl
+   *          the timer to be cancelled.
+   */
+  void cancel(Timer timer);
+
+  /** retrieve all the outstanding timers associated for the given execution */ 
+  List<Timer> findTimersByExecution(Execution execution);
+}


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

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/AsyncCommandService.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/AsyncCommandService.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/AsyncCommandService.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -25,7 +25,7 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.MessageSession;
+import org.jbpm.pvm.internal.session.MessageSession;
 
 
 /**

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -34,7 +34,6 @@
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
 import org.jbpm.api.model.Event;
-import org.jbpm.api.session.TaskDbSession;
 import org.jbpm.api.task.Assignable;
 import org.jbpm.api.task.OpenTask;
 import org.jbpm.api.task.Participation;
@@ -49,6 +48,7 @@
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.model.ScopeInstanceImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.util.EqualsUtil;
 import org.jbpm.pvm.internal.util.Priority;
 import org.jbpm.pvm.internal.wire.WireContext;
@@ -266,8 +266,8 @@
   }
 
   public TaskImpl createSubTask() {
-    TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
-    TaskImpl subTask = (TaskImpl) taskDbSession.createTask();
+    DbSession dbSession = Environment.getFromCurrent(DbSession.class);
+    TaskImpl subTask = (TaskImpl) dbSession.createTask();
     if (subTasks == null) {
       subTasks = new HashSet<TaskImpl>();
     }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/variable/BlobVariable.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/variable/BlobVariable.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/variable/BlobVariable.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,8 +22,8 @@
 package org.jbpm.pvm.internal.type.variable;
 
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.pvm.internal.lob.Lob;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.type.Variable;
 
 public class BlobVariable extends Variable {

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DbSessionBinding.java (from rev 4951, jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PvmDbSessionBinding.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DbSessionBinding.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DbSessionBinding.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -0,0 +1,54 @@
+/*
+ * 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.session.DbSession;
+import org.jbpm.pvm.internal.wire.descriptor.DbSessionDescriptor;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+/** parses a descriptor for creating a {@link DbSession}.
+ * 
+ * See schema docs for more details.
+ *
+ * @author Tom Baeyens
+ */
+public class DbSessionBinding extends WireDescriptorBinding {
+  
+  public static final String TAG = "db-session";
+
+  public DbSessionBinding() {
+    super(TAG);
+  }
+
+  public Object parse(Element element, Parse parse, Parser parser) {
+    DbSessionDescriptor descriptor = new DbSessionDescriptor();
+    
+    if (element.hasAttribute("session")) {
+      descriptor.setSessionName(element.getAttribute("session"));
+    }
+    
+    return descriptor;
+  }
+
+}


Property changes on: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DbSessionBinding.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/JobDbSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JobDbSessionBinding.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JobDbSessionBinding.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,51 +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.pvm.internal.hibernate.HibernateJobDbSession;
-import org.jbpm.pvm.internal.wire.descriptor.HibernateJobDbSessionDescriptor;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-/** parses a descriptor for creating a {@link HibernateJobDbSession}.
- * 
- * See schema docs for more details.
- *
- * @author Tom Baeyens
- */
-public class JobDbSessionBinding extends WireDescriptorBinding {
-
-  public JobDbSessionBinding() {
-    super("job-db-session");
-  }
-
-  public Object parse(Element element, Parse parse, Parser parser) {
-    HibernateJobDbSessionDescriptor descriptor = new HibernateJobDbSessionDescriptor();
-    
-    if (element.hasAttribute("session")) {
-      descriptor.setSessionName(element.getAttribute("session"));
-    }
-
-    return descriptor;
-  }
-}

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MessageSessionBinding.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -21,10 +21,10 @@
  */
 package org.jbpm.pvm.internal.wire.binding;
 
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.MessageSession;
 import org.jbpm.pvm.internal.jms.JmsMessageSession;
 import org.jbpm.pvm.internal.jobexecutor.JobExecutorMessageSession;
+import org.jbpm.pvm.internal.session.DbSession;
+import org.jbpm.pvm.internal.session.MessageSession;
 import org.jbpm.pvm.internal.util.XmlUtil;
 import org.jbpm.pvm.internal.wire.descriptor.ContextTypeRefDescriptor;
 import org.jbpm.pvm.internal.wire.descriptor.JndiDescriptor;

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PvmDbSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PvmDbSessionBinding.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/PvmDbSessionBinding.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,54 +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.pvm.internal.hibernate.HibernatePvmDbSession;
-import org.jbpm.pvm.internal.wire.descriptor.HibernatePvmDbSessionDescriptor;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-/** parses a descriptor for creating a {@link HibernatePvmDbSession}.
- * 
- * See schema docs for more details.
- *
- * @author Tom Baeyens
- */
-public class PvmDbSessionBinding extends WireDescriptorBinding {
-  
-  public static final String TAG = "pvm-db-session";
-
-  public PvmDbSessionBinding() {
-    super(TAG);
-  }
-
-  public Object parse(Element element, Parse parse, Parser parser) {
-    HibernatePvmDbSessionDescriptor descriptor = new HibernatePvmDbSessionDescriptor();
-    
-    if (element.hasAttribute("session")) {
-      descriptor.setSessionName(element.getAttribute("session"));
-    }
-    
-    return descriptor;
-  }
-
-}

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TaskDbSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TaskDbSessionBinding.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TaskDbSessionBinding.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,48 +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.pvm.internal.wire.descriptor.HibernateTaskDbSessionDescriptor;
-import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
-import org.w3c.dom.Element;
-
-/**
- * @author Alejandro Guizar
- */
-public class TaskDbSessionBinding extends WireDescriptorBinding {
-
-  public TaskDbSessionBinding() {
-    super("task-db-session");
-  }
-
-  public Object parse(Element element, Parse parse, Parser parser) {
-    HibernateTaskDbSessionDescriptor descriptor = new HibernateTaskDbSessionDescriptor();
-
-    if (element.hasAttribute("session")) {
-      descriptor.setSessionName(element.getAttribute("session"));
-    }
-
-    return descriptor;
-  }
-
-}

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TimerSessionBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TimerSessionBinding.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/TimerSessionBinding.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -22,9 +22,9 @@
 package org.jbpm.pvm.internal.wire.binding;
 
 import org.hibernate.Session;
-import org.jbpm.api.session.TimerSession;
 import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
 import org.jbpm.pvm.internal.jobexecutor.JobExecutorTimerSession;
+import org.jbpm.pvm.internal.session.TimerSession;
 import org.jbpm.pvm.internal.util.XmlUtil;
 import org.jbpm.pvm.internal.wire.descriptor.ContextTypeRefDescriptor;
 import org.jbpm.pvm.internal.wire.descriptor.EnvDescriptor;

Copied: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/DbSessionDescriptor.java (from rev 4951, jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernatePvmDbSessionDescriptor.java)
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/DbSessionDescriptor.java	                        (rev 0)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/DbSessionDescriptor.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -0,0 +1,67 @@
+/*
+ * 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.hibernate.Session;
+import org.jbpm.pvm.internal.hibernate.DbSessionImpl;
+import org.jbpm.pvm.internal.wire.WireContext;
+import org.jbpm.pvm.internal.wire.WireDefinition;
+import org.jbpm.pvm.internal.wire.WireException;
+
+/**
+ * @author Tom Baeyens
+ */
+public class DbSessionDescriptor extends AbstractDescriptor {
+  
+  private static final long serialVersionUID = 1L;
+  
+  String sessionName;
+
+  public Object construct(WireContext wireContext) { 
+    return new DbSessionImpl();
+  }
+
+  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 db-session");
+    }
+    
+    // inject the session
+    ((DbSessionImpl)object).setSession(session);
+  }
+  
+  public Class<?> getType(WireDefinition wireDefinition) {
+    return DbSessionImpl.class;
+  }
+
+  public void setSessionName(String sessionName) {
+    this.sessionName = sessionName;
+  }
+}


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

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateJobDbSessionDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateJobDbSessionDescriptor.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateJobDbSessionDescriptor.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,68 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.pvm.internal.wire.descriptor;
-
-import org.hibernate.Session;
-import org.jbpm.pvm.internal.hibernate.HibernateJobDbSession;
-import org.jbpm.pvm.internal.wire.WireContext;
-import org.jbpm.pvm.internal.wire.WireDefinition;
-import org.jbpm.pvm.internal.wire.WireException;
-
-
-/**
- * @author Tom Baeyens
- */
-public class HibernateJobDbSessionDescriptor extends AbstractDescriptor {
-
-  private static final long serialVersionUID = 1L;
-  
-  String sessionName;
-
-  public Object construct(WireContext wireContext) { 
-    return new HibernateJobDbSession();
-  }
-
-  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 pvm-db-session");
-    }
-    
-    // inject the session
-    ((HibernateJobDbSession)object).setSession(session);
-  }
-  
-  public Class<?> getType(WireDefinition wireDefinition) {
-    return HibernateJobDbSession.class;
-  }
-
-  public void setSessionName(String sessionName) {
-    this.sessionName = sessionName;
-  }
-}

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernatePvmDbSessionDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernatePvmDbSessionDescriptor.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernatePvmDbSessionDescriptor.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,67 +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.descriptor;
-
-import org.hibernate.Session;
-import org.jbpm.pvm.internal.hibernate.HibernatePvmDbSession;
-import org.jbpm.pvm.internal.wire.WireContext;
-import org.jbpm.pvm.internal.wire.WireDefinition;
-import org.jbpm.pvm.internal.wire.WireException;
-
-/**
- * @author Tom Baeyens
- */
-public class HibernatePvmDbSessionDescriptor extends AbstractDescriptor {
-  
-  private static final long serialVersionUID = 1L;
-  
-  String sessionName;
-
-  public Object construct(WireContext wireContext) { 
-    return new HibernatePvmDbSession();
-  }
-
-  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 pvm-db-session");
-    }
-    
-    // inject the session
-    ((HibernatePvmDbSession)object).setSession(session);
-  }
-  
-  public Class<?> getType(WireDefinition wireDefinition) {
-    return HibernatePvmDbSession.class;
-  }
-
-  public void setSessionName(String sessionName) {
-    this.sessionName = sessionName;
-  }
-}

Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateTaskDbSessionDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateTaskDbSessionDescriptor.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/HibernateTaskDbSessionDescriptor.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -1,69 +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.descriptor;
-
-import org.hibernate.Session;
-import org.jbpm.pvm.internal.hibernate.HibernateTaskDbSession;
-import org.jbpm.pvm.internal.wire.WireContext;
-import org.jbpm.pvm.internal.wire.WireDefinition;
-import org.jbpm.pvm.internal.wire.WireException;
-
-/**
- * @author Tom Baeyens
- */
-public class HibernateTaskDbSessionDescriptor extends AbstractDescriptor {
-
-  private static final long serialVersionUID = 1L;
-
-  private String sessionName;
-
-  public Object construct(WireContext wireContext) {
-    return new HibernateTaskDbSession();
-  }
-
-  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 pvm-db-session");
-    }
-
-    // inject the session
-    ((HibernateTaskDbSession) object).setSession(session);
-  }
-
-  public Class<?> getType(WireDefinition wireDefinition) {
-    return HibernateTaskDbSession.class;
-  }
-
-  public void setSessionName(String sessionName) {
-    this.sessionName = sessionName;
-  }
-}

Modified: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -67,9 +67,8 @@
 
   <transaction-context>
     <repository-session />
-    <pvm-db-session />
-    <job-db-session />
-    <task-db-session />
+    <db-session />
+    
     <message-session />
     <timer-session />
     <history-session />

Modified: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.wire.bindings.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.wire.bindings.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.wire.bindings.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -48,6 +48,7 @@
   <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.DbSessionBinding" />
   <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" />
@@ -57,11 +58,6 @@
   <binding class="org.jbpm.pvm.internal.wire.binding.RepositorySessionBinding" />
   <binding class="org.jbpm.pvm.internal.wire.binding.MailSessionBinding" />
   
-  <!-- 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  -->

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/db/model/CommentDbTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -25,8 +25,8 @@
 import java.util.List;
 
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.test.EnvironmentDbTestCase;
 
 /**

Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/test/EnvironmentDbTestCase.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/test/EnvironmentDbTestCase.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/test/EnvironmentDbTestCase.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -26,10 +26,7 @@
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.hibernate.Transaction;
-import org.jbpm.api.Execution;
-import org.jbpm.api.model.OpenProcessDefinition;
-import org.jbpm.api.session.DbSession;
-import org.jbpm.api.session.PvmDbSession;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.test.Db;
 
 

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -30,14 +30,10 @@
   </process-engine-context>
 
   <transaction-context>
-
     <transaction />
     <hibernate-session />
     <message-session />
-
-    <pvm-db-session />
-    <job-db-session />
-
+    <db-session />
   </transaction-context>
 
 </jbpm-configuration>

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/db/svc/environment.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -41,7 +41,7 @@
   <transaction-context>
     <transaction />
     <hibernate-session />
-    <pvm-db-session />
+    <db-session />
   </transaction-context>
 
 </jbpm-configuration>

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/api/timer/environment.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -54,7 +54,7 @@
   <transaction-context>
     <transaction />
     <hibernate-session />
-    <pvm-db-session />
+    <db-session />
     <message-session target="test" />
     <timer-session target="test" />
   </transaction-context>

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/db/model/environment.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -23,7 +23,7 @@
 
     <transaction />
     <hibernate-session />
-    <pvm-db-session />
+    <db-session />
 
   </transaction-context>
 

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/internal/jobexecutor/environment.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -36,14 +36,11 @@
   </process-engine-context>
 
   <transaction-context>
-  
     <transaction />
     <hibernate-session />
-    <pvm-db-session />
-    <job-db-session />
-
+    <db-session />
     <message-session />
     <timer-session />
-
   </transaction-context> 
+
 </jbpm-configuration>

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-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/pvm/variables/custom.types.jbpm.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -20,7 +20,7 @@
 
     <transaction />
     <hibernate-session />
-    <pvm-db-session />
+    <db-session />
 
   </transaction-context>
 

Modified: jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/test/spring/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/test/spring/jbpm.cfg.xml	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/pvm/src/test/resources/org/jbpm/test/spring/jbpm.cfg.xml	2009-05-30 17:11:58 UTC (rev 4953)
@@ -49,9 +49,7 @@
 
   <transaction-context>
     <repository-session />
-    <pvm-db-session />
-    <job-db-session />
-    <task-db-session />
+    <db-session />
     <message-session />
     <timer-session />
     <history-session />

Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -31,12 +31,12 @@
 import org.jbpm.api.activity.ExternalActivityBehaviour;
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
-import org.jbpm.api.session.MessageSession;
 import org.jbpm.pvm.internal.builder.ProcessDefinitionBuilder;
 import org.jbpm.pvm.internal.cmd.StartProcessInstanceCmd;
 import org.jbpm.pvm.internal.job.CommandMessage;
 import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
+import org.jbpm.pvm.internal.session.MessageSession;
 
 /**
  * @author Tom Baeyens

Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceMessageTest.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceMessageTest.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceMessageTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -29,10 +29,10 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.MessageSession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.CommandMessage;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.MessageSession;
 
 
 /**

Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceTestCommand.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceTestCommand.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailOnceTestCommand.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,11 +24,11 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.internal.log.Log;
 import org.jbpm.pvm.internal.job.CommandMessage;
 import org.jbpm.pvm.internal.job.JobImpl;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.wire.descriptor.IntegerDescriptor;
 import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
 

Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingMessageTest.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingMessageTest.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingMessageTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,15 +24,13 @@
 import java.util.List;
 
 import org.hibernate.Session;
+import org.jbpm.api.JbpmException;
 import org.jbpm.api.cmd.Command;
-import org.jbpm.api.cmd.CommandService;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.job.Job;
-import org.jbpm.api.session.MessageSession;
-import org.jbpm.api.session.PvmDbSession;
 import org.jbpm.pvm.internal.job.CommandMessage;
 import org.jbpm.pvm.internal.model.CommentImpl;
-import org.jbpm.test.JbpmTestCase;
+import org.jbpm.pvm.internal.session.MessageSession;
 
 
 /**
@@ -63,14 +61,13 @@
     commandService.execute(new Command<Object>() {
 
       public Object execute(Environment environment) throws Exception {
-        PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
-        List<Job> deadJobs = pvmDbSession.findJobsWithException(0, 10);
-        assertEquals("there should be one dead job", 1, deadJobs.size());
+        List<Job> deadJobs = null;
+        throw new JbpmException("todo get the jobs with exception");
 
-        Session session = environment.get(Session.class);
-        List commands = session.createQuery("from " + CommentImpl.class.getName()).list();
-        assertTrue("command insertion should have been rolled back", commands.isEmpty());
-        return null;
+//        Session session = environment.get(Session.class);
+//        List commands = session.createQuery("from " + CommentImpl.class.getName()).list();
+//        assertTrue("command insertion should have been rolled back", commands.isEmpty());
+//        return null;
       }
     });
   }

Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingTestCommand.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingTestCommand.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/FailingTestCommand.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -24,9 +24,9 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.DbSession;
 import org.jbpm.pvm.internal.job.CommandMessage;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.DbSession;
 import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
 
 

Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/NormalMessageTest.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/NormalMessageTest.java	2009-05-30 17:04:56 UTC (rev 4952)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/NormalMessageTest.java	2009-05-30 17:11:58 UTC (rev 4953)
@@ -28,10 +28,10 @@
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.env.Environment;
 import org.jbpm.api.model.Comment;
-import org.jbpm.api.session.MessageSession;
 import org.jbpm.pvm.internal.job.CommandMessage;
 import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
 import org.jbpm.pvm.internal.model.CommentImpl;
+import org.jbpm.pvm.internal.session.MessageSession;
 import org.jbpm.test.Db;
 
 /**




More information about the jbpm-commits mailing list