You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2006/11/05 20:24:09 UTC

svn commit: r471497 - /incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistence.java

Author: pcl
Date: Sun Nov  5 11:24:08 2006
New Revision: 471497

URL: http://svn.apache.org/viewvc?view=rev&rev=471497
Log:
tolerate EM / EMF proxies as arguments to toBroker() / toBrokerFactory().

Modified:
    incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistence.java

Modified: incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistence.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistence.java?view=diff&rev=471497&r1=471496&r2=471497
==============================================================================
--- incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistence.java (original)
+++ incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistence.java Sun Nov  5 11:24:08 2006
@@ -83,8 +83,11 @@
      * factory facade.
      */
     public static BrokerFactory toBrokerFactory(EntityManagerFactory emf) {
-        return (emf == null) ? null
-            : ((EntityManagerFactoryImpl) emf).getBrokerFactory();
+        if (emf == null)
+            return null;
+        emf = (EntityManagerFactory) 
+            ((OpenJPAEntityManagerFactory) emf).getUserObject(EMF_KEY);        
+        return ((EntityManagerFactoryImpl) emf).getBrokerFactory();
     }
 
     /**
@@ -117,6 +120,9 @@
      * Return the underlying broker for the given entity manager facade.
      */
     public static Broker toBroker(EntityManager em) {
+        if (em == null)
+            return null;
+        em = (EntityManager) ((OpenJPAEntityManager) em).getUserObject(EM_KEY);
         return (em == null) ? null : ((EntityManagerImpl) em).getBroker();
     }