You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2014/04/02 13:53:02 UTC

svn commit: r1583981 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/ oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document...

Author: reschke
Date: Wed Apr  2 11:53:02 2014
New Revision: 1583981

URL: http://svn.apache.org/r1583981
Log:
OAK-1533 - remove JDBC URL specific constructors from -core

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NodeStoreFixture.java
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java Wed Apr  2 11:53:02 2014
@@ -506,31 +506,6 @@ public class DocumentMK implements Micro
         }
 
         /**
-         * Sets a JDBC connection URL to use for the RDB document and blob
-         * stores.
-         *
-         * @return this
-         */
-        public Builder setRDBConnection(String jdbcurl, String username, String password) {
-            this.documentStore = new RDBDocumentStore(jdbcurl, username, password, this);
-            this.blobStore = new RDBBlobStore(jdbcurl, username, password);
-            return this;
-        }
-
-        /**
-         * Sets a JDBC connection URLs to use for the RDB document and blob
-         * stores.
-         *
-         * @return this
-         */
-        public Builder setRDBConnection(String dsjdbcurl, String dsusername, String dspassword, String bsjdbcurl,
-                String bsusername, String bspassword) {
-            this.documentStore = new RDBDocumentStore(dsjdbcurl, dsusername, dspassword, this);
-            this.blobStore = new RDBBlobStore(bsjdbcurl, bsusername, bspassword);
-            return this;
-        }
-
-        /**
          * Sets a {@link DataSource} to use for the RDB document and blob
          * stores.
          *

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java Wed Apr  2 11:53:02 2014
@@ -39,32 +39,6 @@ import org.slf4j.LoggerFactory;
 import com.google.common.collect.AbstractIterator;
 
 public class RDBBlobStore extends CachingBlobStore implements Closeable {
-    /**
-     * Creates a {@linkplain RDBBlobStore} instance using an embedded H2
-     * database in in-memory mode.
-     */
-    public RDBBlobStore() {
-        try {
-            String jdbcurl = "jdbc:h2:mem:oaknodes";
-            DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcurl, "sa", "");
-            initialize(ds);
-        } catch (Exception ex) {
-            throw new MicroKernelException("initializing RDB blob store", ex);
-        }
-    }
-
-    /**
-     * Creates a {@linkplain RDBBlobStore} instance using the provided JDBC
-     * connection information.
-     */
-    public RDBBlobStore(String jdbcurl, String username, String password) {
-        try {
-            DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcurl, username, password);
-            initialize(ds);
-        } catch (Exception ex) {
-            throw new MicroKernelException("initializing RDB blob store", ex);
-        }
-    }
 
     /**
      * Creates a {@linkplain RDBBlobStore} instance using the provided

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDataSourceFactory.java Wed Apr  2 11:53:02 2014
@@ -23,16 +23,21 @@ import java.sql.SQLException;
 import javax.sql.DataSource;
 
 import org.apache.commons.dbcp.BasicDataSource;
+import org.apache.jackrabbit.mk.api.MicroKernelException;
 
 public class RDBDataSourceFactory {
 
-    public static DataSource forJdbcUrl(String url, String username, String passwd) throws SQLException {
-        BasicDataSource bds = new BasicDataSource();
-        Driver d = DriverManager.getDriver(url);
-        bds.setDriverClassName(d.getClass().getName());
-        bds.setUsername(username);
-        bds.setPassword(passwd);
-        bds.setUrl(url);
-        return bds;
+    public static DataSource forJdbcUrl(String url, String username, String passwd) {
+        try {
+            BasicDataSource bds = new BasicDataSource();
+            Driver d = DriverManager.getDriver(url);
+            bds.setDriverClassName(d.getClass().getName());
+            bds.setUsername(username);
+            bds.setPassword(passwd);
+            bds.setUrl(url);
+            return bds;
+        } catch (SQLException ex) {
+            throw new MicroKernelException("trying to obtain driver for " + url, ex);
+        }
     }
 }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Wed Apr  2 11:53:02 2014
@@ -77,19 +77,6 @@ public class RDBDocumentStore implements
         }
     }
 
-    /**
-     * Creates a {@linkplain RDBDocumentStore} instance using the provided JDBC
-     * connection information.
-     */
-    public RDBDocumentStore(String jdbcurl, String username, String password, DocumentMK.Builder builder) {
-        try {
-            DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcurl, username, password);
-            initialize(ds, builder);
-        } catch (Exception ex) {
-            throw new MicroKernelException("initializing RDB document store", ex);
-        }
-    }
-
     @Override
     public <T extends Document> T find(Collection<T> collection, String id) {
         return find(collection, id, Integer.MAX_VALUE);

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/RDBBlobStoreTest.java Wed Apr  2 11:53:02 2014
@@ -20,6 +20,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
 import org.apache.jackrabbit.oak.spi.blob.AbstractBlobStoreTest;
 import org.junit.After;
 import org.junit.Before;
@@ -36,7 +37,7 @@ public class RDBBlobStoreTest extends Ab
     @Before
     @Override
     public void setUp() throws Exception {
-        blobStore = new RDBBlobStore();
+        blobStore = new RDBBlobStore(RDBDataSourceFactory.forJdbcUrl("jdbc:h2:mem:oakblobs", "sa", ""));
         blobStore.setBlockSize(128);
         blobStore.setBlockSizeMin(48);
         this.store = blobStore;

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NodeStoreFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NodeStoreFixture.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NodeStoreFixture.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NodeStoreFixture.java Wed Apr  2 11:53:02 2014
@@ -23,12 +23,15 @@ import java.io.File;
 import java.io.IOException;
 import java.util.UUID;
 
+import javax.sql.DataSource;
+
 import com.mongodb.DB;
 
 import org.apache.jackrabbit.mk.core.MicroKernelImpl;
 import org.apache.jackrabbit.oak.kernel.KernelNodeStore;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
 import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
 import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.plugins.segment.SegmentStore;
@@ -82,14 +85,16 @@ public abstract class NodeStoreFixture {
         public NodeStore createNodeStore() {
             String id = UUID.randomUUID().toString();
             String folder = (new File("target")).isDirectory() ? "target/" : "";
-            return new DocumentMK.Builder().setRDBConnection("jdbc:h2:file:" + folder + id + ";MVCC=true", "sa", "").getNodeStore();
+            DataSource ds = RDBDataSourceFactory.forJdbcUrl("jdbc:h2:file:" + folder + id + ";MVCC=true", "sa", "");
+            return new DocumentMK.Builder().setRDBConnection(ds).getNodeStore();
         }
 
         @Override
         public NodeStore createNodeStore(int clusterNodeId) {
             try {
                 String folder = (new File("target")).isDirectory() ? "target/" : "";
-                return new DocumentMK.Builder().setRDBConnection("jdbc:h2:file:" + folder + "oaknodes-" + clusterNodeId, "sa", "").getNodeStore();
+                DataSource ds = RDBDataSourceFactory.forJdbcUrl("jdbc:h2:file:" + folder + "oaknodes-" + clusterNodeId, "sa", "");
+                return new DocumentMK.Builder().setRDBConnection(ds).getNodeStore();
             } catch (Exception e) {
                 return null;
             }

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java?rev=1583981&r1=1583980&r2=1583981&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java Wed Apr  2 11:53:02 2014
@@ -32,6 +32,7 @@ import javax.jcr.UnsupportedRepositoryOp
 import org.apache.jackrabbit.api.JackrabbitSession;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
 import org.apache.jackrabbit.test.NotExecutableException;
 import org.apache.jackrabbit.test.RepositoryStub;
 
@@ -87,7 +88,7 @@ public class OakDocumentRDBRepositoryStu
         DocumentNodeStore m = new DocumentMK.Builder()
                 .setClusterId(1)
                 .memoryCacheSize(64 * 1024 * 1024)
-                .setRDBConnection(url, username, password)
+                .setRDBConnection(RDBDataSourceFactory.forJdbcUrl(url, username, password))
                 .getNodeStore();
         return new Jcr(m).createRepository();
     }