[jboss-cvs] JBossAS SVN: r110398 - in projects/ejb3/trunk/core: src/main/java/org/jboss/ejb3/stateful and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 18 00:46:34 EST 2011


Author: smarlow at redhat.com
Date: 2011-01-18 00:46:34 -0500 (Tue, 18 Jan 2011)
New Revision: 110398

Modified:
   projects/ejb3/trunk/core/pom.xml
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java
Log:
EJBTHREE-2232 implement jpa spi xpc.createExtendedPersistenceContext method

Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml	2011-01-18 02:37:16 UTC (rev 110397)
+++ projects/ejb3/trunk/core/pom.xml	2011-01-18 05:46:34 UTC (rev 110398)
@@ -753,7 +753,7 @@
     <dependency>
       <groupId>org.jboss.jpa</groupId>
       <artifactId>jboss-jpa-deployers</artifactId>
-      <version>3.0.0-alpha-4</version>
+      <version>3.0.0-alpha-5</version>
       <exclusions>
         <exclusion>
           <groupId>org.jboss</groupId>

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java	2011-01-18 02:37:16 UTC (rev 110397)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java	2011-01-18 05:46:34 UTC (rev 110398)
@@ -49,8 +49,6 @@
       {
          /**
           * Look for XPC in current bean set.
-          * Create the XPC (EM) if not found (and save in bean context for next lookup).
-          * Propagate created XPC as required (7.6.2.1 Inheritance of Extended Persistence Context
           */
          EntityManager em = null;
          List <StatefulBeanContext> beanContexts = StatefulBeanContext.currentBean.getList();
@@ -60,7 +58,18 @@
             if (em != null)
                return em;
          }
+      }
+      return null;
+   }
 
+   @Override
+   public EntityManager createExtendedPersistenceContext(String kernelName)
+   {
+      StatefulBeanContext beanContext = StatefulBeanContext.currentBean.get();
+
+      if (beanContext != null)
+      {
+         EntityManager em = null;
          ManagedEntityManagerFactory factory=
             ((PersistenceUnitDeployment) PersistenceUnitRegistry.getPersistenceUnit(kernelName)).getManagedFactory();
          if (factory != null)
@@ -68,10 +77,18 @@
             em = factory.createEntityManager();
             if (em != null)
             {
-               for( StatefulBeanContext bc : beanContexts)
-               {
-                  bc.addExtendedPersistenceContext(kernelName, em);
-               }
+               beanContext.addExtendedPersistenceContext(factory.getKernelName(), em);
+
+               /**
+                * TODO:  Propagate created XPC as required (7.6.2.1 Inheritance of Extended Persistence Context
+                *
+                */
+
+//               List <StatefulBeanContext> beanContexts = StatefulBeanContext.currentBean.getList();
+//               for( StatefulBeanContext bc : beanContexts)
+//               {
+//                  bc.addExtendedPersistenceContext(kernelName, em);
+//               }
             }
          }
 



More information about the jboss-cvs-commits mailing list