You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Tammo van Lessen <tv...@gmail.com> on 2010/05/23 12:14:23 UTC

Re: svn commit: r947046 [1/12] - in /ode/trunk: ./ axis2/src/main/java/org/apache/ode/axis2/ bpel-dao/ bpel-dao/src/main/java/org/apache/ode/dao/ bpel-dao/src/main/java/org/apache/ode/dao/bpel/ bpel-dao/src/main/java/org/apache/ode/dao/store/ bpel-epr/ bpe...

Hi Jeff,

sorry, I feel that I have to vote -1 against this commit. It breaks both
builds (maven and buildr) and also completely breaks the axis2 test
suite located in axis2-war.

I think I have fixed the maven build for Maven 2.2.1 by adding an
additional version tag (see r947316), and tried to fix the buildr build
(see r947393), but I could not easily fix the axis-war test suite (which
should also be included in the maven build, it is currently being ignored).

I'd like to ask you to either revert or fix the commit (with a
preference on fixing, of course ;). I believe trunk should at least
always compile.

Thanks,
  Tammo

On 21.05.2010 17:41, jeffyu@apache.org wrote:
> Author: jeffyu
> Date: Fri May 21 15:40:59 2010
> New Revision: 947046
> 
> URL: http://svn.apache.org/viewvc?rev=947046&view=rev
> Log:
>  ODE-805, jpa refactoring for bpel and store module.
> * ODE-711, Upgrade hibernate version into 3.3.2.GA.
> (note, it passed maven build, with 2 test cases @Ignore for now, which I am looking into it, also will try to fix the buildr build later)
> 
> Added:
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactoryJDBC.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorMessageDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/DeferredProcessInstanceCleanable.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FaultDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FilteredInstanceDeletable.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageExchangeDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageRouteDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/NoRootContextException.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/PartnerLinkDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessInstanceDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessManagementDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/QueryReturnedEmptyResultException.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/QueryReturnedMultipleResultsException.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/RoleEnum.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ScopeDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ScopeStateEnum.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/XmlDataDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/package.html
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/store/
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/store/ConfStoreDAOConnection.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/store/ConfStoreDAOConnectionFactory.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/store/DeploymentUnitDAO.java
>     ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/store/ProcessConfDAO.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/dbutil/DatabaseConnectionManager.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/dbutil/DerbyDatabase.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/dbutil/EmbeddedDatabase.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/dbutil/H2Database.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/txutil/
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/txutil/TransactionConfigException.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/txutil/TxManager.java
>     ode/trunk/bpel-store/src/test/java/org/apache/ode/store/DaoTest.java
>     ode/trunk/bpel-test/src/main/java/org/apache/ode/test/MockTransactionManager.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/bpel/
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/bpel/BaseTestDAO.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/bpel/InsertObjectTest.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/bpel/ListInstanceTest.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/bpel/ProcessManagementDaoTest.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/dao/bpel/SelectObjectTest.java
>     ode/trunk/dao-hibernate-db/src/main/assembly/
>     ode/trunk/dao-hibernate-db/src/main/assembly/bin.xml
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/DataSourceConnectionProvider.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/HibernateTransactionManagerLookup.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/JotmTransaction.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/JotmTransactionFactory.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/NativeHiLoGenerator.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/SessionManager.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ActivityRecoveryDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/BpelDAOConnectionFactoryImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/BpelDAOConnectionImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/CorrelationSetDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/CorrelatorDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/CorrelatorMessageDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/CriteriaBuilder.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/FaultDAOImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/HibernateDao.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/HibernateHandle.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/MessageDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/MessageExchangeDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/MessageRouteDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/PartnerLinkDAOImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ProcessDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ProcessInstanceDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ProcessManagementDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ScopeDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/XmlDataDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/GZipDataType.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HActivityRecovery.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HBpelEvent.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HCorrelationProperty.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HCorrelationSet.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HCorrelator.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HCorrelatorMessage.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HCorrelatorMessageKey.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HCorrelatorSelector.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HFaultData.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HLargeData.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HMessage.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HMessageExchange.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HMessageExchangeProperty.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HObject.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HPartnerLink.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HProcess.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HProcessInstance.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HScope.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HVariableProperty.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/HXmlData.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/hobj/package.html
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/package.html
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ql/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ql/HibernateInstancesQueryCompiler.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/bpel/ql/StateComparator.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/package.html
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/ConfStoreDAOConnectionFactoryImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/ConfStoreDAOConnectionImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/HibernateDao.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/hobj/
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/hobj/DeploymentUnitDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/hobj/ProcessConfDaoImpl.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/dao/hib/store/hobj/VersionTrackerDAOImpl.java
>     ode/trunk/dao-jpa-db/
>     ode/trunk/dao-jpa-db/build.xml   (with props)
>     ode/trunk/dao-jpa-db/pom.xml   (with props)
>     ode/trunk/dao-jpa-db/shutdown.sql   (with props)
>     ode/trunk/dao-jpa-db/src/
>     ode/trunk/dao-jpa-db/src/main/
>     ode/trunk/dao-jpa-db/src/main/assembly/
>     ode/trunk/dao-jpa-db/src/main/assembly/bin.xml
>     ode/trunk/dao-jpa-db/src/main/descriptors/
>     ode/trunk/dao-jpa-db/src/main/descriptors/persistence.derby.xml   (with props)
>     ode/trunk/dao-jpa-db/src/main/descriptors/persistence.hsql.xml   (with props)
>     ode/trunk/dao-jpa-db/src/main/descriptors/persistence.mysql.xml   (with props)
>     ode/trunk/dao-jpa-db/src/main/descriptors/persistence.oracle.xml   (with props)
>     ode/trunk/dao-jpa-db/src/main/descriptors/persistence.postgres.xml   (with props)
>     ode/trunk/dao-jpa-db/src/main/scripts/
>     ode/trunk/dao-jpa-db/src/main/scripts/common.sql   (with props)
>     ode/trunk/dao-jpa-db/src/main/scripts/license-header.sql   (with props)
>     ode/trunk/dao-jpa-db/src/main/scripts/simplesched-derby.sql
>     ode/trunk/dao-jpa-db/src/main/scripts/simplesched-hsql.sql
>     ode/trunk/dao-jpa-db/src/main/scripts/simplesched-mysql.sql
>     ode/trunk/dao-jpa-db/src/main/scripts/simplesched-oracle.sql
>     ode/trunk/dao-jpa-db/src/main/scripts/simplesched-postgres.sql
>     ode/trunk/dao-jpa-db/src/test/
>     ode/trunk/dao-jpa-db/src/test/java/
>     ode/trunk/dao-jpa-db/src/test/java/org/
>     ode/trunk/dao-jpa-db/src/test/java/org/apache/
>     ode/trunk/dao-jpa-db/src/test/java/org/apache/ode/
>     ode/trunk/dao-jpa-db/src/test/java/org/apache/ode/dao/
>     ode/trunk/dao-jpa-db/src/test/java/org/apache/ode/dao/jpa/
>     ode/trunk/dao-jpa-db/src/test/java/org/apache/ode/dao/jpa/test/
>     ode/trunk/dao-jpa-db/src/test/resources/
>     ode/trunk/dao-jpa-db/src/test/resources/META-INF/
>     ode/trunk/dao-jpa-db/src/test/resources/META-INF/persistence.xml   (with props)
>     ode/trunk/dao-jpa-hibernate/
>     ode/trunk/dao-jpa-hibernate/pom.xml
>     ode/trunk/dao-jpa-hibernate/src/
>     ode/trunk/dao-jpa-hibernate/src/main/
>     ode/trunk/dao-jpa-hibernate/src/main/descriptors/
>     ode/trunk/dao-jpa-hibernate/src/main/descriptors/persistence.derby.xml
>     ode/trunk/dao-jpa-hibernate/src/main/descriptors/persistence.mysql.xml
>     ode/trunk/dao-jpa-hibernate/src/main/descriptors/persistence.oracle.xml
>     ode/trunk/dao-jpa-hibernate/src/main/descriptors/persistence.postgres.xml
>     ode/trunk/dao-jpa-hibernate/src/main/files/
>     ode/trunk/dao-jpa-hibernate/src/main/files/hibernate.cfg/
>     ode/trunk/dao-jpa-hibernate/src/main/files/hibernate.cfg/hsql.properties
>     ode/trunk/dao-jpa-hibernate/src/main/files/hibernate.cfg/mysql.properties
>     ode/trunk/dao-jpa-hibernate/src/main/java/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/BpelDAOConnectionFactoryImpl.java
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/ConfStoreDAOConnectionFactoryImpl.java
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/DataSourceConnectionProvider.java
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/HibernateTransactionManagerLookup.java
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/HibernateUtil.java
>     ode/trunk/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/hibernate/JpaOperatorImpl.java
>     ode/trunk/dao-jpa-hibernate/src/main/scripts/
>     ode/trunk/dao-jpa-hibernate/src/main/scripts/license-header.sql
>     ode/trunk/dao-jpa-hibernate/src/main/scripts/simplesched-derby.sql
>     ode/trunk/dao-jpa-hibernate/src/main/scripts/simplesched-mysql.sql
>     ode/trunk/dao-jpa-hibernate/src/main/scripts/simplesched-oracle.sql
>     ode/trunk/dao-jpa-hibernate/src/main/scripts/simplesched-postgres.sql
>     ode/trunk/dao-jpa-ojpa/
>     ode/trunk/dao-jpa-ojpa/pom.xml
>     ode/trunk/dao-jpa-ojpa/src/
>     ode/trunk/dao-jpa-ojpa/src/main/
>     ode/trunk/dao-jpa-ojpa/src/main/descriptors/
>     ode/trunk/dao-jpa-ojpa/src/main/descriptors/persistence.derby.xml
>     ode/trunk/dao-jpa-ojpa/src/main/descriptors/persistence.mysql.xml
>     ode/trunk/dao-jpa-ojpa/src/main/descriptors/persistence.oracle.xml
>     ode/trunk/dao-jpa-ojpa/src/main/descriptors/persistence.postgres.xml
>     ode/trunk/dao-jpa-ojpa/src/main/java/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/BpelDAOConnectionFactoryImpl.java
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/ConfStoreDAOConnectionFactoryImpl.java
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/JpaOperatorImpl.java
>     ode/trunk/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/JpaTxMgrProvider.java
>     ode/trunk/dao-jpa-ojpa/src/main/scripts/
>     ode/trunk/dao-jpa-ojpa/src/main/scripts/license-header.sql
>     ode/trunk/dao-jpa-ojpa/src/main/scripts/simplesched-derby.sql
>     ode/trunk/dao-jpa-ojpa/src/main/scripts/simplesched-mysql.sql
>     ode/trunk/dao-jpa-ojpa/src/main/scripts/simplesched-oracle.sql
>     ode/trunk/dao-jpa-ojpa/src/main/scripts/simplesched-postgres.sql
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaConnection.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaOperator.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ActivityRecoveryDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/BpelDAO.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/BpelDAOConnectionImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/CorrSetProperty.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/CorrelationSetDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/CorrelatorDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/EventDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/FaultDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/JpaTxMgrProvider.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/MessageDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/MessageExchangeDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/MessageRouteDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/MexProperty.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/PartnerLinkDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessInstanceDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessManagementDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ScopeDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/XmlDataDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/XmlDataProperty.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/ConfStoreDAO.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/ConfStoreDAOConnectionImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/DeploymentUnitDaoImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/ProcessConfDaoImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/ProcessConfPropertyDaoImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/store/VersionTrackerDAOImpl.java
> Removed:
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ConfStoreConnection.java
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ConfStoreConnectionFactory.java
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDAO.java
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfDAO.java
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/hib/
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/jpa/
>     ode/trunk/bpel-store/src/main/resources/META-INF/persistence.xml
>     ode/trunk/bpel-store/src/test/java/org/apache/ode/store/hib/DaoTest.java
>     ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/
>     ode/trunk/dao-hibernate/src/test/java/org/apache/ode/daohib/bpel/BaseTestDAO.java
>     ode/trunk/dao-hibernate/src/test/java/org/apache/ode/daohib/bpel/ListInstanceTest.java
>     ode/trunk/dao-hibernate/src/test/java/org/apache/ode/daohib/bpel/ProcessManagementDaoTest.java
>     ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/InsertObjectTest.java
>     ode/trunk/dao-jpa-ojpa-derby/src/test/java/org/apache/ode/dao/jpa/test/SelectObjectTest.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ActivityRecoveryDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrSetProperty.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelationSetDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/FaultDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaTxMgrProvider.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageRouteDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MexProperty.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/OpenJPADAO.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/PartnerLinkDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessManagementDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/XmlDataDAOImpl.java
>     ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/XmlDataProperty.java
> Modified:
>     ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
>     ode/trunk/bpel-dao/pom.xml
>     ode/trunk/bpel-epr/pom.xml
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
>     ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/dbutil/Database.java
>     ode/trunk/bpel-runtime/pom.xml
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelDatabase.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelEngineImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelManagementFacadeImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcessDatabase.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BrokeredMyRoleMessageExchangeImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/Contexts.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/DebuggerSupport.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InterceptorContextImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MexDaoUtil.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessCleanUpRunnable.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessStatusConverter.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/RuntimeDataCleanupRunnable.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/CorrelationKeyMigration.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/CorrelationKeySetDataMigration.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/CorrelationKeySetMigration.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/CorrelatorsMigration.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/Migration.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/MigrationHandler.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/OutstandingRequestsMigration.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/Replayer.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerBpelRuntimeContextImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerContext.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerScheduler.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/intercept/MessageExchangeInterceptor.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionFactoryImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelationSetDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/CorrelatorDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/FaultDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageDAOImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageExchangeDAOImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/MessageRouteDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/PartnerLinkDAOImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessInstanceDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ProcessManagementDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/ScopeDaoImpl.java
>     ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/XmlDataDaoImpl.java
>     ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImplTest.java
>     ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/engine/cron/CronSchedulerTest.java
>     ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableEngineTest.java
>     ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
>     ode/trunk/bpel-runtime/src/test/resources/log4j.properties
>     ode/trunk/bpel-store/pom.xml
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java
>     ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
>     ode/trunk/bpel-store/src/test/java/org/apache/ode/store/ProcessStoreTest.java
>     ode/trunk/bpel-test/pom.xml
>     ode/trunk/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/DataHandling20Test.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/ExternalVariableTest.java
>     ode/trunk/bpel-test/src/test/java/org/apache/ode/test/VersionedRedeployTest.java
>     ode/trunk/dao-hibernate-db/build.xml
>     ode/trunk/dao-hibernate-db/pom.xml
>     ode/trunk/dao-hibernate/pom.xml
>     ode/trunk/dao-jpa/pom.xml
>     ode/trunk/dao-jpa/src/main/resources/META-INF/persistence.xml
>     ode/trunk/jbi-bundle/pom.xml
>     ode/trunk/jbi/pom.xml
>     ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
>     ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
>     ode/trunk/jbi/src/test/jbi/ode-jbi.properties
>     ode/trunk/pom.xml
>     ode/trunk/scheduler-simple/pom.xml
>     ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/DelegateSupport.java
>     ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/GeronimoDelegateSupport.java
> 
> Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
> URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=947046&r1=947045&r2=947046&view=diff
> ==============================================================================
> --- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
> +++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Fri May 21 15:40:59 2010
> @@ -58,7 +58,6 @@ import org.apache.ode.axis2.service.Depl
>  import org.apache.ode.axis2.service.ManagementService;
>  import org.apache.ode.axis2.util.ClusterUrlTransformer;
>  import org.apache.ode.bpel.connector.BpelServerConnector;
> -import org.apache.ode.bpel.dao.BpelDAOConnectionFactory;
>  import org.apache.ode.bpel.engine.BpelServerImpl;
>  import org.apache.ode.bpel.engine.CountLRUDehydrationPolicy;
>  import org.apache.ode.bpel.engine.cron.CronScheduler;
> @@ -73,6 +72,8 @@ import org.apache.ode.bpel.intercept.Mes
>  import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl;
>  import org.apache.ode.bpel.pmapi.InstanceManagement;
>  import org.apache.ode.bpel.pmapi.ProcessManagement;
> +import org.apache.ode.dao.bpel.BpelDAOConnectionFactory;
> +import org.apache.ode.dao.store.ConfStoreDAOConnectionFactory;
>  import org.apache.ode.il.dbutil.Database;
>  import org.apache.ode.scheduler.simple.JdbcDelegate;
>  import org.apache.ode.scheduler.simple.SimpleScheduler;
> @@ -109,6 +110,8 @@ public class ODEServer {
>      protected TransactionManager _txMgr;
>  
>      protected BpelDAOConnectionFactory _daoCF;
> +    
> +    protected ConfStoreDAOConnectionFactory _storeDaoCF;
>  
>      protected ExecutorService _executorService;
>  
> @@ -432,8 +435,10 @@ public class ODEServer {
>       */
>      protected void initDAO() throws ServletException {
>          __log.info(__msgs.msgOdeUsingDAOImpl(_odeConfig.getDAOConnectionFactory()));
> +        __log.info(__msgs.msgOdeUsingDAOImpl(_odeConfig.getDAOConfStoreConnectionFactory()));
>          try {
>              _daoCF = _db.createDaoCF();
> +            _storeDaoCF = _db.createDaoStoreCF();
>          } catch (Exception ex) {
>              String errmsg = __msgs.msgDAOInstantiationFailed(_odeConfig.getDAOConnectionFactory());
>              __log.error(errmsg, ex);
> @@ -453,7 +458,7 @@ public class ODEServer {
>      }
>  
>      protected ProcessStoreImpl createProcessStore(EndpointReferenceContext eprContext, DataSource ds) {
> -        return new ProcessStoreImpl(eprContext, ds, _odeConfig.getDAOConnectionFactory(), _odeConfig, false);
> +        return new ProcessStoreImpl(eprContext,_txMgr,_storeDaoCF);
>      }
>  
>      protected Scheduler createScheduler() {
> 
> Modified: ode/trunk/bpel-dao/pom.xml
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/pom.xml?rev=947046&r1=947045&r2=947046&view=diff
> ==============================================================================
> --- ode/trunk/bpel-dao/pom.xml (original)
> +++ ode/trunk/bpel-dao/pom.xml Fri May 21 15:40:59 2010
> @@ -36,5 +36,9 @@
>        <groupId>org.apache.ode</groupId>
>        <artifactId>ode-bpel-api</artifactId>
>      </dependency>
> +    <dependency>
> +      <groupId>org.apache.geronimo.specs</groupId>
> +      <artifactId>geronimo-jta_1.1_spec</artifactId>
> +    </dependency>    
>     </dependencies>
>  </project>
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,27 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao;
> +
> +public interface DAOConnection {
> +
> +  void close();
> +
> +  boolean isClosed();
> +
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,43 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao;
> +
> +import java.util.Properties;
> +import javax.transaction.TransactionManager;
> +
> +public interface DAOConnectionFactory<C extends DAOConnection> {
> +
> +  /**
> +   *
> +   * @return a connection object to a store.
> +   */
> +  public C getConnection();
> +  
> +  /**
> +   * Initializes the connection factory with properties required to establish a
> +   * connection.
> +   *
> +   * @param properties
> +   */
> +
> +  <E> void init(Properties p, TransactionManager txm, E envCtx);
> +
> +  void shutdown();
> +
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,46 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.ode.dao.bpel;
> +
> +import java.util.Date;
> +import org.w3c.dom.Element;
> +
> +/**
> + * Activity recovery object. Registered when activity enters recovery state.
> + */
> +public interface ActivityRecoveryDAO {
> +
> +    long getActivityId();
> +
> +    String getChannel();
> +
> +    String getReason();
> +
> +    Element getDetails();
> +
> +    Date getDateTime();
> +
> +    String getActions();
> +
> +    String[] getActionsList();
> +
> +    int getRetries();
> +
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,125 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import java.io.Serializable;
> +import java.util.Collection;
> +import java.util.Date;
> +import java.util.List;
> +import java.util.Map;
> +
> +import javax.xml.namespace.QName;
> +
> +import org.apache.ode.bpel.common.BpelEventFilter;
> +import org.apache.ode.bpel.common.InstanceFilter;
> +import org.apache.ode.bpel.evt.BpelEvent;
> +import org.apache.ode.dao.DAOConnection;
> +
> +
> +/**
> + * Represents the physical resource for connecting to the bpel state store.
> + */
> +public interface BpelDAOConnection extends DAOConnection{
> +    /**
> +     * Return the DAO for a bpel process.
> +     *
> +     * @param processId name (identifier) of the process
> +     *
> +     * @return DAO
> +     */
> +    ProcessDAO getProcess(QName processId);
> +
> +
> +    /**
> +     * Retrieve a process instance from the database.
> +     * @param iid instance identifier
> +     * @return process instance
> +     */
> +    ProcessInstanceDAO getInstance(Long iid);
> +
> +    /**
> +     * Retrieve a scope instance from the database.
> +     * @param siidl scope instance identifier
> +     * @return scope instance
> +     */
> +    ScopeDAO getScope(Long siidl);
> +
> +    /**
> +     * Query instances in the database meeting the requested
> +     * criteria.
> +     * @param criteria
> +     * @return Collection<ProcessInstanceDAO>
> +     */
> +    Collection<ProcessInstanceDAO> instanceQuery(InstanceFilter criteria);
> +
> +    Collection<ProcessInstanceDAO> instanceQuery(String expression);
> +
> +    int getNumInstances(QName processId);
> +
> +    /**
> +     * Insert a BPEL event into the database.
> +     * @param event a BPEL event
> +     * @param process associated process (optional)
> +     * @param instance associated instance (optional) 
> +     */
> +    void insertBpelEvent(BpelEvent event, ProcessDAO process, 
> +            ProcessInstanceDAO instance);
> +
> +    /**
> +     * Execute a query for the timeline for BPEL events matching the criteria.
> +     * @param ifilter instance filter (optional)
> +     * @param efilter event filter (optional)
> +     * @return List of event timestamps of events matching the criteria
> +     */
> +    List<Date> bpelEventTimelineQuery(InstanceFilter ifilter, BpelEventFilter efilter);
> +    
> +    /**
> +     * Execute a query to retrieve the BPEL events matching the criteria.
> +     * @param ifilter instance filter
> +     * @param efilter event filter
> +     * @return
> +     */
> +    List<BpelEvent> bpelEventQuery(InstanceFilter ifilter, BpelEventFilter efilter);
> +
> +    void close();
> +
> +    Map<Long, Collection<CorrelationSetDAO>> getCorrelationSets(Collection<ProcessInstanceDAO> instances);
> +
> +    Collection<CorrelationSetDAO> getActiveCorrelationSets();
> +
> +    ProcessDAO createTransientProcess(Serializable id);
> +    
> +    ProcessDAO createProcess(QName pid, QName type, String guid, long version);
> +
> +    /**
> +     * Create a message exchange.
> +     * @param dir type of message exchange
> +     * @return
> +     */
> +    MessageExchangeDAO createMessageExchange(char dir);
> +
> +    MessageExchangeDAO getMessageExchange(String mexid);
> +
> +    /**
> +     * Returns an interface for process and instance management.
> +     * 
> +     * @return a ProcessManagement DAO
> +     */
> +    ProcessManagementDAO getProcessManagement();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,36 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +
> +import org.apache.ode.dao.DAOConnectionFactory;
> +
> +public interface BpelDAOConnectionFactory extends DAOConnectionFactory<BpelDAOConnection>{
> +
> +  /**
> +   * Create a JTA transaction-aware state store connection to an the state store.
> +   * The state store must have previously been created in order for this method to
> +   * be succesful.
> +   *
> +   * @return a {@link BpelDAOConnection} connection object to the state
> +   *         store.
> +   */
> +  public BpelDAOConnection getConnection();
> +  
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactoryJDBC.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactoryJDBC.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactoryJDBC.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactoryJDBC.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,48 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import javax.sql.DataSource;
> +
> +/**
> + * Extension of the {@link BpelDAOConnectionFactory} interface for DAOs that
> + * are based on J2EE/JDBC data sources. 
> + * 
> + * @author Maciej Szefler - m s z e f l e r @ g m a i l . c o m
> + */
> +public interface BpelDAOConnectionFactoryJDBC extends BpelDAOConnectionFactory {
> +
> +    /**
> +     * Set the managed data source (transactions tied to transaction manager). 
> +     * @param ds
> +     */
> +    public void setDataSource(DataSource ds);
> +    
> +    /**
> +     * Set the unmanaged data source.
> +     * @param ds
> +     */
> +    public void setUnmanagedDataSource(DataSource ds);
> +    
> +    /**
> +     * Set the transaction manager.
> +     * @param tm
> +     */
> +    public void setTransactionManager(Object tm);
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,79 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import org.apache.ode.bpel.common.CorrelationKey;
> +
> +import javax.xml.namespace.QName;
> +import java.util.Map;
> +
> +/**
> + * <p>
> + * Data access object representing a BPEL correlation set.
> + * Correlation sets are late-bound constants that "belong"
> + * either to the process or to a scope.
> + * </p>
> + */
> +public interface CorrelationSetDAO {
> +
> +  public Long getCorrelationSetId();
> +
> +  /**
> +   * Get the name of the correlation set.
> +   * @return name of the correlation set
> +   */
> +  public String getName();
> +
> +  /**
> +   * Get the scope instance to which this correlation set belongs.
> +   *
> +   * @see {@link ScopeDAO}
> +   * @return owning scope instance
> +   */
> +  public ScopeDAO getScope();
> +
> +  /**
> +   * Sets the value of the correlation set.
> +   * @param names qualified names of the correlation set properties
> +   * @param values
> +   */
> +  public void setValue(QName[] names, CorrelationKey values);
> +
> +  /**
> +   * Get the value of the correlation set.
> +   *
> +   * @return valu of correlation set
> +   */
> +  public CorrelationKey getValue();
> +
> +  /**
> +   * Get correlation set properties with their values as a Map.
> +   * @return Map with the property qualified name as key and value as Map value.
> +   */
> +  public Map<QName, String> getProperties();
> +
> +    /**
> +     * @return the process this correlation is related to, gives a chance of optimization to the underlying impl
> +     */
> +    ProcessDAO getProcess();
> +    /**
> +     * @return the instance this correlation is related to, gives a chance of optimization to the underlying impl
> +     */
> +    ProcessInstanceDAO getInstance();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,118 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import java.util.List;
> +
> +import org.apache.ode.bpel.common.CorrelationKey;
> +import org.apache.ode.bpel.common.CorrelationKeySet;
> +
> +import java.util.Collection;
> +
> +/**
> + * <p>
> + * Data access object representing a <em>correlator</em>. A correlator
> + * does not have a simple explanation: it acts as match-maker connecting
> + * messages with <em>message consumers</em> (i.e. BPEL pick and receive
> + * operations) across time.  For each partnerLink "myRole" and operation
> + * there is one correlator.
> + * </p>
> + * <p>
> + * The correlator functions as a two-sided queue: when a message is
> + * received the correlator is used to dequeue a consumer based on the
> + * keys from the message. If no consumer matches the keys in the message,
> + * the message itself is enqueued along with its keys. Conversely, when
> + * a BPEL pick/receive operation is performed, the correlator is used
> + * to dequeue a message matching a given correlation key. If no message is
> + * found, the consumer (i.e. the pick/receive operation) is enqueued
> + * along with the target key.
> + * </p>
> + * <p>
> + * The end result is matching of messages to pick/receive operations,
> + * irrespective of whether the operation or the message arrives first.
> + * Make sense?
> + * </p>
> + */
> +public interface CorrelatorDAO {
> +
> +  /**
> +   * Get the correlator identifier.
> +   * @return correlator identifier
> +   */
> +  String getCorrelatorId();
> +
> +    void setCorrelatorId(String newId);
> +
> +  /**
> +   * Enqueue a message exchange to the queue with a set of correlation keys.
> +   *
> +   * @param mex message exchange
> +   * @param correlationKeys pre-computed set of correlation keys for this message
> +   */
> +  void enqueueMessage(MessageExchangeDAO mex, CorrelationKeySet correlationKeySet);
> +
> +
> +  /**
> +   * Dequeue a message exchange matching a correlationKey constraint.
> +   *
> +   * @param correlationKey correlation correlationKey constraint
> +   * @return opaque message-related data previously enqueued with the
> +   *         given correlation correlationKey
> +   */
> +  MessageExchangeDAO dequeueMessage(CorrelationKeySet correlationKeySet);
> +
> +    /**
> +     * @return all messages waiting on this correlator, use with care as it can potentially return a lot of values
> +     */
> +    Collection<CorrelatorMessageDAO> getAllMessages();
> +
> +  /**
> +   * Find a route matching the given correlation key.
> +   * @param correlationKey correlation key
> +   * @return route matching the given correlation key
> +   */
> +  List<MessageRouteDAO> findRoute(CorrelationKeySet correlationKeySet);
> +
> +  /**
> +   * Check if corresponding key set is free to register (see ODE-804) 
> +   * @param correlationKeySet
> +   * @return true - available, false - not available
> +   */
> +  boolean checkRoute(CorrelationKeySet correlationKeySet);
> +  
> +  /**
> +   * Add a route from the given correlation key to the given process instance.
> +   * @param routeGroupId identifier of the group of routes to which this route belongs
> +   * @param target target process instance
> +   * @param index relative order in which the route should be considered
> +   * @param correlationKey correlation key to match
> +   */
> +  void addRoute(String routeGroupId, ProcessInstanceDAO target, int index, CorrelationKeySet correlationKeySet, String routePolicy);
> +
> +  /**
> +   * Remove all routes with the given route-group identifier.
> +   * @param routeGroupId
> +   */
> +  void removeRoutes(String routeGroupId, ProcessInstanceDAO target);
> +
> +    /**
> +     * @return all routes registered on this correlator, use with care as it can potentially return a lot of values
> +     */
> +    Collection<MessageRouteDAO> getAllRoutes();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorMessageDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorMessageDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorMessageDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelatorMessageDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,29 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.ode.dao.bpel;
> +
> +import org.apache.ode.bpel.common.CorrelationKey;
> +
> +public interface CorrelatorMessageDAO {
> +
> +    CorrelationKey getCorrelationKey();
> +
> +    void setCorrelationKey(CorrelationKey ckey);
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/DeferredProcessInstanceCleanable.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/DeferredProcessInstanceCleanable.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/DeferredProcessInstanceCleanable.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/DeferredProcessInstanceCleanable.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,28 @@
> +package org.apache.ode.dao.bpel;
> +
> +import java.io.Serializable;
> +
> +/**
> + * Instances and associated data for a ProcessDAO implementation that implements this 
> + * interface can be deleted in a deferred fashion.
> + * 
> + * @author sean
> + *
> + */
> +public interface DeferredProcessInstanceCleanable {
> +    /**
> +     * Returns the database id.
> +     * 
> +     * @return database id
> +     */
> +    Serializable getId();
> +    
> +    /**
> +     * Deletes instances and data for this process, the number of rows gets deletes is limited
> +     * by the transaction size.
> +     * 
> +     * @param transactionSize the number of rows to delete
> +     * @return the number of rows actually deleted
> +     */
> +    int deleteInstances(int transactionSize);
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FaultDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FaultDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FaultDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FaultDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,42 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.ode.dao.bpel;
> +
> +import org.w3c.dom.Element;
> +
> +import javax.xml.namespace.QName;
> +
> +/**
> + * Fault data access object. Used to access information about a
> + * fault that affected a process execution (causing the failure of
> + * an instance for example).
> + */
> +public interface FaultDAO {
> +
> +  QName getName();
> +
> +  Element getData();
> +
> +  String getExplanation();
> +
> +  int getLineNo();
> +
> +  int getActivityId();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FilteredInstanceDeletable.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FilteredInstanceDeletable.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FilteredInstanceDeletable.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/FilteredInstanceDeletable.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,24 @@
> +package org.apache.ode.dao.bpel;
> +
> +import java.util.Set;
> +
> +import org.apache.ode.bpel.common.InstanceFilter;
> +import org.apache.ode.bpel.iapi.ProcessConf.CLEANUP_CATEGORY;
> +
> +/**
> + * An implementation of this interface provides a way to delete runtime process instances
> + * through the InstanceFilter.
> + * 
> + * @author sean
> + *
> + */
> +public interface FilteredInstanceDeletable {
> +    /**
> +     * Deletes instance filter by the given instance filter and clean up categories.
> +     * 
> +     * @param filter instance filter
> +     * @param categories clean up categories
> +     * @return returns the number of instances that are deleted
> +     */
> +    int deleteInstances(InstanceFilter filter, Set<CLEANUP_CATEGORY> categories);
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,39 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.ode.dao.bpel;
> +
> +import javax.xml.namespace.QName;
> +
> +import org.w3c.dom.Element;
> +
> +// TODO: Abstract out the data representation.
> +public interface MessageDAO {
> +
> +  void setType(QName type);
> +  QName getType();
> +
> +  void setData(Element value);  
> +  Element getData();
> +
> +  void setHeader(Element value);
> +  Element getHeader();
> +
> +  MessageExchangeDAO getMessageExchange();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageExchangeDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageExchangeDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageExchangeDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageExchangeDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,255 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import org.w3c.dom.Element;
> +
> +import javax.xml.namespace.QName;
> +import java.util.Date;
> +import java.util.Set;
> +
> +/**
> + * Data access object for a message exchange.
> + */
> +public interface MessageExchangeDAO {
> +
> +    public static final char DIR_BPEL_INVOKES_PARTNERROLE = 'P';
> +
> +    public static final char DIR_PARTNER_INVOKES_MYROLE = 'M';
> +
> +    /**
> +     * Instance id of the message exchange.
> +     *
> +     * @return message exchange id.
> +     */
> +    String getMessageExchangeId();
> +
> +    /**
> +     * Get output message (could be fault message)
> +     *
> +     * @return output message DAO
> +     */
> +    MessageDAO getResponse();
> +
> +    /**
> +     * Creation time of the message exchange
> +     *
> +     * @return create time
> +     */
> +    Date getCreateTime();
> +
> +    void setCreateTime(Date createTime);
> +
> +    /**
> +     * Get the input message.
> +     *
> +     * @return input message DAO
> +     */
> +    MessageDAO getRequest();
> +
> +    /**
> +     * Get the operation name of this message exchange.
> +     *
> +     * @return operation name.
> +     */
> +    String getOperation();
> +
> +    /**
> +     * The qualified name of the WSDL port type.
> +     *
> +     * @return port type name
> +     */
> +    QName getPortType();
> +
> +    /**
> +     * Set the port type.
> +     *
> +     * @param porttype
> +     *          port type
> +     */
> +    void setPortType(QName porttype);
> +
> +    /**
> +     * Set state of last message sent/received.
> +     *
> +     * @param status state to be set
> +     */
> +    void setStatus(String status);
> +
> +    /**
> +     * Get state of last message sent/received.
> +     *
> +     * @return the state
> +     */
> +    String getStatus();
> +
> +    /**
> +     * Create a new message associated with this message-exchange
> +     *
> +     * @param type
> +     *          message type
> +     * @return new {@link MessageDAO}
> +     */
> +    MessageDAO createMessage(QName type);
> +
> +    /**
> +     * Creates an input message DAO.
> +     */
> +    void setRequest(MessageDAO msg);
> +
> +    /**
> +     * Creates an output message DAO.
> +     */
> +    void setResponse(MessageDAO msg);
> +
> +    /**
> +     * Get the model id for the partner link to which this message exchange
> +     * relates.
> +     *
> +     * @return
> +     */
> +    int getPartnerLinkModelId();
> +
> +    /**
> +     * Set the model id for the partner link to which this message exchange
> +     * relates
> +     *
> +     * @param modelId
> +     */
> +    void setPartnerLinkModelId(int modelId);
> +
> +    /**
> +     * Get the correlation identifier/client id
> +     *
> +     * @return correlation identifier
> +     */
> +    String getCorrelationId();
> +
> +    /**
> +     * Set the correlation identifier/client id
> +     *
> +     * @param correlationId
> +     *          identifier
> +     */
> +    void setCorrelationId(String correlationId);
> +
> +    void setPattern(String string);
> +
> +    void setOperation(String opname);
> +
> +    void setEPR(Element epr);
> +
> +    Element getEPR();
> +
> +    String getPattern();
> +
> +    /**
> +     * Get the response channel.
> +     *
> +     * @return response channel.
> +     */
> +    String getChannel();
> +
> +    /**
> +     * Set the response channel.
> +     *
> +     * @param string
> +     *          response channel
> +     */
> +    void setChannel(String string);
> +
> +    boolean getPropagateTransactionFlag();
> +
> +    QName getFault();
> +
> +    void setFault(QName faultType);
> +
> +    public String getFaultExplanation();
> +
> +    public void setFaultExplanation(String explanation);
> +
> +    void setCorrelationStatus(String cstatus);
> +
> +    String getCorrelationStatus();
> +
> +    /**
> +     * Get the process associate with this message exchange. The process should
> +     * always be available for partnerRole message exchanges. However, for myRole
> +     * message exchanges, it is possible that no process is associated with the
> +     * message exchange (i.e. if the EPR routing fails).
> +     *
> +     * @return process associated with the message exchange
> +     */
> +    ProcessDAO getProcess();
> +
> +    void setProcess(ProcessDAO process);
> +
> +    void setInstance(ProcessInstanceDAO dao);
> +
> +    ProcessInstanceDAO getInstance();
> +
> +    /**
> +     * Get the direction of the message exchange.
> +     *
> +     * @return
> +     */
> +    char getDirection();
> +
> +    /**
> +     * Get the "callee"--the id of the process being invoked in a myRole
> +     * exchange.
> +     * @return
> +     */
> +    QName getCallee();
> +
> +    /**
> +     * Set the "callee"--the id of the process being invoked in a myRole
> +     * exchange.
> +     * @param callee
> +     */
> +    void setCallee(QName callee);
> +
> +    String getProperty(String key);
> +
> +    void setProperty(String key, String value);
> +
> +    Set<String> getPropertyNames();
> +
> +    void setPartnerLink(PartnerLinkDAO plinkDAO);
> +
> +    PartnerLinkDAO getPartnerLink();
> +
> +    /**
> +     * Gets the mex id for the message exchange that has been piped with
> +     * this one in a process to process interaction. 
> +     * @return
> +     */
> +    String getPipedMessageExchangeId();
> +    void setPipedMessageExchangeId(String mexId);
> +    
> +    int getSubscriberCount();
> +    void setSubscriberCount(int subscriberCount);
> +
> +    void release(boolean doClean);
> +
> +    /**
> +     * Deletes messages that arrived before the route is setup
> +     */
> +    void releasePremieMessages();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageRouteDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageRouteDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageRouteDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/MessageRouteDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,57 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import org.apache.ode.bpel.common.CorrelationKeySet;
> +
> +import org.apache.ode.bpel.common.CorrelationKey;
> +
> +/**
> + * Data access object representing a message consumer. A message consumer
> + * represents an unsatisfied BPEL <code>pick</code> or <code>receive</code>
> + * activity.
> + */
> +public interface MessageRouteDAO  {
> +
> +    /**
> +     * Get the BPEL process instance to which this consumer belongs.
> +     *
> +     * @return the process instance to which this consumer belongs
> +     */
> +    ProcessInstanceDAO getTargetInstance();
> +
> +    String getGroupId();
> +
> +    int getIndex();
> +
> +    String getRoute();
> +
> +    /**
> +     * Returns a correlation key set for the message route
> +     * @return
> +     */
> +    public CorrelationKeySet getCorrelationKeySet();
> +
> +    void setCorrelationKeySet(CorrelationKeySet keySet);
> +
> +    void setCorrelationKey(CorrelationKey key);
> +
> +    CorrelationKey getCorrelationKey();
> +
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/NoRootContextException.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/NoRootContextException.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/NoRootContextException.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/NoRootContextException.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,27 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +/**
> + * Exception thrown when no root context.
> + */
> +public class NoRootContextException extends Exception {
> +    private static final long serialVersionUID = -5160169433065685209L;
> +}
> +
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/PartnerLinkDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/PartnerLinkDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/PartnerLinkDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/PartnerLinkDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,72 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.ode.dao.bpel;
> +
> +import javax.xml.namespace.QName;
> +
> +import org.w3c.dom.Element;
> +
> +/**
> + * Data access object representing the endpoint reference of a specific
> + * partner link role (typically the partnerRole). An EPR has an implicit
> + * value attributed by the engine (usually by using the WSDL service
> + * definition but anyway that's the communication layer business). An
> + * EndpointReferenceDAO only has its own value if the default has been
> + * overriden (by assignment).
> + */
> +public interface PartnerLinkDAO {
> +
> +  /**
> +   * Get the model id of the partner link.
> +   * @return
> +   */
> +  public int getPartnerLinkModelId();
> +  
> +  public String getMyRoleName();
> +
> +  public String getPartnerRoleName();
> +  
> +  public String getPartnerLinkName();
> +
> +  /**
> +   * Get the service name associated with this partner link.
> +   * @return
> +   */
> +  public QName getMyRoleServiceName();
> +
> +  public void setMyRoleServiceName(QName svcName);
> +  
> +  public Element getMyEPR();
> +
> +  public void setMyEPR(Element val);
> +
> +  public Element getPartnerEPR();
> +
> +  public void setPartnerEPR(Element val);
> +
> +public String getMySessionId();
> +
> +public String getPartnerSessionId();
> +
> +public void setPartnerSessionId(String session);
> +
> +public void setMySessionId(String sessionId);
> +
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,121 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import org.apache.ode.bpel.common.CorrelationKey;
> +
> +import javax.xml.namespace.QName;
> +
> +import java.util.Collection;
> +
> +/**
> + * BPEL process data access objects. Contains references to active process instances ({@link ProcessInstanceDAO} and messages bound
> + * for instances yet to be created or not yet correlated..
> + */
> +public interface ProcessDAO {
> +    /**
> +     * Get the unique process identifier.
> +     * 
> +     * @return process identifier
> +     */
> +    QName getProcessId();
> +
> +    /**
> +     * Get the BPEL process name.
> +     * 
> +     * @return qualified BPEL process name.
> +     */
> +    QName getType();
> +
> +    /**
> +     * Get the process version
> +     * 
> +     * @return version
> +     */
> +    long getVersion();
> +
> +    /**
> +     * Get a message correlator instance.
> +     * 
> +     * @param correlatorId
> +     *            correlator identifier
> +     * @return correlator corresponding to the given identifier
> +     */
> +    CorrelatorDAO getCorrelator(String correlatorId);
> +
> +    /**
> +     * Create a new process instance object.
> +     * 
> +     * @param instantiatingCorrelator
> +     *            instantiating {@link CorrelatorDAO}
> +     * @return newly generated instance DAO
> +     */
> +    ProcessInstanceDAO createInstance(CorrelatorDAO instantiatingCorrelator);
> +
> +    /**
> +     * Get a process instance (by identifier).
> +     * 
> +     * @param iid
> +     *            unique instance identifier.
> +     * @return DAO corresponding to the process instance
> +     */
> +    ProcessInstanceDAO getInstance(Long iid);
> +
> +    /**
> +     * Locates a process instance based on a correlation key.
> +     * 
> +     * @param cckey
> +     *            correlation key
> +     * @return collection of {@link ProcessInstanceDAO} that match correlation key, ordered by date
> +     */
> +    Collection<ProcessInstanceDAO> findInstance(CorrelationKey cckey);
> +
> +    /**
> +     * Remove the routes with the given Id for all the correlators in the process.
> +     * 
> +     * @todo remove this method.
> +     * @param routeId
> +     */
> +    void removeRoutes(String routeId, ProcessInstanceDAO target);
> +
> +    /**
> +     * Callback indicating that a process instance has completed its duties.
> +     * 
> +     * @param instance
> +     *            the completed {@link ProcessInstanceDAO}
> +     */
> +    void instanceCompleted(ProcessInstanceDAO instance);
> +
> +    /**
> +     * Deletes only the process and routes without instances. This also deletes any static data to 
> +     * the process: correlators.
> +     */
> +    void deleteProcessAndRoutes();
> +    
> +    CorrelatorDAO addCorrelator(String correlator);
> +
> +    String getGuid();
> +
> +    int getNumInstances();
> +
> +    /**
> +     * @return all instances that haven't completed, use with care as there could be a lot of them 
> +     */
> +    Collection<ProcessInstanceDAO> getActiveInstances();
> +}
> 
> Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessInstanceDAO.java
> URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessInstanceDAO.java?rev=947046&view=auto
> ==============================================================================
> --- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessInstanceDAO.java (added)
> +++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ProcessInstanceDAO.java Fri May 21 15:40:59 2010
> @@ -0,0 +1,266 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *    http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.ode.dao.bpel;
> +
> +import org.apache.ode.bpel.evt.ProcessInstanceEvent;
> +import org.apache.ode.bpel.iapi.ProcessConf.CLEANUP_CATEGORY;
> +import org.w3c.dom.Element;
> +
> +import java.util.Collection;
> +import java.util.Date;
> +import java.util.Set;
> +
> +import javax.xml.namespace.QName;
> +
> +
> +/**
> + * BPEL process instance data access object. This object serves as the root
> + * object for data related to a particular process instance; this state
> + * includes auditing events, scopes, pick/received waiters, and the
> + * serialized process instance image.
> + */
> +public interface ProcessInstanceDAO {
> +
> +    /**
> +     * Get the time when the process instance was created.
> +     * @return time of instance creation
> +     */
> +    public Date getCreateTime();
> +    
> +    /**
> +     * Get the time when the process instance was last active (re-hydrated).
> +     * @return time of activity
> +     */
> +    public Date getLastActiveTime();
> +    
> +    /**
> +     * Set last activity time for the process instance
> +     * @param dt tiem of activity
> +     */
> +    void setLastActiveTime(Date dt);
> +
> +    /**
> +     * The un-caught fault associated with the process. This will be
> +     * <code>null</code> if no fault occurred or if all faults are caught and
> +     * processed.
> +     * @param fault the fault
> +     */
> +    void setFault(FaultDAO fault);
> +    
> +    void setFault(QName faultName, String explanation, int faultLineNo, int activityId, Element faultMessage);
> +
> +    /**
> +     * The un-caught fault associated with the process. This will be
> +     * <code>null</code> if no fault occurred or if all faults are caught and
> +     * processed.
> +     *
> +     * @return the fault
> +     */
> +    FaultDAO getFault();
> +
> +    /**
> +     * Get the (opaque) instance execution state.
> +     * @return opaque execution state
> +     */
> +    byte[] getExecutionState();
> +
> +    /**
> +     * Set the (opaque) instance execution state.
> +     * @param execState execuction state
> +     */
> +    void setExecutionState(byte[] execState);
> +
> +    /**
> +     * Get the process.
> +     *
> +     * @return process reference.
> +     */
> +    ProcessDAO getProcess();
> +
> +    /**
> +     * Get the root (global) scope for the process.
> +     *
> +     * @return the root scope
> +     */
> +    ScopeDAO getRootScope();
> +
> +    /**
> +     * Set the state of the process instance; one of the <code>STATE_XXX</code>
> +     * constants defined in ProcessState.
> +     * 
> +     * This should automatically populate the previous state.
> +     *
> +     * @param state new state of the process instance
> +     */
> +    void setState(short state);
> +
> +    /**
> +     * Get the state of the process instance; one of the <code>STATE_XXX</code>
> +     * constants defined in ProcessState.
> +     *
> +     * @return state of process instance
> +     */
> +    short getState();
> +    
> +    /**
> +     * Returns the next to last state. 
> +     * @return
> +     */
> +    short getPreviousState();
> +
> +    /**
> +     * Creates a new scope.
> +     *
> +     * @param parentScope parent scope of the new scope, or null if this is the
> +     *        root scope.
> +     * @param name scope name
> +     *
> +     * @return the newly created scope
> +     */
> +    ScopeDAO createScope(ScopeDAO parentScope, String name, int scopeModelId);
> +
> +    /**
> +     * Get the instance identifier.
> +     * @return the instance identifier
> +     */
> +    Long getInstanceId();
> +
> +    /**
> +     * Returns a scope using its instance id.
> +     * @param scopeInstanceId
> +     * @return
> +     */
> +    ScopeDAO getScope(Long scopeInstanceId);
> +    
> +    /** 
> +     * Returns all the scopes with the associated name.
> +     * @param scopeName
> +     * @return
> +     */
> +    Collection<ScopeDAO> getScopes(String scopeName);
> +    
> +    /** 
> +     * Returns all the scopes belonging to this isntance.
> +     * @param scopeName
> +     * @return
> +     */
> +    Collection<ScopeDAO> getScopes();
> +    
> +    /**
> +     * Return the correlator which results in the instantiation of the process instance.
> +     * @return
> +     */
> +    CorrelatorDAO getInstantiatingCorrelator();
> +    
> +    /**
> +     * Returns all variable instances matching the variable name for a specified scope.
> +     */
> +    XmlDataDAO[] getVariables(String variableName, int scopeModelId);
> +
> +    /**
> +     * Get all the correlation sets for this process.
> +     * @return {@link Set} of {@link CorrelationSetDAO} objects
> +     */
> +    Set<CorrelationSetDAO> getCorrelationSets();
> +
> +    /**
> +     * Get a correlation set by its name from this process
> +     * @param name
> +     * @return a {@link CorrelationSetDAO} object
> +     */
> +    CorrelationSetDAO getCorrelationSet(String name);
> +
> +    /**
> +     * A simple callback to allow the ProcessInstance to perform post-completion duties.
> +     * The DAO's state indicates whether any fault has occured.
> +     */
> +    void finishCompletion();
> +
> +    /**
> +     * Delete the process instance object from the database.
> +     */
> +    void delete(Set<CLEANUP_CATEGORY> cleanupCategories);
> +
> +    /**
> +     * Delete the process instance object from the database.
> +     * @param cleanupCategories the categories of entities to delete
> +     * @param deleteMyRoleMex will clean up the my role mex if set to true
> +     */
> +    void delete(Set<CLEANUP_CATEGORY> cleanupCategories, boolean deleteMyRoleMex);
> +
> +    /**
> +     * Insert a BPEL event to the database (associating with this process).
> +     * @param event BPEL event
> +     */
> +    void insertBpelEvent(ProcessInstanceEvent event);
> +
> +    /**
> +     * Get a triple containing the first
> +     * @return
> +     */
> +    EventsFirstLastCountTuple getEventsFirstLastCount();
> +
> +    /** 
> +     * Get the next number from a monotonically increasing sequence.
> +     * @return next number in seqeunce
> +     */
> +    public long genMonotonic();
> +
> +    public BpelDAOConnection getConnection();
> +
> +    /**
> +     * Get number of activities in the failure state.
> +     */
> +    int getActivityFailureCount();
> +
> +    /**
> +     * Get date/time of last activity failure.
> +     */
> +    Date getActivityFailureDateTime();
> +
> +    /**
> +     * Returns all activity recovery objects for this process instance.
> +     */
> +    Collection<ActivityRecoveryDAO> getActivityRecoveries();
> +
> +    /**
> +     * Create an activity recovery object for a given activity instance.
> +     * Specify the reason and optional data associated with the failure.
> +     * Date/time failure occurred, and the recovery channel and available
> +     * recovery actions.
> +     */
> +    void createActivityRecovery(String channel, long activityId, String reason, Date dateTime, Element data, String[] actions, int retries);
> +
> +    /**
> +     * Delete previously registered activity recovery.
> +     */
> +    void deleteActivityRecovery(String channel);
> +
> +    /**
> +     * Transport object holding the date of the first and last instance event
> +     * along with the number events.
> +     */
> +    public class EventsFirstLastCountTuple {
> +        public Date first;
> +        public Date last;
> +        public int count;
> +    }
> +
> +    Collection<String> getMessageExchangeIds();
> +}
> 
> 

-- 
Tammo van Lessen - http://www.taval.de