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 2015/09/09 14:22:11 UTC

svn commit: r1701986 - /jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java

Author: reschke
Date: Wed Sep  9 12:22:11 2015
New Revision: 1701986

URL: http://svn.apache.org/r1701986
Log:
OAK-3369: set working default JDBC URL for OakDocumentRDBRepositoryStub

Modified:
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java

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=1701986&r1=1701985&r2=1701986&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 Sep  9 12:22:11 2015
@@ -16,10 +16,12 @@
  */
 package org.apache.jackrabbit.oak.jcr;
 
+import java.io.File;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.util.Properties;
+import java.util.UUID;
 
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
@@ -28,6 +30,7 @@ import javax.jcr.Session;
 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.rdb.RDBOptions;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
 
 /**
@@ -35,7 +38,7 @@ import org.apache.jackrabbit.oak.query.Q
  */
 public class OakDocumentRDBRepositoryStub extends OakRepositoryStub {
 
-    protected static final String URL = System.getProperty("rdb.jdbc-url", ""); // such as: jdbc:h2:mem:oaknodes
+    protected static final String URL = System.getProperty("rdb.jdbc-url", "jdbc:h2:file:./{fname}oaktest");
 
     protected static final String USERNAME = System.getProperty("rdb.jdbc-user", "sa");
 
@@ -43,6 +46,9 @@ public class OakDocumentRDBRepositoryStu
 
     private final Repository repository;
 
+    private static final String fname = (new File("target")).isDirectory() ? "target/" : "";
+    private static final String jdbcUrl = URL.replace("{fname}", fname);
+
     /**
      * Constructor as required by the JCR TCK.
      * 
@@ -56,8 +62,7 @@ public class OakDocumentRDBRepositoryStu
 
         Session session = null;
         try {
-            this.repository = createRepository(URL, USERNAME, PASSWD);
-
+            this.repository = createRepository(OakDocumentRDBRepositoryStub.jdbcUrl, USERNAME, PASSWD);
             session = getRepository().login(superuser);
             TestContentLoader loader = new TestContentLoader();
             loader.loadTestContent(session);
@@ -72,11 +77,13 @@ public class OakDocumentRDBRepositoryStu
     }
 
     protected Repository createRepository(String url, String username, String password) {
+        String prefix = "T" + UUID.randomUUID().toString().replace("-",  "");
+        RDBOptions options = new RDBOptions().tablePrefix(prefix).dropTablesOnClose(true);
         DocumentNodeStore m = new DocumentMK.Builder().
                 setClusterId(1).
                 memoryCacheSize(64 * 1024 * 1024).
                 setPersistentCache("target/persistentCache,time").
-                setRDBConnection(RDBDataSourceFactory.forJdbcUrl(url, username, password)).
+                setRDBConnection(RDBDataSourceFactory.forJdbcUrl(url, username, password), options).
                 getNodeStore();
         QueryEngineSettings qs = new QueryEngineSettings();
         qs.setFullTextComparisonWithoutIndex(true);
@@ -85,7 +92,7 @@ public class OakDocumentRDBRepositoryStu
 
     public static boolean isAvailable() {
         try {
-            Connection c = DriverManager.getConnection(URL, USERNAME, PASSWD);
+            Connection c = DriverManager.getConnection(OakDocumentRDBRepositoryStub.jdbcUrl, USERNAME, PASSWD);
             c.close();
             return true;
         }