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