[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