[jboss-cvs] jboss-seam/src/main/org/jboss/seam/framework ...
Gavin King
gavin.king at jboss.com
Fri Jul 6 15:42:55 EDT 2007
User: gavin
Date: 07/07/06 15:42:55
Modified: src/main/org/jboss/seam/framework EntityHome.java
EntityIdentifier.java EntityQuery.java
Log:
JBSEAM-1614
Revision Changes Path
1.19 +10 -1 jboss-seam/src/main/org/jboss/seam/framework/EntityHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/EntityHome.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- EntityHome.java 18 Jun 2007 01:20:26 -0000 1.18
+++ EntityHome.java 6 Jul 2007 19:42:55 -0000 1.19
@@ -1,9 +1,11 @@
package org.jboss.seam.framework;
import javax.persistence.EntityManager;
+import javax.transaction.SystemException;
import org.jboss.seam.annotations.Transactional;
import org.jboss.seam.persistence.PersistenceProvider;
+import org.jboss.seam.transaction.Transaction;
/**
* Base class for Home objects of JPA entities.
@@ -81,7 +83,14 @@
{
if ( getEntityManager().isOpen() )
{
- getEntityManager().joinTransaction();
+ try
+ {
+ Transaction.instance().enlist( getEntityManager() );
+ }
+ catch (SystemException se)
+ {
+ throw new RuntimeException("could not join transaction", se);
+ }
}
}
1.4 +10 -4 jboss-seam/src/main/org/jboss/seam/framework/EntityIdentifier.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityIdentifier.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/EntityIdentifier.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- EntityIdentifier.java 26 Jun 2007 00:59:34 -0000 1.3
+++ EntityIdentifier.java 6 Jul 2007 19:42:55 -0000 1.4
@@ -1,12 +1,11 @@
-/**
- *
- */
package org.jboss.seam.framework;
import javax.persistence.EntityManager;
+import javax.transaction.SystemException;
import org.jboss.seam.Entity;
import org.jboss.seam.persistence.PersistenceProvider;
+import org.jboss.seam.transaction.Transaction;
public class EntityIdentifier extends Identifier<EntityManager>
{
@@ -22,7 +21,14 @@
{
throw new IllegalArgumentException("EntityManager must not be null");
}
- entityManager.joinTransaction();
+ try
+ {
+ Transaction.instance().enlist(entityManager);
+ }
+ catch (SystemException se)
+ {
+ throw new RuntimeException("could not join transaction", se);
+ }
return entityManager.find(getClazz(), getId());
}
1.16 +18 -2 jboss-seam/src/main/org/jboss/seam/framework/EntityQuery.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityQuery.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/EntityQuery.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- EntityQuery.java 19 May 2007 01:36:37 -0000 1.15
+++ EntityQuery.java 6 Jul 2007 19:42:55 -0000 1.16
@@ -4,9 +4,11 @@
import java.util.Map;
import javax.persistence.EntityManager;
+import javax.transaction.SystemException;
import org.jboss.seam.annotations.Transactional;
import org.jboss.seam.persistence.QueryParser;
+import org.jboss.seam.transaction.Transaction;
/**
* A Query object for JPA.
@@ -137,7 +139,8 @@
evaluateAllParameters();
- getEntityManager().joinTransaction();
+ joinTransaction();
+
javax.persistence.Query query = getEntityManager().createQuery( getRenderedEjbql() );
setParameters( query, getQueryParameterValues(), 0 );
setParameters( query, getRestrictionParameterValues(), getQueryParameterValues().size() );
@@ -159,7 +162,8 @@
evaluateAllParameters();
- getEntityManager().joinTransaction();
+ joinTransaction();
+
javax.persistence.Query query = getEntityManager().createQuery( getCountEjbql() );
setParameters( query, getQueryParameterValues(), 0 );
setParameters( query, getRestrictionParameterValues(), getQueryParameterValues().size() );
@@ -188,4 +192,16 @@
this.hints = hints;
}
+ protected void joinTransaction()
+ {
+ try
+ {
+ Transaction.instance().enlist( getEntityManager() );
+ }
+ catch (SystemException se)
+ {
+ throw new RuntimeException("could not join transaction", se);
+ }
+ }
+
}
More information about the jboss-cvs-commits
mailing list