Author: jeff.yuchang
Date: 2009-11-26 10:02:07 -0500 (Thu, 26 Nov 2009)
New Revision: 337
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/openjpa/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/openjpa/HibernateDaoOperator.java
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/resources/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/resources/META-INF/
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/resources/META-INF/persistence.xml
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/JpaTxMgrProvider.java
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/OpenJPADaoOperator.java
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/resources/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/resources/META-INF/
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/resources/META-INF/persistence.xml
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADAO.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperator.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperatorFactory.java
Removed:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaTxMgrProvider.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/OpenJPADAO.java
Modified:
branches/ODE/ODE-1.x-jpa/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
branches/ODE/ODE-1.x-jpa/bpel-store/src/main/java/org/apache/ode/store/jpa/DbConfStoreConnectionFactory.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
Log:
* add dao-jpa-ojpa and dao-jpa-hibernate modules.
Modified:
branches/ODE/ODE-1.x-jpa/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -34,7 +34,7 @@
import org.apache.ode.bpel.iapi.Scheduler;
import org.apache.ode.bpel.iapi.Scheduler.MapSerializableRunnable;
import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl;
-import org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl;
+import org.apache.ode.dao.jpa.openjpa.BPELDAOConnectionFactoryImpl;
import org.apache.ode.il.EmbeddedGeronimoFactory;
import org.apache.ode.il.MockScheduler;
import org.apache.ode.il.config.OdeConfigProperties;
Modified:
branches/ODE/ODE-1.x-jpa/bpel-store/src/main/java/org/apache/ode/store/jpa/DbConfStoreConnectionFactory.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/bpel-store/src/main/java/org/apache/ode/store/jpa/DbConfStoreConnectionFactory.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/bpel-store/src/main/java/org/apache/ode/store/jpa/DbConfStoreConnectionFactory.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -21,7 +21,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.ode.dao.jpa.JpaTxMgrProvider;
+import org.apache.ode.dao.jpa.JPADaoOperatorFactory;
import org.apache.ode.store.ConfStoreConnection;
import org.apache.ode.store.ConfStoreConnectionFactory;
@@ -31,6 +31,7 @@
import javax.transaction.TransactionManager;
import java.util.HashMap;
+import java.util.Map;
/**
* @author Matthieu Riou <mriou at apache dot org>
@@ -47,18 +48,9 @@
public DbConfStoreConnectionFactory(DataSource ds, boolean createDatamodel, String
txFactoryClassName) {
_ds = ds;
initTxMgr(txFactoryClassName);
-
- HashMap<String, Object> propMap = new HashMap<String,Object>();
- propMap.put("openjpa.Log", "log4j");
- propMap.put("openjpa.ManagedRuntime", new JpaTxMgrProvider(_txMgr));
- propMap.put("openjpa.ConnectionFactory", _ds);
- propMap.put("openjpa.ConnectionFactoryMode", "managed");
- propMap.put("openjpa.FlushBeforeQueries", "false");
- propMap.put("openjpa.FetchBatchSize", 1000);
- propMap.put("openjpa.jdbc.TransactionIsolation",
"read-committed");
-
- if (createDatamodel) propMap.put("openjpa.jdbc.SynchronizeMappings",
"buildSchema(ForeignKeys=false)");
-
+
+ Map<String, Object> propMap =
JPADaoOperatorFactory.getJPADaoOperator().getInitializeProperties(_ds, createDatamodel,
_txMgr);
+
_emf = Persistence.createEntityManagerFactory("ode-store", propMap);
}
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -18,27 +18,24 @@
*/
package org.apache.ode.dao.jpa;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.dao.BpelDAOConnection;
-import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC;
-import org.apache.openjpa.ee.ManagedRuntime;
-import org.apache.openjpa.util.GeneralException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.sql.DataSource;
-import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.Synchronization;
import javax.transaction.SystemException;
-import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC;
+
/**
* @author Matthieu Riou <mriou at apache dot org>
*/
@@ -49,10 +46,12 @@
private TransactionManager _tm;
private DataSource _ds;
private Object _dbdictionary;
+ private JPADaoOperator operator;
static ThreadLocal<BPELDAOConnectionImpl> _connections = new
ThreadLocal<BPELDAOConnectionImpl>();
public BPELDAOConnectionFactoryImpl() {
+ operator = JPADaoOperatorFactory.getJPADaoOperator();
}
@SuppressWarnings("unchecked")
@@ -90,26 +89,14 @@
@SuppressWarnings("unchecked")
public void init(Properties properties) {
- HashMap<String, Object> propMap = new HashMap<String,Object>();
-
-// propMap.put("openjpa.Log", "DefaultLevel=TRACE");
- propMap.put("openjpa.Log", "log4j");
-// propMap.put("openjpa.jdbc.DBDictionary",
"org.apache.openjpa.jdbc.sql.DerbyDictionary");
-
- propMap.put("openjpa.ManagedRuntime", new JpaTxMgrProvider(_tm));
- propMap.put("openjpa.ConnectionFactory", _ds);
- propMap.put("openjpa.ConnectionFactoryMode", "managed");
- propMap.put("openjpa.FlushBeforeQueries", "false");
- propMap.put("openjpa.FetchBatchSize", 1000);
- propMap.put("openjpa.jdbc.TransactionIsolation",
"read-committed");
-
- if (_dbdictionary != null)
- propMap.put("openjpa.jdbc.DBDictionary", _dbdictionary);
-
- if (properties != null)
- for (Map.Entry me : properties.entrySet())
+
+ Map<String, Object> propMap = operator.getInitializeProperties(_ds, false,
_tm);
+
+ if (properties != null) {
+ for (Map.Entry me : properties.entrySet()) {
propMap.put((String)me.getKey(),me.getValue());
-
+ }
+ }
_emf = Persistence.createEntityManagerFactory("ode-dao", propMap);
}
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -50,8 +50,6 @@
import org.apache.ode.bpel.evt.BpelEvent;
import org.apache.ode.bpel.evt.ScopeEvent;
import org.apache.ode.utils.ISO8601DateParser;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
-import org.apache.openjpa.persistence.OpenJPAQuery;
/**
* @author Matthieu Riou <mriou at apache dot org>
@@ -300,8 +298,7 @@
// criteria limit
Query pq = _em.createQuery(query.toString());
- OpenJPAQuery kq = OpenJPAPersistence.cast(pq);
- kq.getFetchPlan().setFetchBatchSize(criteria.getLimit());
+ JPADaoOperatorFactory.getJPADaoOperator().setBatchSize(pq, criteria.getLimit());
List<ProcessInstanceDAO> ql = pq.getResultList();
Collection<ProcessInstanceDAO> list = new
ArrayList<ProcessInstanceDAO>();
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelatorDAOImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -33,7 +33,7 @@
@NamedQueries({
@NamedQuery(name=CorrelatorDAOImpl.DELETE_CORRELATORS_BY_PROCESS, query="delete
from CorrelatorDAOImpl as c where c._process = :process")
})
-public class CorrelatorDAOImpl extends OpenJPADAO implements CorrelatorDAO {
+public class CorrelatorDAOImpl extends JPADAO implements CorrelatorDAO {
public final static String DELETE_CORRELATORS_BY_PROCESS =
"DELETE_CORRELATORS_BY_PROCESS";
private final static String ROUTE_BY_CKEY_HEADER = "select route from
MessageRouteDAOImpl as route where route._correlator._process._processType = :ptype and
route._correlator._correlatorKey = :corrkey";
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/EventDAOImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -46,7 +46,7 @@
@NamedQuery(name=EventDAOImpl.DELETE_EVENTS_BY_IDS, query="delete from
EventDAOImpl as e where e._id in (:ids)"),
@NamedQuery(name=EventDAOImpl.DELETE_EVENTS_BY_INSTANCE, query="delete from
EventDAOImpl as e where e._instance = :instance")
})
-public class EventDAOImpl extends OpenJPADAO {
+public class EventDAOImpl extends JPADAO {
public final static String SELECT_EVENT_IDS_BY_PROCESS =
"SELECT_EVENT_IDS_BY_PROCESS";
public final static String DELETE_EVENTS_BY_IDS = "DELETE_EVENTS_BY_IDS";
public final static String DELETE_EVENTS_BY_INSTANCE =
"DELETE_EVENTS_BY_INSTANCE";
Added: branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADAO.java
===================================================================
--- branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADAO.java
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADAO.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,66 @@
+/*
+ * 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.jpa;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+
+/**
+ * @author Matthieu Riou <mriou at apache dot org>
+ * @author Jeff Yu
+ */
+public class JPADAO {
+
+ private JPADaoOperator operator;
+
+ public JPADAO() {
+ operator = JPADaoOperatorFactory.getJPADaoOperator();
+ }
+
+ protected BpelDAOConnection getConn() {
+ return BPELDAOConnectionFactoryImpl._connections.get();
+ }
+
+ protected EntityManager getEM() {
+ return operator.getEM();
+ }
+
+ /**
+ * javax.persistence.Query either let you query for a collection or a single
+ * value throwing an exception if nothing is found. Just a convenient shortcut
+ * for single results allowing null values
+ * @param qry query to execute
+ * @return whatever you assign it to
+ */
+ @SuppressWarnings("unchecked")
+ protected <T> T getSingleResult(Query qry) {
+ List res = qry.getResultList();
+ if (res.size() == 0) return null;
+ return (T) res.get(0);
+ }
+
+ protected <T> void batchUpdateByIds(Iterator<T> ids, Query query, String
parameterName) {
+ operator.batchUpdateByIds(ids, query, parameterName);
+ }
+}
\ No newline at end of file
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperator.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperator.java
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperator.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,30 @@
+package org.apache.ode.dao.jpa;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
+
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+
+/**
+ * These is interfaces that will include the methods that will be used in JPA DAO,
+ * But the implementation should be different from various JPA vendor, like OpenJPA,
Hibernate etc.
+ *
+ * @author Jeff Yu
+ *
+ */
+public interface JPADaoOperator {
+
+ public EntityManager getEM() ;
+
+ public <T> void batchUpdateByIds(Iterator<T> ids, Query query, String
parameterName);
+
+ public void setBatchSize(Query query, int limit);
+
+ public Map<String, Object> getInitializeProperties(DataSource ds, boolean
createDatamodel, TransactionManager tx);
+
+}
\ No newline at end of file
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperatorFactory.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperatorFactory.java
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JPADaoOperatorFactory.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,20 @@
+/**
+ *
+ */
+package org.apache.ode.dao.jpa;
+
+/**
+ *
+ * @author Jeff Yu
+ *
+ */
+public class JPADaoOperatorFactory {
+
+ private JPADaoOperatorFactory(){
+ }
+
+ public static JPADaoOperator getJPADaoOperator() {
+ return null;
+ }
+
+}
Deleted:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaTxMgrProvider.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaTxMgrProvider.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/JpaTxMgrProvider.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -1,86 +0,0 @@
-/*
- * 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.jpa;
-
-import javax.transaction.NotSupportedException;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
-import org.apache.openjpa.ee.ManagedRuntime;
-import org.apache.openjpa.util.GeneralException;
-
-public class JpaTxMgrProvider implements ManagedRuntime {
- private TransactionManager _txMgr;
-
- public JpaTxMgrProvider(TransactionManager txMgr) {
- _txMgr = txMgr;
- }
-
- public TransactionManager getTransactionManager() throws Exception {
- return _txMgr;
- }
-
- public void setRollbackOnly(Throwable cause) throws Exception {
- // there is no generic support for setting the rollback cause
- getTransactionManager().getTransaction().setRollbackOnly();
- }
-
- public Throwable getRollbackCause() throws Exception {
- // there is no generic support for setting the rollback cause
- return null;
- }
-
- public Object getTransactionKey() throws Exception, SystemException {
- return _txMgr.getTransaction();
- }
-
- public void doNonTransactionalWork(java.lang.Runnable runnable) throws
NotSupportedException {
- TransactionManager tm = null;
- Transaction transaction = null;
-
- try {
- tm = getTransactionManager();
- transaction = tm.suspend();
- } catch (Exception e) {
- NotSupportedException nse =
- new NotSupportedException(e.getMessage());
- nse.initCause(e);
- throw nse;
- }
-
- runnable.run();
-
- try {
- tm.resume(transaction);
- } catch (Exception e) {
- try {
- transaction.setRollbackOnly();
- }
- catch(SystemException se2) {
- throw new GeneralException(se2);
- }
- NotSupportedException nse =
- new NotSupportedException(e.getMessage());
- nse.initCause(e);
- throw nse;
- }
- }
-}
\ No newline at end of file
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/MessageExchangeDAOImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -55,7 +55,7 @@
@NamedQuery(name=MessageExchangeDAOImpl.DELETE_MEXS_BY_PROCESS, query="delete
from MessageExchangeDAOImpl as m where m._process = :process"),
@NamedQuery(name=MessageExchangeDAOImpl.SELECT_MEX_IDS_BY_PROCESS, query="select
m._id from MessageExchangeDAOImpl as m where m._process = :process")
})
-public class MessageExchangeDAOImpl extends OpenJPADAO implements MessageExchangeDAO,
CorrelatorMessageDAO {
+public class MessageExchangeDAOImpl extends JPADAO implements MessageExchangeDAO,
CorrelatorMessageDAO {
private static final Log __log = LogFactory.getLog(MessageExchangeDAOImpl.class);
public final static String DELETE_MEXS_BY_PROCESS = "DELETE_MEXS_BY_PROCESS";
Deleted:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/OpenJPADAO.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/OpenJPADAO.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/OpenJPADAO.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -1,78 +0,0 @@
-/*
- * 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.jpa;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
-import org.apache.openjpa.persistence.OpenJPAQuery;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @author Matthieu Riou <mriou at apache dot org>
- */
-public class OpenJPADAO {
- private static final Log __log = LogFactory.getLog(OpenJPADAO.class);
-
- protected BPELDAOConnectionImpl getConn() {
- return BPELDAOConnectionFactoryImpl._connections.get();
- }
-
- protected EntityManager getEM() {
- return OpenJPAPersistence.getEntityManager(this);
- }
-
- /**
- * javax.persistence.Query either let you query for a collection or a single
- * value throwing an exception if nothing is found. Just a convenient shortcut
- * for single results allowing null values
- * @param qry query to execute
- * @return whatever you assign it to
- */
- @SuppressWarnings("unchecked")
- protected <T> T getSingleResult(Query qry) {
- List res = qry.getResultList();
- if (res.size() == 0) return null;
- return (T) res.get(0);
- }
-
- protected <T> void batchUpdateByIds(Iterator<T> ids, Query query, String
parameterName) {
- if( query instanceof OpenJPAQuery ) {
- OpenJPAQuery openJpaQuery = (OpenJPAQuery)query;
- int batchSize = openJpaQuery.getFetchPlan().getFetchBatchSize();
- if( __log.isTraceEnabled() ) __log.trace("BATCH fetchBatchSize = " +
batchSize);
- List<T> batch = new ArrayList<T>();
- while( ids.hasNext() ) {
- for( int i = 0; i < batchSize && ids.hasNext(); i++ ) {
- batch.add(ids.next());
- }
- if( __log.isTraceEnabled() ) __log.trace("BATCH updating " +
batch.size() + " objects.");
- query.setParameter(parameterName, batch);
- query.executeUpdate();
- batch.clear();
- }
- }
- }
-}
\ No newline at end of file
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessDAOImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -46,7 +46,7 @@
@NamedQuery(name="InstanceByCKey", query="select
cs._scope._processInstance from CorrelationSetDAOImpl as cs where cs._correlationKey =
:ckey"),
@NamedQuery(name="CorrelatorByKey", query="select c from
CorrelatorDAOImpl as c where c._correlatorKey = :ckey and c._process = :process")
})
-public class ProcessDAOImpl extends OpenJPADAO implements ProcessDAO {
+public class ProcessDAOImpl extends JPADAO implements ProcessDAO {
private static final Log __log = LogFactory.getLog(ProcessDAOImpl.class);
@Id @Column(name="ID")
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -70,7 +70,7 @@
@NamedQuery(name=ProcessInstanceDAOImpl.COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID,
query="select count(i._instanceId), max(i._lastRecovery) from
ProcessInstanceDAOImpl as i where i._process._processId = :processId and i._state
in(:states) and exists(select r from ActivityRecoveryDAOImpl r where i =
r._instance)")
})
-public class ProcessInstanceDAOImpl extends OpenJPADAO implements ProcessInstanceDAO {
+public class ProcessInstanceDAOImpl extends JPADAO implements ProcessInstanceDAO {
private static final Log __log = LogFactory.getLog(ProcessInstanceDAOImpl.class);
public final static String DELETE_INSTANCES_BY_PROCESS =
"DELETE_INSTANCES_BY_PROCESS";
Modified:
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java 2009-11-26
10:45:02 UTC (rev 336)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa/src/main/java/org/apache/ode/dao/jpa/ScopeDAOImpl.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -53,7 +53,7 @@
@NamedQuery(name=ScopeDAOImpl.SELECT_SCOPE_IDS_BY_INSTANCE, query="select
s._scopeInstanceId from ScopeDAOImpl as s where s._processInstance = :instance"),
@NamedQuery(name=ScopeDAOImpl.DELETE_SCOPES_BY_SCOPE_IDS, query="delete from
ScopeDAOImpl as s where s._scopeInstanceId in(:ids)")
})
-public class ScopeDAOImpl extends OpenJPADAO implements ScopeDAO {
+public class ScopeDAOImpl extends JPADAO implements ScopeDAO {
public final static String SELECT_SCOPE_IDS_BY_PROCESS =
"SELECT_SCOPE_IDS_BY_PROCESS";
public final static String SELECT_SCOPE_IDS_BY_INSTANCE =
"SELECT_SCOPE_IDS_BY_INSTANCE";
public final static String DELETE_SCOPES_BY_SCOPE_IDS =
"DELETE_SCOPES_BY_SCOPE_IDS";
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/openjpa/HibernateDaoOperator.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/openjpa/HibernateDaoOperator.java
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/java/org/apache/ode/dao/jpa/openjpa/HibernateDaoOperator.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,60 @@
+/*
+ * 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.jpa.openjpa;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Persistence;
+import javax.persistence.Query;
+import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.dao.jpa.JPADaoOperator;
+
+/**
+ *
+ * @author Jeff Yu
+ */
+public class HibernateDaoOperator implements JPADaoOperator {
+ private static final Log __log = LogFactory.getLog(HibernateDaoOperator.class);
+
+
+ public EntityManager getEM() {
+ return
Persistence.createEntityManagerFactory("ode-dao").createEntityManager();
+ }
+
+ public <T> void batchUpdateByIds(Iterator<T> ids, Query query, String
parameterName) {
+ //TODO
+ }
+
+ public Map<String, Object> getInitializeProperties(DataSource ds, boolean
createDatamodel, TransactionManager tx) {
+ HashMap<String, Object> propMap = new HashMap<String,Object>();
+ //TODO
+ return propMap;
+ }
+
+ public void setBatchSize(Query query, int limit) {
+ //TODO
+ }
+}
\ No newline at end of file
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/resources/META-INF/persistence.xml
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/resources/META-INF/persistence.xml
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa-hibernate/src/main/resources/META-INF/persistence.xml 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ 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.
+ -->
+<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ version="1.0">
+ <persistence-unit name="ode-dao">
+ <!--
+ This properties file is used specifically by the
+ OpenJPA Enhancer.
+ -->
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <class>org.apache.ode.dao.jpa.ActivityRecoveryDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.CorrelationSetDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.CorrelatorDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.EventDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.FaultDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.MessageDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.MessageExchangeDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.MessageRouteDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.PartnerLinkDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.ProcessDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.ProcessInstanceDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.ScopeDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.XmlDataDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.CorrSetProperty</class>
+ <class>org.apache.ode.dao.jpa.MexProperty</class>
+ <class>org.apache.ode.dao.jpa.XmlDataProperty</class>
+ </persistence-unit>
+</persistence>
\ No newline at end of file
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/JpaTxMgrProvider.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/JpaTxMgrProvider.java
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/JpaTxMgrProvider.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,86 @@
+/*
+ * 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.jpa.openjpa;
+
+import javax.transaction.NotSupportedException;
+import javax.transaction.SystemException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+
+import org.apache.openjpa.ee.ManagedRuntime;
+import org.apache.openjpa.util.GeneralException;
+
+public class JpaTxMgrProvider implements ManagedRuntime {
+ private TransactionManager _txMgr;
+
+ public JpaTxMgrProvider(TransactionManager txMgr) {
+ _txMgr = txMgr;
+ }
+
+ public TransactionManager getTransactionManager() throws Exception {
+ return _txMgr;
+ }
+
+ public void setRollbackOnly(Throwable cause) throws Exception {
+ // there is no generic support for setting the rollback cause
+ getTransactionManager().getTransaction().setRollbackOnly();
+ }
+
+ public Throwable getRollbackCause() throws Exception {
+ // there is no generic support for setting the rollback cause
+ return null;
+ }
+
+ public Object getTransactionKey() throws Exception, SystemException {
+ return _txMgr.getTransaction();
+ }
+
+ public void doNonTransactionalWork(java.lang.Runnable runnable) throws
NotSupportedException {
+ TransactionManager tm = null;
+ Transaction transaction = null;
+
+ try {
+ tm = getTransactionManager();
+ transaction = tm.suspend();
+ } catch (Exception e) {
+ NotSupportedException nse =
+ new NotSupportedException(e.getMessage());
+ nse.initCause(e);
+ throw nse;
+ }
+
+ runnable.run();
+
+ try {
+ tm.resume(transaction);
+ } catch (Exception e) {
+ try {
+ transaction.setRollbackOnly();
+ }
+ catch(SystemException se2) {
+ throw new GeneralException(se2);
+ }
+ NotSupportedException nse =
+ new NotSupportedException(e.getMessage());
+ nse.initCause(e);
+ throw nse;
+ }
+ }
+}
\ No newline at end of file
Added:
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/OpenJPADaoOperator.java
===================================================================
---
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/OpenJPADaoOperator.java
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/java/org/apache/ode/dao/jpa/openjpa/OpenJPADaoOperator.java 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,88 @@
+/*
+ * 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.jpa.openjpa;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.dao.jpa.JPADaoOperator;
+import org.apache.openjpa.persistence.OpenJPAPersistence;
+import org.apache.openjpa.persistence.OpenJPAQuery;
+
+/**
+ * @author Matthieu Riou <mriou at apache dot org>
+ * @author Jeff Yu
+ */
+public class OpenJPADaoOperator implements JPADaoOperator {
+ private static final Log __log = LogFactory.getLog(OpenJPADaoOperator.class);
+
+ public EntityManager getEM() {
+ return OpenJPAPersistence.getEntityManager(this);
+ }
+
+ public <T> void batchUpdateByIds(Iterator<T> ids, Query query, String
parameterName) {
+ if( query instanceof OpenJPAQuery ) {
+ OpenJPAQuery openJpaQuery = (OpenJPAQuery)query;
+ int batchSize = openJpaQuery.getFetchPlan().getFetchBatchSize();
+ if( __log.isTraceEnabled() ) __log.trace("BATCH fetchBatchSize = " +
batchSize);
+ List<T> batch = new ArrayList<T>();
+ while( ids.hasNext() ) {
+ for( int i = 0; i < batchSize && ids.hasNext(); i++ ) {
+ batch.add(ids.next());
+ }
+ if( __log.isTraceEnabled() ) __log.trace("BATCH updating " +
batch.size() + " objects.");
+ query.setParameter(parameterName, batch);
+ query.executeUpdate();
+ batch.clear();
+ }
+ }
+ }
+
+ public Map<String, Object> getInitializeProperties(DataSource ds, boolean
createDatamodel, TransactionManager tx) {
+ HashMap<String, Object> propMap = new HashMap<String,Object>();
+ propMap.put("openjpa.Log", "log4j");
+ propMap.put("openjpa.ManagedRuntime", new JpaTxMgrProvider(tx));
+ propMap.put("openjpa.ConnectionFactory", ds);
+ propMap.put("openjpa.ConnectionFactoryMode", "managed");
+ propMap.put("openjpa.FlushBeforeQueries", "false");
+ propMap.put("openjpa.FetchBatchSize", 1000);
+ propMap.put("openjpa.jdbc.TransactionIsolation",
"read-committed");
+
+ if (createDatamodel) {
+ propMap.put("openjpa.jdbc.SynchronizeMappings",
"buildSchema(ForeignKeys=false)");
+ }
+
+ return propMap;
+ }
+
+ public void setBatchSize(Query query, int limit) {
+ OpenJPAQuery kq = OpenJPAPersistence.cast(query);
+ kq.getFetchPlan().setFetchBatchSize(limit);
+ }
+}
\ No newline at end of file
Added: branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/resources/META-INF/persistence.xml
===================================================================
--- branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/resources/META-INF/persistence.xml
(rev 0)
+++
branches/ODE/ODE-1.x-jpa/dao-jpa-ojpa/src/main/resources/META-INF/persistence.xml 2009-11-26
15:02:07 UTC (rev 337)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ 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.
+ -->
+<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ version="1.0">
+ <persistence-unit name="ode-dao">
+ <!--
+ This properties file is used specifically by the
+ OpenJPA Enhancer.
+ -->
+
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+ <class>org.apache.ode.dao.jpa.ActivityRecoveryDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.CorrelationSetDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.CorrelatorDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.EventDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.FaultDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.MessageDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.MessageExchangeDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.MessageRouteDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.PartnerLinkDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.ProcessDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.ProcessInstanceDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.ScopeDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.XmlDataDAOImpl</class>
+ <class>org.apache.ode.dao.jpa.CorrSetProperty</class>
+ <class>org.apache.ode.dao.jpa.MexProperty</class>
+ <class>org.apache.ode.dao.jpa.XmlDataProperty</class>
+ </persistence-unit>
+</persistence>
\ No newline at end of file