You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2012/07/27 01:09:41 UTC
git commit: DELTASPIKE-219 #getTransaction for providing a
transaction-adapter
Updated Branches:
refs/heads/master c6959e7c3 -> 67d20bb7d
DELTASPIKE-219 #getTransaction for providing a transaction-adapter
Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/67d20bb7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/67d20bb7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/67d20bb7
Branch: refs/heads/master
Commit: 67d20bb7d08d27160d3308cd0a53b0ac2be8cf10
Parents: c6959e7
Author: gpetracek <gp...@apache.org>
Authored: Fri Jul 27 01:02:18 2012 +0200
Committer: gpetracek <gp...@apache.org>
Committed: Fri Jul 27 01:08:08 2012 +0200
----------------------------------------------------------------------
.../ResourceLocalPersistenceStrategy.java | 18 +++++++++++---
1 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/67d20bb7/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalPersistenceStrategy.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalPersistenceStrategy.java
index 38e1fbb..dbeb66b 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalPersistenceStrategy.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalPersistenceStrategy.java
@@ -110,7 +110,7 @@ public class ResourceLocalPersistenceStrategy implements PersistenceStrategy
{
for (EntityManager entityManager : ems)
{
- EntityTransaction transaction = entityManager.getTransaction();
+ EntityTransaction transaction = getTransaction(entityManager);
if (!transaction.isActive())
{
@@ -132,7 +132,7 @@ public class ResourceLocalPersistenceStrategy implements PersistenceStrategy
for (Map.Entry<Class, EntityManager> emsEntry: emsEntries.entrySet())
{
EntityManager em = emsEntry.getValue();
- EntityTransaction transaction = em.getTransaction();
+ EntityTransaction transaction = getTransaction(em);
if (transaction != null && transaction.isActive())
{
try
@@ -180,7 +180,7 @@ public class ResourceLocalPersistenceStrategy implements PersistenceStrategy
// but first try to flush all the transactions and write the updates to the database
for (EntityManager em: emsEntries.values())
{
- EntityTransaction transaction = em.getTransaction();
+ EntityTransaction transaction = getTransaction(em);
if (transaction != null && transaction.isActive())
{
try
@@ -202,7 +202,7 @@ public class ResourceLocalPersistenceStrategy implements PersistenceStrategy
// and now either commit or rollback all transactions
for (EntityManager em : emsEntries.values())
{
- EntityTransaction transaction = em.getTransaction();
+ EntityTransaction transaction = getTransaction(em);
if (transaction != null && transaction.isActive())
{
try
@@ -238,6 +238,16 @@ public class ResourceLocalPersistenceStrategy implements PersistenceStrategy
}
}
+ /**
+ * @param entityManager current entity-manager
+ * @return per default the {@link EntityTransaction} of the given {@link EntityManager}.
+ * A subclass can also return an adapter e.g. for an UserTransaction
+ */
+ protected EntityTransaction getTransaction(EntityManager entityManager)
+ {
+ return entityManager.getTransaction();
+ }
+
private EntityManager resolveEntityManagerForQualifier(Class<? extends Annotation> emQualifier)
{
Bean<EntityManager> entityManagerBean = resolveEntityManagerBean(emQualifier);