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 2010/04/29 00:47:15 UTC

svn commit: r939125 - in /openjpa/trunk: openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/ openjpa-slice/src/main/java/org/apache/openjpa/slice/ openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/

Author: ppoddar
Date: Wed Apr 28 22:47:15 2010
New Revision: 939125

URL: http://svn.apache.org/viewvc?rev=939125&view=rev
Log:
OPENJPA-1643: Parse connection factory name. Add a constructor for serializability. Make CriteriaQuery sharable among slices.

Modified:
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java
    openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/Slice.java
    openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCConfigurationImpl.java
    openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCStoreManager.java

Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java?rev=939125&r1=939124&r2=939125&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java Wed Apr 28 22:47:15 2010
@@ -85,7 +85,7 @@ public class CriteriaBuilderImpl impleme
     
     public Value[] eval(String[] vals, ExpressionStoreQuery query,
         ExpressionFactory factory, ClassMetaData candidate) {
-        throw new AbstractMethodError();
+        return null;
     }
 
     public String getLanguage() {

Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java?rev=939125&r1=939124&r2=939125&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java Wed Apr 28 22:47:15 2010
@@ -494,7 +494,8 @@ class CriteriaQueryImpl<T> implements Op
      */
     public void registerVariable(Selection<?> node, Value var, Value path) {
         if (isRegistered(node)) {
-            throw new RuntimeException(node + " is already bound");
+            return;
+            //throw new RuntimeException(node + " is already bound");
         }
         if (!var.isVariable())
             throw new RuntimeException(var.getClass() + " is not a variable");

Modified: openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/Slice.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/Slice.java?rev=939125&r1=939124&r2=939125&view=diff
==============================================================================
--- openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/Slice.java (original)
+++ openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/Slice.java Wed Apr 28 22:47:15 2010
@@ -18,6 +18,8 @@
  */
 package org.apache.openjpa.slice;
 
+import java.io.Serializable;
+
 import org.apache.openjpa.conf.OpenJPAConfiguration;
 
 /**
@@ -27,7 +29,7 @@ import org.apache.openjpa.conf.OpenJPACo
  * @author Pinaki Poddar 
  *
  */
-public class Slice implements Comparable<Slice> {
+public class Slice implements Comparable<Slice>,Serializable {
     public enum Status {
         NOT_INITIALIZED, 
         ACTIVE, 

Modified: openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCConfigurationImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCConfigurationImpl.java?rev=939125&r1=939124&r2=939125&view=diff
==============================================================================
--- openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCConfigurationImpl.java (original)
+++ openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedJDBCConfigurationImpl.java Wed Apr 28 22:47:15 2010
@@ -84,6 +84,10 @@ public class DistributedJDBCConfiguratio
     private static Localizer _loc =
             Localizer.forPackage(DistributedJDBCConfigurationImpl.class);
 
+    public DistributedJDBCConfigurationImpl() {
+        super();
+    }
+    
     /**
      * Configure itself as well as underlying slices.
      * 
@@ -283,15 +287,18 @@ public class DistributedJDBCConfiguratio
     
     DataSource createDataSource(Slice slice) throws Exception {
         JDBCConfiguration conf = (JDBCConfiguration)slice.getConfiguration();
-        Log log = conf.getConfigurationLog();
-        String url = getConnectionInfo(conf);
-        if (log.isInfoEnabled())
-            log.info(_loc.get("slice-connect", slice, url));
-        DataSource ds = DataSourceFactory.newDataSource(conf, false);
-        DecoratingDataSource dds = DecoratingDataSource.
-                newDecoratingDataSource(ds);
-        ds = DataSourceFactory.installDBDictionary(
-                conf.getDBDictionaryInstance(), dds, conf, false);
+        DataSource ds = (DataSource)conf.getConnectionFactory();
+        if (ds == null) {
+            Log log = conf.getConfigurationLog();
+            String url = getConnectionInfo(conf);
+            if (log.isInfoEnabled())
+                log.info(_loc.get("slice-connect", slice, url));
+            ds = DataSourceFactory.newDataSource(conf, false);
+            DecoratingDataSource dds = DecoratingDataSource.
+                    newDecoratingDataSource(ds);
+            ds = DataSourceFactory.installDBDictionary(
+                    conf.getDBDictionaryInstance(), dds, conf, false);
+        }
         verifyDataSource(slice, ds, conf);
         
         return ds;

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=939125&r1=939124&r2=939125&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 Wed Apr 28 22:47:15 2010
@@ -430,10 +430,6 @@ class DistributedJDBCStoreManager extend
         return _master.newDataStoreId(oidVal, meta);
     }
 
-    public FetchConfiguration newFetchConfiguration() {
-        return _master.newFetchConfiguration();
-    }
-
     /**
      * Construct a distributed query to be executed against all the slices.
      */