[jboss-svn-commits] JBL Code SVN: r27915 - labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jul 12 14:12:54 EDT 2009


Author: whitingjr
Date: 2009-07-12 14:12:54 -0400 (Sun, 12 Jul 2009)
New Revision: 27915

Modified:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java
Log:
Added implementation of factory methods.

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-12 18:12:24 UTC (rev 27914)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java	2009-07-12 18:12:54 UTC (rev 27915)
@@ -9,13 +9,30 @@
 import java.util.Map;
 
 import javax.persistence.EntityManager;
+import javax.persistence.spi.PersistenceUnitTransactionType;
 
+import org.apache.log4j.Logger;
+
 import uk.ac.ncl.sdia.a8905943.spec.entitymanager.STMEntityManagerFactory;
 
+/** 
+ * This object is responsible for choosing the transactional type, creating a persistence contxt, entity manager
+ * and providing the entity manager with the persistence context.
+ * This implemenation creates a new instance of EntityManager for each request.
+ * 
+ * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
+ * @version $Revision: 1.1 $
+ */
 public class STMEntityManagerFactoryImpl implements STMEntityManagerFactory
 {
+   private Map properties ;
+   private static final Logger logger = Logger.getLogger(STMEntityManagerFactoryImpl.class);
+   private PersistenceUnitTransactionType transactionType ;
 
    @Override
+   /**
+    * Perform cleanup of factory.
+    */
    public void close()
    {
       // FIXME close
@@ -25,14 +42,28 @@
    @Override
    public EntityManager createEntityManager()
    {
-      // FIXME createEntityManager
+      if (true)
+      {
+         throw new UnsupportedOperationException("Please create an Entity Manager with properties map.");
+      }
+      
       return null;
    }
 
    @Override
+   /**
+    * 
+    * List of map entries checked for :
+    * "ISOLATION_LEVEL"
+    */
    public EntityManager createEntityManager(Map map)
    {
-      // FIXME createEntityManager
+      // TODO: jrw complete method implementation, identify which properties will be used for creating an entity manager.
+      // create transactional type, JTA
+      // create persistence context
+      // create entity manager
+      // allocate persistence context to entity manager
+
       return null;
    }
 
@@ -42,5 +73,16 @@
       // FIXME isOpen
       return false;
    }
-
+   
+   public void setMap(Map properties)
+   {
+      if (null != properties )
+      {
+         this.properties = properties;
+      }
+      else
+      {
+         logger.error("Attempted to configure EntityManagerFactory with a null properties reference.");
+      }
+   }
 }




More information about the jboss-svn-commits mailing list