You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/05/09 18:40:59 UTC

svn commit: r773249 - in /openjpa/trunk/openjpa-slice/src: main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java test/java/org/apache/openjpa/slice/TestBasic.java

Author: ppoddar
Date: Sat May  9 16:40:59 2009
New Revision: 773249

URL: http://svn.apache.org/viewvc?rev=773249&view=rev
Log:
OPENJPA-1079: Allow connection to be accessed by the client

Modified:
    openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java
    openjpa/trunk/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBasic.java

Modified: openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java?rev=773249&r1=773248&r2=773249&view=diff
==============================================================================
--- openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java (original)
+++ openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java Sat May  9 16:40:59 2009
@@ -31,7 +31,6 @@
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 
 import org.apache.openjpa.enhance.PersistenceCapable;
@@ -41,7 +40,6 @@
 import org.apache.openjpa.jdbc.kernel.JDBCStoreManager;
 import org.apache.openjpa.jdbc.sql.Result;
 import org.apache.openjpa.jdbc.sql.ResultSetResult;
-import org.apache.openjpa.kernel.BrokerImpl;
 import org.apache.openjpa.kernel.FetchConfiguration;
 import org.apache.openjpa.kernel.OpenJPAStateManager;
 import org.apache.openjpa.kernel.PCState;
@@ -84,9 +82,12 @@
     private static final Localizer _loc =
             Localizer.forPackage(DistributedJDBCStoreManager.class);
 
+    private static final Class<ClientConnection> clientConnectionImpl;
     private static final Class<RefCountConnection> refCountConnectionImpl;
     static {
         try {
+            clientConnectionImpl = ConcreteClassGenerator.
+                makeConcrete(ClientConnection.class);
             refCountConnectionImpl = ConcreteClassGenerator.
                 makeConcrete(RefCountConnection.class);
         } catch (Exception e) {
@@ -363,18 +364,19 @@
     }
 
     public Object getClientConnection() {
-        throw new UnsupportedOperationException();
+        return ConcreteClassGenerator.newInstance
+            (clientConnectionImpl, Connection.class, getConnection());
     }
 
     public Seq getDataStoreIdSequence(ClassMetaData forClass) {
         return _master.getDataStoreIdSequence(forClass);
     }
 
-    public Class getDataStoreIdType(ClassMetaData meta) {
+    public Class<?> getDataStoreIdType(ClassMetaData meta) {
         return _master.getDataStoreIdType(meta);
     }
 
-    public Class getManagedType(Object oid) {
+    public Class<?> getManagedType(Object oid) {
         return _master.getManagedType(oid);
     }
 

Modified: openjpa/trunk/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBasic.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBasic.java?rev=773249&r1=773248&r2=773249&view=diff
==============================================================================
--- openjpa/trunk/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBasic.java (original)
+++ openjpa/trunk/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBasic.java Sat May  9 16:40:59 2009
@@ -18,6 +18,7 @@
  */
 package org.apache.openjpa.slice;
 
+import java.sql.Connection;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -309,6 +310,12 @@
         assertEquals(value, pc2.getValue());
     }
     
+    public void testGetConnection() {
+        OpenJPAEntityManager em = emf.createEntityManager();
+        Object con = em.getConnection();
+        assertTrue(con instanceof Connection);
+    }
+    
     public void testDynamicSlice() {
         DistributedConfiguration conf = (DistributedConfiguration)emf.getConfiguration();
         conf.setDistributionPolicyInstance(new DistributionPolicy() {