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();