[jboss-svn-commits] JBL Code SVN: r28012 - in labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943: model and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 14 11:49:19 EDT 2009
Author: whitingjr
Date: 2009-07-14 11:49:19 -0400 (Tue, 14 Jul 2009)
New Revision: 28012
Modified:
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerImpl.java
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/model/Car.java
Log:
Made entitymanager final, created specific constructor.
Added identity field constructor for domain objec.t
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java 2009-07-14 15:43:44 UTC (rev 28011)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java 2009-07-14 15:49:19 UTC (rev 28012)
@@ -158,7 +158,7 @@
// ignore this set of properties, the system uses the first configuration passed to the persistence provider
}
- return null;
+ return new STMEntityManagerImpl(this.persistenceContext);
}
@Override
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerImpl.java 2009-07-14 15:43:44 UTC (rev 28011)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerImpl.java 2009-07-14 15:49:19 UTC (rev 28012)
@@ -13,11 +13,11 @@
import javax.persistence.Query;
import javax.persistence.spi.PersistenceUnitTransactionType;
-import org.hibernate.engine.PersistenceContext;
+import uk.ac.ncl.sdia.a8905943.ejb3.persistence.STMPersistenceContext;
-public class STMEntityManagerImpl implements EntityManager
+final class STMEntityManagerImpl implements EntityManager
{
- private PersistenceContext persistenceContext;
+ private STMPersistenceContext persistenceContext;
private PersistenceUnitTransactionType type;
@Override
@@ -192,9 +192,13 @@
}
- public STMEntityManagerImpl()
+ private STMEntityManagerImpl()
{
// FIXME STMEntityManagerImpl constructor
}
+ public STMEntityManagerImpl(STMPersistenceContext context)
+ {
+ this.persistenceContext = context;
+ }
}
Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/model/Car.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/model/Car.java 2009-07-14 15:43:44 UTC (rev 28011)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/model/Car.java 2009-07-14 15:49:19 UTC (rev 28012)
@@ -24,5 +24,12 @@
{
this.make = make;
}
+ /* Constructor taking identitiy field allows the STM to create domain objects with ids
+ bypassing the AOP framework joinpoints. This avoids the STM mistaking the creation of a
+ domain object with identity for transactional unit of work candidate.*/
+ public Car(Long identity)
+ {
+ this.id = identity;
+ }
}
More information about the jboss-svn-commits
mailing list