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 th...@apache.org on 2014/04/15 11:20:44 UTC
svn commit: r1587483 - in
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture:
OakFixture.java OakRepositoryFixture.java
Author: thomasm
Date: Tue Apr 15 09:20:43 2014
New Revision: 1587483
URL: http://svn.apache.org/r1587483
Log:
OAK-1733 Consolidate Mongo client connection creation logic
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java?rev=1587483&r1=1587482&r2=1587483&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java Tue Apr 15 09:20:43 2014
@@ -61,7 +61,11 @@ public abstract class OakFixture {
protected OakFixture(String name) {
this.name = name;
- this.unique = String.format("%s-%d", name, System.currentTimeMillis());
+ this.unique = getUniqueDatabaseName(name);
+ }
+
+ private static String getUniqueDatabaseName(String name) {
+ return String.format("%s-%d", name, System.currentTimeMillis());
}
public abstract Oak getOak(int clusterId) throws Exception;
@@ -141,12 +145,23 @@ public abstract class OakFixture {
}
public static OakFixture getMongo(String name, final boolean useMk, final String host,
- final int port, final String database,
+ final int port, String database,
final boolean dropDBAfterTest, final long cacheSize,
final boolean useFileDataStore,
final File base) {
+ if (database == null) {
+ database = getUniqueDatabaseName(name);
+ }
+ String uri = "mongodb://" + host + ":" + port + "/" + database;
+ return getMongo(name, uri, useMk, dropDBAfterTest, cacheSize, useFileDataStore, base);
+ }
+
+ public static OakFixture getMongo(final String name, final String uri,
+ final boolean useMk,
+ final boolean dropDBAfterTest, final long cacheSize,
+ final boolean useFileDataStore,
+ final File base) {
return new OakFixture(name) {
- private String dbName = database != null ? database : unique;
private DocumentMK[] kernels;
private BlobStore blobStore;
private File blobStoreDir;
@@ -192,7 +207,7 @@ public abstract class OakFixture {
@Override
public Oak getOak(int clusterId) throws Exception {
- MongoConnection mongo = new MongoConnection(host, port, dbName);
+ MongoConnection mongo = new MongoConnection(uri);
BlobStore blobStore = getBlobStore();
DocumentMK.Builder mkBuilder = new DocumentMK.Builder().
setMongoDB(mongo.getDB()).
@@ -216,7 +231,7 @@ public abstract class OakFixture {
Oak[] cluster = new Oak[n];
kernels = new DocumentMK[cluster.length];
for (int i = 0; i < cluster.length; i++) {
- MongoConnection mongo = new MongoConnection(host, port, dbName);
+ MongoConnection mongo = new MongoConnection(uri);
BlobStore blobStore = getBlobStore();
DocumentMK.Builder mkBuilder = new DocumentMK.Builder().
setMongoDB(mongo.getDB()).
@@ -245,7 +260,7 @@ public abstract class OakFixture {
if (dropDBAfterTest) {
try {
MongoConnection mongo =
- new MongoConnection(host, port, dbName);
+ new MongoConnection(uri);
mongo.getDB().dropDatabase();
mongo.close();
if (blobStore instanceof CloudBlobStore) {
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java?rev=1587483&r1=1587482&r2=1587483&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java Tue Apr 15 09:20:43 2014
@@ -73,6 +73,12 @@ public class OakRepositoryFixture implem
final File base) {
return new OakRepositoryFixture(OakFixture.getMongo(name, useMK, host, port, database, dropDBAfterTest, cacheSize, useFileDataStore, base));
}
+
+ public static RepositoryFixture getMongoNS(String name, String uri,
+ boolean dropDBAfterTest, long cacheSize) {
+ return new OakRepositoryFixture(OakFixture.getMongo(name, uri,
+ false, dropDBAfterTest, cacheSize, false, null));
+ }
public static RepositoryFixture getTar(File base, int maxFileSizeMB, int cacheSizeMB, boolean memoryMapping) {
return new OakRepositoryFixture(OakFixture.getTar(OakFixture.OAK_TAR ,base, maxFileSizeMB, cacheSizeMB, memoryMapping, false));