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);