Author: reschke
Date: Thu Jan 23 16:11:13 2014
New Revision: 1560720

URL: http://svn.apache.org/r1560720
Log:
OAK-1266 - optionally allow TCK based tests to execute the RDB persistence

Modified:
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/OakDocumentRDBRepositoryStub.java
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.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=1560720&r1=1560719&r2=1560720&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
 Thu Jan 23 16:11:13 2014
@@ -17,6 +17,9 @@
 package org.apache.jackrabbit.oak.jcr;
 
 import java.security.Principal;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
 import java.util.Properties;
 
 import javax.jcr.Credentials;
@@ -36,7 +39,7 @@ import org.apache.jackrabbit.test.Reposi
  */
 public class OakDocumentRDBRepositoryStub extends RepositoryStub {
 
-    protected static final String URL = System.getProperty("rdb.jdbc-url", 
"jdbc:h2:mem:oaknodes");
+    protected static final String URL = System.getProperty("rdb.jdbc-url", 
""); // such as: jdbc:h2:mem:oaknodes
 
     protected static final String USERNAME = 
System.getProperty("rdb.jcbc-user", "sa");
 
@@ -86,6 +89,18 @@ public class OakDocumentRDBRepositoryStu
         return jcr.createRepository();
     }
 
+    public static boolean isAvailable() {
+        try {
+            Connection c = DriverManager.getConnection(URL, USERNAME, PASSWD);
+            c.close();
+            return true;
+        }
+        catch (SQLException ex) {
+            // expected
+            return false;
+        }
+    }
+
     /**
      * Returns the configured repository instance.
      * 

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java?rev=1560720&r1=1560719&r2=1560720&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/tck/TCKBase.java
 Thu Jan 23 16:11:13 2014
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
+import org.apache.jackrabbit.oak.jcr.OakDocumentRDBRepositoryStub;
 import org.apache.jackrabbit.oak.jcr.OakMongoMKRepositoryStub;
 import org.apache.jackrabbit.oak.jcr.OakSegmentMKRepositoryStub;
 import org.apache.jackrabbit.oak.jcr.OakTarMKRepositoryStub;
@@ -54,7 +55,9 @@ public abstract class TCKBase extends Te
         if (OakMongoMKRepositoryStub.isMongoDBAvailable()) {
             Setup.wrap(this, OakMongoMKRepositoryStub.class.getName());
         }
-        // Setup.wrap(this, OakDocumentRDBRepositoryStub.class.getName());
+        if (OakDocumentRDBRepositoryStub.isAvailable()) {
+            Setup.wrap(this, OakDocumentRDBRepositoryStub.class.getName());
+        }
     }
 
     abstract protected void addTests();


Reply via email to