Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java Thu Mar 29 13:06:10 2018 @@ -21,15 +21,48 @@ import java.util.List; import java.util.Map; import com.github.fakemongo.Fongo; +import com.mongodb.client.FindIterable; +import com.mongodb.client.MongoCollection; +import com.mongodb.client.model.BulkWriteOptions; +import com.mongodb.client.model.DeleteOptions; +import com.mongodb.client.model.FindOneAndUpdateOptions; +import com.mongodb.client.model.InsertManyOptions; +import com.mongodb.client.model.ReturnDocument; +import com.mongodb.client.model.UpdateOptions; +import com.mongodb.client.model.WriteModel; +import com.mongodb.client.result.DeleteResult; +import com.mongodb.client.result.UpdateResult; import com.mongodb.connection.ServerVersion; +import org.apache.jackrabbit.oak.plugins.document.MongoUtils; +import org.bson.Document; +import org.bson.codecs.configuration.CodecRegistry; +import org.bson.conversions.Bson; + +import static java.util.stream.Collectors.toList; +import static org.bson.codecs.configuration.CodecRegistries.fromRegistries; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + public class OakFongo extends Fongo { + private static final CodecRegistry CODEC_REGISTRY = fromRegistries( + MongoClient.getDefaultCodecRegistry() + ); + private final Map<String, FongoDB> dbMap; + private final MongoClient client; + public OakFongo(String name) throws Exception { super(name); this.dbMap = getDBMap(); + this.client = createClientProxy(); + } + + @Override + public MongoClient getMongo() { + return client; } @Override @@ -48,6 +81,11 @@ public class OakFongo extends Fongo { } } + @Override + public FongoMongoDatabase getDatabase(String databaseName) { + return new OakFongoMongoDatabase(databaseName, this); + } + @SuppressWarnings("unchecked") private Map<String, FongoDB> getDBMap() throws Exception { Field f = Fongo.class.getDeclaredField("dbMap"); @@ -55,6 +93,14 @@ public class OakFongo extends Fongo { return (Map<String, FongoDB>) f.get(this); } + private MongoClient createClientProxy() { + MongoClient c = spy(super.getMongo()); + for (String dbName : new String[]{MongoUtils.DB, "oak"}) { + when(c.getDatabase(dbName)).thenReturn(new OakFongoMongoDatabase(dbName, this)); + } + return c; + } + protected void beforeInsert(List<? extends DBObject> documents, InsertOptions insertOptions) {} @@ -93,6 +139,7 @@ public class OakFongo extends Fongo { protected void afterFind(DBCursor cursor) {} protected void afterExecuteBulkWriteOperation(BulkWriteResult result) {} + private class OakFongoDB extends FongoDB { private final Map<String, FongoDBCollection> collMap; @@ -136,16 +183,17 @@ public class OakFongo extends Fongo { return coll; } - private String asString(ServerVersion serverVersion) { - StringBuilder sb = new StringBuilder(); - for (int i : serverVersion.getVersionList()) { - if (sb.length() != 0) { - sb.append('.'); - } - sb.append(String.valueOf(i)); + } + + private static String asString(ServerVersion serverVersion) { + StringBuilder sb = new StringBuilder(); + for (int i : serverVersion.getVersionList()) { + if (sb.length() != 0) { + sb.append('.'); } - return sb.toString(); + sb.append(String.valueOf(i)); } + return sb.toString(); } private class OakFongoDBCollection extends FongoDBCollection { @@ -219,4 +267,134 @@ public class OakFongo extends Fongo { return result; } } + + private class OakFongoMongoDatabase extends FongoMongoDatabase { + + private final Fongo fongo; + + public OakFongoMongoDatabase(String databaseName, Fongo fongo) { + super(databaseName, fongo); + this.fongo = fongo; + } + + @Override + public MongoCollection<Document> getCollection(String collectionName) { + return new OakFongoMongoCollection(this.fongo, new MongoNamespace(super.getName(), collectionName), super.getCodecRegistry(), super.getReadPreference(), super.getWriteConcern(), super.getReadConcern()); + } + + @SuppressWarnings("unchecked") + @Override + public <TResult> TResult runCommand(Bson command, + ReadPreference readPreference, + Class<TResult> tResultClass) { + if (BasicDBObject.class.equals(tResultClass)) { + BasicDBObject result = new BasicDBObject(); + result.append("version", asString(getServerVersion())); + return (TResult) result; + } + return super.runCommand(command, readPreference, tResultClass); + } + } + + private class OakFongoMongoCollection extends FongoMongoCollection<Document> { + + private final Fongo fongo; + + OakFongoMongoCollection(Fongo fongo, + MongoNamespace namespace, + CodecRegistry codecRegistry, + ReadPreference readPreference, + WriteConcern writeConcern, + ReadConcern readConcern) { + super(fongo, namespace, Document.class, codecRegistry, readPreference, writeConcern, readConcern); + this.fongo = fongo; + } + + @Override + public void insertMany(List<? extends Document> documents, + InsertManyOptions options) { + beforeInsert(asDBObjects(documents), new InsertOptions()); + super.insertMany(documents, options); + WriteResult result = new WriteResult(documents.size(), false, null); + afterInsert(result); + } + + @Override + public DeleteResult deleteMany(Bson filter, + DeleteOptions options) { + beforeRemove(asDBObject(filter), getWriteConcern()); + DeleteResult result = super.deleteMany(filter, options); + afterRemove(new WriteResult((int) result.getDeletedCount(), false, null)); + return result; + } + + @Override + public UpdateResult updateMany(Bson filter, + Bson update, + UpdateOptions updateOptions) { + beforeUpdate(asDBObject(filter), asDBObject(update), updateOptions.isUpsert(), true, getWriteConcern(), new DefaultDBEncoder()); + UpdateResult result = super.updateMany(filter, update, updateOptions); + afterUpdate(new WriteResult((int) result.getModifiedCount(), true, result.getUpsertedId().asString().getValue())); + return result; + } + + @Override + public Document findOneAndUpdate(Bson filter, + Bson update, + FindOneAndUpdateOptions options) { + beforeFindAndModify(asDBObject(filter), null, null, false, asDBObject(update), options.getReturnDocument() == ReturnDocument.AFTER, options.isUpsert()); + Document result = super.findOneAndUpdate(filter, update, options); + afterFindAndModify(asDBObject(result)); + return result; + } + + @Override + public FindIterable<Document> find(Bson filter) { + beforeFind(asDBObject(filter), null); + FindIterable<Document> result = super.find(filter); + afterFind(new FongoDBCursor(fongo.getDB(getNamespace().getDatabaseName()).getCollection(getNamespace().getCollectionName()), asDBObject(filter), null)); + return result; + } + + @Override + public com.mongodb.bulk.BulkWriteResult bulkWrite(List<? extends WriteModel<? extends Document>> requests, + BulkWriteOptions options) { + beforeExecuteBulkWriteOperation(options.isOrdered(), options.getBypassDocumentValidation(), requests, getWriteConcern()); + com.mongodb.bulk.BulkWriteResult result = super.bulkWrite(requests, options); + afterExecuteBulkWriteOperation(new AcknowledgedBulkWriteResult(result.getInsertedCount(), result.getMatchedCount(), result.getDeletedCount(), result.getModifiedCount(), this.transform(result.getUpserts()))); + return result; + } + + private List<BulkWriteUpsert> transform(List<com.mongodb.bulk.BulkWriteUpsert> upserts) { + return upserts.stream().map(bulkWriteUpsert -> new BulkWriteUpsert(bulkWriteUpsert.getIndex(), bulkWriteUpsert.getId().asString().getValue())).collect(toList()); + } + + @Override + public MongoCollection<Document> withCodecRegistry(CodecRegistry codecRegistry) { + return new OakFongoMongoCollection(fongo, super.getNamespace(), codecRegistry, super.getReadPreference(), super.getWriteConcern(), super.getReadConcern()); + } + + @Override + public MongoCollection<Document> withReadPreference(ReadPreference readPreference) { + return new OakFongoMongoCollection(fongo, super.getNamespace(), super.getCodecRegistry(), readPreference, super.getWriteConcern(), super.getReadConcern()); + } + + @Override + public MongoCollection<Document> withWriteConcern(WriteConcern writeConcern) { + return new OakFongoMongoCollection(fongo, super.getNamespace(), super.getCodecRegistry(), super.getReadPreference(), writeConcern, super.getReadConcern()); + } + + @Override + public MongoCollection<Document> withReadConcern(ReadConcern readConcern) { + return new OakFongoMongoCollection(fongo, super.getNamespace(), super.getCodecRegistry(), super.getReadPreference(), super.getWriteConcern(), readConcern); + } + + private List<DBObject> asDBObjects(List<? extends Document> docs) { + return docs.stream().map(this::asDBObject).collect(toList()); + } + + private DBObject asDBObject(Bson bson) { + return new BasicDBObject(bson.toBsonDocument(Document.class, CODEC_REGISTRY)); + } + } }
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/fixture/DocumentMongoFixture.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/fixture/DocumentMongoFixture.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/fixture/DocumentMongoFixture.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/fixture/DocumentMongoFixture.java Thu Mar 29 13:06:10 2018 @@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.fixture; -import java.net.UnknownHostException; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; @@ -27,14 +26,13 @@ import java.util.concurrent.atomic.Atomi import org.apache.jackrabbit.oak.plugins.document.DocumentMK; import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore; import org.apache.jackrabbit.oak.plugins.document.MongoUtils; -import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.spi.blob.BlobStore; import org.apache.jackrabbit.oak.spi.state.NodeStore; import org.junit.AssumptionViolatedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.mongodb.DB; +import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; public class DocumentMongoFixture extends NodeStoreFixture { @@ -70,7 +68,7 @@ public class DocumentMongoFixture extend builder.setBlobStore(blobStore); } builder.setPersistentCache("target/persistentCache,time"); - builder.setMongoDB(getDb(suffix)); + builder.setMongoDB(createClient(), getDBName(suffix)); DocumentNodeStore ns = builder.getNodeStore(); suffixes.put(ns, suffix); return ns; @@ -79,10 +77,13 @@ public class DocumentMongoFixture extend } } - protected DB getDb(String suffix) throws UnknownHostException { + protected MongoClient createClient() { + return new MongoClient(new MongoClientURI(uri)); + } + + protected String getDBName(String suffix) { String dbName = new MongoClientURI(uri).getDatabase(); - MongoConnection connection = new MongoConnection(uri); - return connection.getDB(dbName + "-" + suffix); + return dbName + "-" + suffix; } @Override @@ -103,10 +104,8 @@ public class DocumentMongoFixture extend } String suffix = suffixes.remove(nodeStore); if (suffix != null) { - try { - DB db = getDb(suffix); - db.dropDatabase(); - db.getMongo().close(); + try (MongoClient client = createClient()) { + client.dropDatabase(getDBName(suffix)); } catch (Exception e) { log.error("Can't close Mongo", e); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java Thu Mar 29 13:06:10 2018 @@ -16,7 +16,7 @@ */ package org.apache.jackrabbit.oak.plugins.document; -import com.mongodb.DB; +import com.mongodb.MongoClient; import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.stats.Clock; @@ -50,7 +50,8 @@ public abstract class AbstractMongoConne MongoUtils.dropCollections(mongoConnection.getDB()); setRevisionClock(getTestClock()); setClusterNodeInfoClock(getTestClock()); - mk = newBuilder(mongoConnection.getDB()).open(); + mk = newBuilder(mongoConnection.getMongoClient(), + mongoConnection.getDBName()).open(); } protected void setRevisionClock(Clock c) { @@ -61,8 +62,8 @@ public abstract class AbstractMongoConne ClusterNodeInfo.setClock(c); } - protected DocumentMK.Builder newBuilder(DB db) throws Exception { - return addToBuilder(new DocumentMK.Builder()).clock(getTestClock()).setMongoDB(db); + protected DocumentMK.Builder newBuilder(MongoClient client, String dbName) throws Exception { + return addToBuilder(new DocumentMK.Builder()).clock(getTestClock()).setMongoDB(client, dbName); } protected DocumentMK.Builder addToBuilder(DocumentMK.Builder mk) { @@ -75,10 +76,9 @@ public abstract class AbstractMongoConne @After public void tearDownConnection() throws Exception { + String dbName = mongoConnection.getDBName(); mk.dispose(); - DB db = connectionFactory.getConnection().getDB(); - MongoUtils.dropCollections(db); - db.getMongo().close(); + MongoUtils.dropCollections(dbName); Revision.resetClockToDefault(); ClusterNodeInfo.resetClockToDefault(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BaseDocumentDiscoveryLiteServiceTest.java Thu Mar 29 13:06:10 2018 @@ -67,7 +67,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.Lists; -import com.mongodb.DB; +import com.mongodb.client.MongoDatabase; import junitx.util.PrivateAccessor; @@ -687,7 +687,7 @@ public abstract class BaseDocumentDiscov if (MONGO_DB) { MongoConnection connection = connectionFactory.getConnection(); if (connection != null) { - DB db = connection.getDB(); + MongoDatabase db = connection.getDatabase(); if (db != null) { MongoUtils.dropCollections(db); } @@ -697,8 +697,10 @@ public abstract class BaseDocumentDiscov DocumentMK createMK(int clusterId, int asyncDelay) { if (MONGO_DB) { - DB db = connectionFactory.getConnection().getDB(); - return register(new DocumentMK.Builder().setMongoDB(db).setLeaseCheck(false).setClusterId(clusterId) + MongoConnection connection = connectionFactory.getConnection(); + return register(new DocumentMK.Builder() + .setMongoDB(connection.getMongoClient(), connection.getDBName()) + .setLeaseCheck(false).setClusterId(clusterId) .setAsyncDelay(asyncDelay).open()); } else { if (ds == null) { Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java Thu Mar 29 13:06:10 2018 @@ -27,6 +27,7 @@ import java.util.Random; import org.apache.jackrabbit.oak.api.Blob; import org.apache.jackrabbit.oak.json.BlobSerializer; import org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.plugins.memory.ArrayBasedBlob; import org.apache.jackrabbit.oak.spi.blob.MemoryBlobStore; import org.junit.Rule; @@ -34,8 +35,6 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.mongodb.DB; - /** * Tests the blob store. */ @@ -59,7 +58,8 @@ public class BlobTest { DocumentMK.Builder setMongoConnection(DocumentMK.Builder builder) { if (MONGO_DB) { - builder.setMongoDB(connectionFactory.getConnection().getDB()); + MongoConnection connection = connectionFactory.getConnection(); + builder.setMongoDB(connection.getMongoClient(), connection.getDBName()); } return builder; } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java Thu Mar 29 13:06:10 2018 @@ -30,10 +30,12 @@ import org.junit.Before; import org.junit.Test; import com.google.common.collect.Maps; -import com.mongodb.DB; import com.mongodb.DBObject; +import com.mongodb.MongoClient; +import com.mongodb.client.MongoDatabase; import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; /** @@ -47,11 +49,12 @@ public class CacheConsistencyTest extend @Override public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - DB db = mongoConnection.getDB(); + assertNotNull(mongoConnection); + MongoDatabase db = mongoConnection.getDatabase(); MongoUtils.dropCollections(db); DocumentMK.Builder builder = new DocumentMK.Builder() .clock(getTestClock()).setAsyncDelay(0); - store = new TestStore(db, builder); + store = new TestStore(mongoConnection.getMongoClient(), db.getName(), builder); mk = builder.setDocumentStore(store).open(); } @@ -106,8 +109,8 @@ public class CacheConsistencyTest extend final Map<Thread, Semaphore> semaphores = Maps.newConcurrentMap(); - TestStore(DB db, DocumentMK.Builder builder) { - super(db, builder); + TestStore(MongoClient client, String dbName, DocumentMK.Builder builder) { + super(client, dbName, builder); } @Override Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterJoinTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterJoinTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterJoinTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterJoinTest.java Thu Mar 29 13:06:10 2018 @@ -16,6 +16,7 @@ */ package org.apache.jackrabbit.oak.plugins.document; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.json.simple.JSONObject; import org.junit.Test; @@ -35,9 +36,10 @@ public class ClusterJoinTest extends Abs // start a new DocumentMK instance. this instance sees /foo // because it started after the commit on the first DocumentMK + MongoConnection connection = connectionFactory.getConnection(); DocumentMK mk2 = new DocumentMK.Builder(). setAsyncDelay(0). - setMongoDB(connectionFactory.getConnection().getDB()). + setMongoDB(connection.getMongoClient(), connection.getDBName()). setClusterId(mk.getNodeStore().getClusterId() + 1). open(); Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterTest.java Thu Mar 29 13:06:10 2018 @@ -26,15 +26,15 @@ import java.util.HashSet; import java.util.List; import javax.annotation.Nonnull; -import javax.annotation.Nullable; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import com.mongodb.DB; +import com.mongodb.client.MongoDatabase; import org.apache.jackrabbit.oak.api.CommitFailedException; import org.apache.jackrabbit.oak.commons.PathUtils; import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.spi.blob.BlobStore; import org.apache.jackrabbit.oak.spi.blob.MemoryBlobStore; import org.apache.jackrabbit.oak.spi.commit.CommitInfo; @@ -395,7 +395,7 @@ public class ClusterTest { } mks.clear(); if (MONGO_DB) { - DB db = connectionFactory.getConnection().getDB(); + MongoDatabase db = connectionFactory.getConnection().getDatabase(); MongoUtils.dropCollections(db); } } @@ -411,8 +411,9 @@ public class ClusterTest { private DocumentMK createMK(int clusterId, int asyncDelay) { if (MONGO_DB) { - DB db = connectionFactory.getConnection().getDB(); - return register(new DocumentMK.Builder().setMongoDB(db) + MongoConnection connection = connectionFactory.getConnection(); + return register(new DocumentMK.Builder() + .setMongoDB(connection.getMongoClient(), connection.getDBName()) .setClusterId(clusterId).setAsyncDelay(asyncDelay).open()); } else { if (ds == null) { Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java Thu Mar 29 13:06:10 2018 @@ -19,9 +19,8 @@ package org.apache.jackrabbit.oak.plugin import java.util.Collections; import java.util.List; -import com.mongodb.DB; - import org.apache.jackrabbit.oak.api.CommitFailedException; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.plugins.document.util.Utils; import org.apache.jackrabbit.oak.spi.commit.CommitInfo; import org.apache.jackrabbit.oak.spi.commit.EmptyHook; @@ -50,13 +49,13 @@ public class CollisionWithSplitTest exte public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); MongoUtils.dropCollections(mongoConnection.getDB()); - mk = newDocumentMK(mongoConnection.getDB(), 2); + mk = newDocumentMK(mongoConnection, 2); ns1 = mk.getNodeStore(); } @Before public void setup() throws Exception { - ns2 = newDocumentMK(connectionFactory.getConnection().getDB(), 3).getNodeStore(); + ns2 = newDocumentMK(connectionFactory.getConnection(), 3).getNodeStore(); } @After @@ -121,9 +120,9 @@ public class CollisionWithSplitTest exte ourRev, c.mark(ns2.getDocumentStore())); } - private static DocumentMK newDocumentMK(DB db, int clusterId) { + private static DocumentMK newDocumentMK(MongoConnection c, int clusterId) { return new DocumentMK.Builder().setAsyncDelay(0) - .setMongoDB(db) + .setMongoDB(c.getMongoClient(), c.getDBName()) .setClusterId(clusterId) .open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderTest.java Thu Mar 29 13:06:10 2018 @@ -17,7 +17,7 @@ package org.apache.jackrabbit.oak.plugins.document; import com.google.common.collect.Iterables; -import com.mongodb.DB; +import com.mongodb.MongoClient; import org.apache.jackrabbit.oak.cache.CacheStats; import org.junit.Test; @@ -40,8 +40,8 @@ public class DocumentMKBuilderTest exten cacheSize(DEFAULT_PREV_DOC_CACHE_PERCENTAGE); @Override - protected DocumentMK.Builder newBuilder(DB db) throws Exception { - return super.newBuilder(db).memoryCacheSize(CACHE_SIZE); + protected DocumentMK.Builder newBuilder(MongoClient client, String dbName) throws Exception { + return super.newBuilder(client, dbName).memoryCacheSize(CACHE_SIZE); } @Test Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreDiffTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreDiffTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreDiffTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreDiffTest.java Thu Mar 29 13:06:10 2018 @@ -16,7 +16,6 @@ */ package org.apache.jackrabbit.oak.plugins.document; -import com.mongodb.DB; import org.apache.jackrabbit.oak.api.CommitFailedException; import org.apache.jackrabbit.oak.cache.CacheStats; import org.apache.jackrabbit.oak.spi.commit.CommitInfo; Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreServiceTest.java Thu Mar 29 13:06:10 2018 @@ -20,9 +20,11 @@ import java.io.File; import java.lang.reflect.Field; import java.util.Map; +import javax.annotation.Nonnull; + import com.google.common.base.Supplier; import com.google.common.collect.Maps; -import com.mongodb.DB; +import com.mongodb.MongoClient; import org.apache.commons.io.FilenameUtils; import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore; @@ -154,8 +156,8 @@ public class DocumentNodeStoreServiceTes MockOsgi.activate(service, context.bundleContext()); DocumentNodeStore store = context.getService(DocumentNodeStore.class); MongoDocumentStore mds = getMongoDocumentStore(store); - DB db = MongoDocumentStoreTestHelper.getDB(mds); - assertTrue(db.getMongo().getMongoOptions().isSocketKeepAlive()); + MongoClient client = MongoDocumentStoreTestHelper.getClient(mds); + assertTrue(client.getMongoClientOptions().isSocketKeepAlive()); } @Test @@ -213,8 +215,8 @@ public class DocumentNodeStoreServiceTes DocumentNodeStore store = context.getService(DocumentNodeStore.class); MongoDocumentStore mds = getMongoDocumentStore(store); assertNotNull(mds); - DB db = MongoDocumentStoreTestHelper.getDB(mds); - assertTrue(db.getMongo().getMongoOptions().isSocketKeepAlive()); + MongoClient client = MongoDocumentStoreTestHelper.getClient(mds); + assertTrue(client.getMongoClientOptions().isSocketKeepAlive()); } @Test @@ -232,10 +234,11 @@ public class DocumentNodeStoreServiceTes DocumentNodeStore store = context.getService(DocumentNodeStore.class); MongoDocumentStore mds = getMongoDocumentStore(store); - DB db = MongoDocumentStoreTestHelper.getDB(mds); - assertFalse(db.getMongo().getMongoOptions().isSocketKeepAlive()); + MongoClient client = MongoDocumentStoreTestHelper.getClient(mds); + assertFalse(client.getMongoClientOptions().isSocketKeepAlive()); } + @Nonnull private static MongoDocumentStore getMongoDocumentStore(DocumentNodeStore s) { try { Field f = s.getClass().getDeclaredField("nonLeaseCheckingStore"); @@ -243,8 +246,8 @@ public class DocumentNodeStoreServiceTes return (MongoDocumentStore) f.get(s); } catch (Exception e) { fail(e.getMessage()); - return null; } + throw new IllegalStateException(); } private void assertPersistentCachePath(String expectedPath, Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreFixture.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreFixture.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreFixture.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreFixture.java Thu Mar 29 13:06:10 2018 @@ -34,7 +34,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.Lists; -import com.mongodb.DB; import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.DOCUMENT_MEM; import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.DOCUMENT_NS; @@ -214,8 +213,8 @@ public abstract class DocumentStoreFixtu try { MongoConnection connection = MongoUtils.getConnection(); connections.add(connection); - DB db = connection.getDB(); - return new MongoDocumentStore(db, builder); + return new MongoDocumentStore(connection.getMongoClient(), + connection.getDBName(), builder); } catch (Exception e) { throw new RuntimeException(e); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java Thu Mar 29 13:06:10 2018 @@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit; import com.google.common.collect.Lists; import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore; import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.plugins.document.util.Utils; import org.junit.After; import org.junit.Before; @@ -62,7 +63,9 @@ public class MongoDocumentStoreTest { DocumentStore openDocumentStore() { if (MONGO_DB) { - return new MongoDocumentStore(connectionFactory.getConnection().getDB(), new DocumentMK.Builder()); + MongoConnection c = connectionFactory.getConnection(); + assertNotNull(c); + return new MongoDocumentStore(c.getMongoClient(), c.getDBName(), new DocumentMK.Builder()); } return new MemoryDocumentStore(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java Thu Mar 29 13:06:10 2018 @@ -20,6 +20,7 @@ import org.apache.jackrabbit.oak.plugins import com.mongodb.BasicDBObject; import com.mongodb.DB; +import com.mongodb.client.MongoDatabase; /** * A utility class to get a {@link MongoConnection} to a local mongo instance @@ -84,12 +85,26 @@ public class MongoUtils { * Drop all user defined collections. System collections are not dropped. * * @param db the connection + * @deprecated use {@link #dropCollections(MongoDatabase)} instead. */ public static void dropCollections(DB db) { for (String name : db.getCollectionNames()) { if (!name.startsWith("system.")) { db.getCollection(name).drop(); } + } + } + + /** + * Drop all user defined collections. System collections are not dropped. + * + * @param db the connection + */ + public static void dropCollections(MongoDatabase db) { + for (String name : db.listCollectionNames()) { + if (!name.startsWith("system.")) { + db.getCollection(name).drop(); + } } } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RandomizedClusterTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RandomizedClusterTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RandomizedClusterTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RandomizedClusterTest.java Thu Mar 29 13:06:10 2018 @@ -27,6 +27,7 @@ import java.util.HashSet; import java.util.List; import java.util.Random; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.spi.blob.MemoryBlobStore; import org.apache.jackrabbit.oak.commons.json.JsonObject; import org.apache.jackrabbit.oak.commons.json.JsopBuilder; @@ -35,8 +36,6 @@ import org.apache.jackrabbit.oak.plugins import org.junit.Rule; import org.junit.Test; -import com.mongodb.DB; - /** * A simple randomized dual-instance test. */ @@ -377,9 +376,9 @@ public class RandomizedClusterTest { DocumentMK.Builder builder = new DocumentMK.Builder(); builder.setAsyncDelay(0); if (MONGO_DB) { - DB db = connectionFactory.getConnection().getDB(); - MongoUtils.dropCollections(db); - builder.setMongoDB(db); + MongoConnection c = connectionFactory.getConnection(); + MongoUtils.dropCollections(c.getDBName()); + builder.setMongoDB(c.getMongoClient(), c.getDBName()); } else { if (ds == null) { ds = new MemoryDocumentStore(); Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SimpleTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SimpleTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SimpleTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/SimpleTest.java Thu Mar 29 13:06:10 2018 @@ -33,12 +33,12 @@ import org.apache.jackrabbit.oak.api.Pro import org.apache.jackrabbit.oak.api.Type; import org.apache.jackrabbit.oak.commons.json.JsopBuilder; import org.apache.jackrabbit.oak.plugins.document.DocumentNodeState.Children; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.plugins.document.util.Utils; import org.junit.Rule; import org.junit.Test; import com.google.common.collect.Lists; -import com.mongodb.DB; /** * A set of simple tests. @@ -441,9 +441,9 @@ public class SimpleTest { DocumentMK.Builder builder = builderProvider.newBuilder(); if (MONGO_DB) { - DB db = connectionFactory.getConnection().getDB(); - MongoUtils.dropCollections(db); - builder.setMongoDB(db); + MongoConnection c = connectionFactory.getConnection(); + MongoUtils.dropCollections(c.getDBName()); + builder.setMongoDB(c.getMongoClient(), c.getDBName()); } builder.setUseSimpleRevision(useSimpleRevision); Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/MongoBlobStoreTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/MongoBlobStoreTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/MongoBlobStoreTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/MongoBlobStoreTest.java Thu Mar 29 13:06:10 2018 @@ -46,9 +46,9 @@ public class MongoBlobStoreTest extends @Override public void setUp() throws Exception { mongoConnection = MongoUtils.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); + MongoUtils.dropCollections(mongoConnection.getDatabase()); - MongoBlobStore blobStore = new MongoBlobStore(mongoConnection.getDB()); + MongoBlobStore blobStore = new MongoBlobStore(mongoConnection.getDatabase()); blobStore.setBlockSize(128); blobStore.setBlockSizeMin(48); this.store = blobStore; @@ -57,7 +57,7 @@ public class MongoBlobStoreTest extends @After @Override public void tearDown() throws Exception { - MongoUtils.dropCollections(mongoConnection.getDB()); + MongoUtils.dropCollections(mongoConnection.getDatabase()); mongoConnection.close(); super.tearDown(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java Thu Mar 29 13:06:10 2018 @@ -42,8 +42,9 @@ public class DocumentMKCloudGetLengthTes @Before public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(CloudStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java Thu Mar 29 13:06:10 2018 @@ -43,8 +43,9 @@ public class DocumentMKCloudReadTest ext @Before public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(CloudStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java Thu Mar 29 13:06:10 2018 @@ -43,8 +43,9 @@ public class DocumentMKCloudWriteTest ex @Before public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(CloudStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/MongoCloudBlobGCTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/MongoCloudBlobGCTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/MongoCloudBlobGCTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/MongoCloudBlobGCTest.java Thu Mar 29 13:06:10 2018 @@ -43,8 +43,9 @@ public class MongoCloudBlobGCTest extend @Override public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(CloudStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java Thu Mar 29 13:06:10 2018 @@ -45,8 +45,9 @@ public class DocumentMKDataStoreGetLengt @Before public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(DataStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java Thu Mar 29 13:06:10 2018 @@ -46,8 +46,9 @@ public class DocumentMKDataStoreReadTest @Before public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(DataStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java Thu Mar 29 13:06:10 2018 @@ -46,8 +46,9 @@ public class DocumentMKDataStoreWriteTes @Before public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = new DocumentMK.Builder().setMongoDB(mongoConnection.getDB()) + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = new DocumentMK.Builder() + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(DataStoreUtils.getBlobStore()).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/MongoDataStoreBlobGCTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/MongoDataStoreBlobGCTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/MongoDataStoreBlobGCTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/MongoDataStoreBlobGCTest.java Thu Mar 29 13:06:10 2018 @@ -50,9 +50,10 @@ public class MongoDataStoreBlobGCTest ex public void setUpConnection() throws Exception { startDate = new Date(); mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); + MongoUtils.dropCollections(mongoConnection.getDBName()); blobStore = DataStoreUtils.getBlobStore(folder.newFolder()); - mk = new DocumentMK.Builder().clock(getTestClock()).setMongoDB(mongoConnection.getDB()) + mk = new DocumentMK.Builder().clock(getTestClock()) + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setBlobStore(blobStore).open(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/impl/DocumentMKConcurrentAddTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/impl/DocumentMKConcurrentAddTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/impl/DocumentMKConcurrentAddTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/impl/DocumentMKConcurrentAddTest.java Thu Mar 29 13:06:10 2018 @@ -31,8 +31,6 @@ import org.apache.jackrabbit.oak.plugins import org.junit.After; import org.junit.Test; -import com.mongodb.DB; - /** * Test for OAK-566. */ @@ -45,8 +43,9 @@ public class DocumentMKConcurrentAddTest private DocumentMK createMicroKernel(int clusterId) throws Exception { MongoConnection connection = connectionFactory.getConnection(); - DB mongoDB = connection.getDB(); - return new DocumentMK.Builder().memoryCacheSize(CACHE_SIZE).setMongoDB(mongoDB).setClusterId(clusterId).open(); + return new DocumentMK.Builder().memoryCacheSize(CACHE_SIZE) + .setMongoDB(connection.getMongoClient(), connection.getDBName()) + .setClusterId(clusterId).open(); } @After Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/AcquireRecoveryLockTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/AcquireRecoveryLockTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/AcquireRecoveryLockTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/AcquireRecoveryLockTest.java Thu Mar 29 13:06:10 2018 @@ -18,12 +18,13 @@ package org.apache.jackrabbit.oak.plugin import java.util.List; -import com.mongodb.DB; +import com.mongodb.MongoClient; import org.apache.jackrabbit.oak.plugins.document.AbstractMongoConnectionTest; import org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo; import org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfoDocument; import org.apache.jackrabbit.oak.plugins.document.DocumentMK; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.stats.Clock; import org.junit.After; import org.junit.Before; @@ -33,6 +34,7 @@ import static com.google.common.collect. import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; public class AcquireRecoveryLockTest extends AbstractMongoConnectionTest { @@ -43,8 +45,10 @@ public class AcquireRecoveryLockTest ext @Before public void before() throws Exception { clock.waitUntil(System.currentTimeMillis()); + MongoConnection connection = connectionFactory.getConnection(); + assumeNotNull(connection); store = new MongoDocumentStore( - connectionFactory.getConnection().getDB(), + connection.getMongoClient(), connection.getDBName(), new DocumentMK.Builder()); } @@ -54,9 +58,9 @@ public class AcquireRecoveryLockTest ext } @Override - protected DocumentMK.Builder newBuilder(DB db) throws Exception { + protected DocumentMK.Builder newBuilder(MongoClient client, String dbName) throws Exception { // disable lease check because test waits until lease times out - return super.newBuilder(db).setLeaseCheck(false); + return super.newBuilder(client, dbName).setLeaseCheck(false); } @Override Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CacheInvalidationIT.java Thu Mar 29 13:06:10 2018 @@ -196,7 +196,7 @@ public class CacheInvalidationIT extends private DocumentNodeStore createNS(int clusterId) throws Exception { MongoConnection mc = connectionFactory.getConnection(); return new DocumentMK.Builder() - .setMongoDB(mc.getDB()) + .setMongoDB(mc.getMongoClient(), mc.getDBName()) .setClusterId(clusterId) //Set delay to 0 so that effect of changes are immediately reflected .setAsyncDelay(0) Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ClusterConflictTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ClusterConflictTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ClusterConflictTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ClusterConflictTest.java Thu Mar 29 13:06:10 2018 @@ -18,13 +18,14 @@ package org.apache.jackrabbit.oak.plugin import javax.annotation.Nonnull; -import com.mongodb.DB; +import com.mongodb.MongoClient; import org.apache.jackrabbit.oak.api.CommitFailedException; import org.apache.jackrabbit.oak.commons.PathUtils; import org.apache.jackrabbit.oak.plugins.document.AbstractMongoConnectionTest; import org.apache.jackrabbit.oak.plugins.document.DocumentMK; import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.spi.commit.CommitHook; import org.apache.jackrabbit.oak.spi.commit.CommitInfo; import org.apache.jackrabbit.oak.spi.commit.EmptyHook; @@ -43,12 +44,14 @@ public class ClusterConflictTest extends @Override public void setUpConnection() throws Exception { super.setUpConnection(); - ns2 = newBuilder(connectionFactory.getConnection().getDB()).setClusterId(2).getNodeStore(); + MongoConnection connection = connectionFactory.getConnection(); + ns2 = newBuilder(connection.getMongoClient(), connection.getDBName()) + .setClusterId(2).getNodeStore(); } @Override - protected DocumentMK.Builder newBuilder(DB db) throws Exception { - return super.newBuilder(db).setAsyncDelay(0).setLeaseCheck(false); + protected DocumentMK.Builder newBuilder(MongoClient client, String dbName) throws Exception { + return super.newBuilder(client, dbName).setAsyncDelay(0).setLeaseCheck(false); } @Override Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CollisionMarkerTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CollisionMarkerTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CollisionMarkerTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/CollisionMarkerTest.java Thu Mar 29 13:06:10 2018 @@ -16,8 +16,6 @@ */ package org.apache.jackrabbit.oak.plugins.document.mongo; -import com.mongodb.DB; - import org.apache.jackrabbit.oak.api.CommitFailedException; import org.apache.jackrabbit.oak.plugins.document.AbstractMongoConnectionTest; import org.apache.jackrabbit.oak.plugins.document.DocumentMK; @@ -25,6 +23,7 @@ import org.apache.jackrabbit.oak.plugins import org.apache.jackrabbit.oak.plugins.document.MongoUtils; import org.apache.jackrabbit.oak.plugins.document.NodeDocument; import org.apache.jackrabbit.oak.plugins.document.Revision; +import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.apache.jackrabbit.oak.plugins.document.util.Utils; import org.apache.jackrabbit.oak.spi.commit.CommitInfo; import org.apache.jackrabbit.oak.spi.commit.EmptyHook; @@ -49,8 +48,8 @@ public class CollisionMarkerTest extends @Override public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); - mk = newDocumentMK(mongoConnection.getDB(), 2); + MongoUtils.dropCollections(mongoConnection.getDBName()); + mk = newDocumentMK(mongoConnection, 2); ns1 = mk.getNodeStore(); } @@ -69,7 +68,7 @@ public class CollisionMarkerTest extends ns1.runBackgroundOperations(); // initialize second node store after background ops // on ns1. this makes sure ns2 sees all changes done so far - ns2 = newDocumentMK(connectionFactory.getConnection().getDB(), 3).getNodeStore(); + ns2 = newDocumentMK(connectionFactory.getConnection(), 3).getNodeStore(); b1 = ns1.getRoot().builder(); b1.child("node").child("foo"); @@ -93,10 +92,10 @@ public class CollisionMarkerTest extends " committed revision", root.getValueMap(COLLISIONS).containsKey(head)); } - private static DocumentMK newDocumentMK(DB db, int clusterId) { + private static DocumentMK newDocumentMK(MongoConnection c, int clusterId) { DocumentMK mk = new DocumentMK.Builder().setAsyncDelay(0) .setLeaseCheck(false) - .setMongoDB(db) + .setMongoDB(c.getMongoClient(), c.getDBName()) .setClusterId(clusterId) .open(); // do not retry on conflicts Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java Thu Mar 29 13:06:10 2018 @@ -19,8 +19,6 @@ package org.apache.jackrabbit.oak.plugin import java.util.List; import java.util.Set; -import com.mongodb.DB; - import org.apache.jackrabbit.oak.cache.CacheStats; import org.apache.jackrabbit.oak.plugins.document.AbstractJournalTest; import org.apache.jackrabbit.oak.plugins.document.DocumentMK; @@ -210,9 +208,9 @@ public class JournalIT extends AbstractJ } protected DocumentMK createMK(int clusterId, int asyncDelay) { - DB db = connectionFactory.getConnection().getDB(); + MongoConnection c = connectionFactory.getConnection(); builder = newDocumentMKBuilder(); - return register(builder.setMongoDB(db) + return register(builder.setMongoDB(c.getMongoClient(), c.getDBName()) .setClusterId(clusterId).setAsyncDelay(asyncDelay).setBundlingDisabled(true).open()); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoCacheConsistencyTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoCacheConsistencyTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoCacheConsistencyTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoCacheConsistencyTest.java Thu Mar 29 13:06:10 2018 @@ -91,7 +91,7 @@ public class MongoCacheConsistencyTest e } }; DocumentMK.Builder builder = provider.newBuilder().setAsyncDelay(0); - final DocumentStore store = new MongoDocumentStore(fongo.getDB("oak"), builder); + final DocumentStore store = new MongoDocumentStore(fongo.getMongo(), "oak", builder); return new DocumentStoreFixture() { @Override public String getName() { Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java Thu Mar 29 13:06:10 2018 @@ -93,14 +93,14 @@ public class MongoConnectionTest { options.socketKeepAlive(true); MongoConnection c = new MongoConnection(MongoUtils.URL, options); try { - assertTrue(c.getDB().getMongo().getMongoOptions().isSocketKeepAlive()); + assertTrue(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive()); } finally { c.close(); } // default is without keep-alive c = new MongoConnection(MongoUtils.URL); try { - assertFalse(c.getDB().getMongo().getMongoOptions().isSocketKeepAlive()); + assertFalse(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive()); } finally { c.close(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java Thu Mar 29 13:06:10 2018 @@ -89,7 +89,7 @@ public class MongoDBExceptionTest { } } }; - store = new MongoDocumentStore(fongo.getDB("oak"), + store = new MongoDocumentStore(fongo.getMongo(), "oak", new DocumentMK.Builder()); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreMetricsTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreMetricsTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreMetricsTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreMetricsTest.java Thu Mar 29 13:06:10 2018 @@ -54,7 +54,8 @@ public class MongoDocumentStoreMetricsTe MongoConnection connection = connectionFactory.getConnection(); assumeNotNull(connection); MongoDocumentStore store = new MongoDocumentStore( - connection.getDB(), newMongoDocumentNodeStoreBuilder()); + connection.getMongoClient(), connection.getDBName(), + newMongoDocumentNodeStoreBuilder()); try { MongoDocumentStoreMetrics metrics = new MongoDocumentStoreMetrics(store, statsProvider); metrics.run(); Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java Thu Mar 29 13:06:10 2018 @@ -18,8 +18,6 @@ package org.apache.jackrabbit.oak.plugin import java.util.Map; -import com.mongodb.DB; - import org.apache.jackrabbit.oak.plugins.document.AbstractMongoConnectionTest; import org.apache.jackrabbit.oak.plugins.document.Collection; import org.apache.jackrabbit.oak.plugins.document.Document; @@ -47,11 +45,11 @@ public class MongoDocumentStoreTest exte @Override public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); + MongoUtils.dropCollections(mongoConnection.getDBName()); DocumentMK.Builder builder = new DocumentMK.Builder(); - store = new TestStore(mongoConnection.getDB(), builder); + store = new TestStore(mongoConnection, builder); builder.setDocumentStore(store); - mk = builder.setMongoDB(mongoConnection.getDB()).open(); + mk = builder.setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()).open(); } @Test @@ -59,7 +57,7 @@ public class MongoDocumentStoreTest exte assertTrue(hasIndex(store.getDBCollection(Collection.NODES), Document.ID)); assertFalse(hasIndex(store.getDBCollection(Collection.NODES), NodeDocument.SD_TYPE)); assertTrue(hasIndex(store.getDBCollection(Collection.NODES), NodeDocument.SD_TYPE, NodeDocument.SD_MAX_REV_TIME_IN_SECS)); - if (new MongoStatus(mongoConnection.getDB()).isVersion(3, 2)) { + if (new MongoStatus(mongoConnection.getMongoClient(), mongoConnection.getDBName()).isVersion(3, 2)) { assertTrue(hasIndex(store.getDBCollection(Collection.NODES), NodeDocument.DELETED_ONCE, NodeDocument.MODIFIED_IN_SECS)); } else { assertTrue(hasIndex(store.getDBCollection(Collection.NODES), NodeDocument.DELETED_ONCE)); @@ -75,8 +73,8 @@ public class MongoDocumentStoreTest exte MongoConnection c = connectionFactory.getConnection(); assertNotNull(c); DocumentMK.Builder builder = new DocumentMK.Builder(); - TestStore s = new TestStore(c.getDB(), builder); - if (new MongoStatus(mongoConnection.getDB()).isVersion(3, 2)) { + TestStore s = new TestStore(c, builder); + if (new MongoStatus(mongoConnection.getMongoClient(), mongoConnection.getDBName()).isVersion(3, 2)) { assertFalse(hasIndex(s.getDBCollection(Collection.NODES), NodeDocument.DELETED_ONCE)); } else { assertFalse(hasIndex(s.getDBCollection(Collection.NODES), NodeDocument.DELETED_ONCE, NodeDocument.MODIFIED_IN_SECS)); @@ -93,8 +91,8 @@ public class MongoDocumentStoreTest exte } static final class TestStore extends MongoDocumentStore { - TestStore(DB db, DocumentMK.Builder builder) { - super(db, builder); + TestStore(MongoConnection c, DocumentMK.Builder builder) { + super(c.getMongoClient(), c.getDBName(), builder); } } } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTestHelper.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTestHelper.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTestHelper.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTestHelper.java Thu Mar 29 13:06:10 2018 @@ -16,13 +16,16 @@ */ package org.apache.jackrabbit.oak.plugins.document.mongo; -import com.mongodb.DB; - -import org.apache.jackrabbit.oak.plugins.document.Collection; +import com.mongodb.MongoClient; +import com.mongodb.client.MongoDatabase; public final class MongoDocumentStoreTestHelper { - public static DB getDB(MongoDocumentStore store) { - return store.getDBCollection(Collection.NODES).getDB(); + public static MongoDatabase getDB(MongoDocumentStore store) { + return store.getDatabase(); + } + + public static MongoClient getClient(MongoDocumentStore store) { + return store.getClient(); } } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java Thu Mar 29 13:06:10 2018 @@ -57,7 +57,7 @@ public class MongoMissingLastRevSeekerTe assumeTrue(c != null); dbName = c.getDB().getName(); MongoUtils.dropCollections(c.getDB()); - builder = new DocumentMK.Builder().setMongoDB(c.getDB()); + builder = new DocumentMK.Builder().setMongoDB(c.getMongoClient(), c.getDBName()); store = (MongoDocumentStore) builder.getDocumentStore(); ns = builder.getNodeStore(); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoStatusTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoStatusTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoStatusTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoStatusTest.java Thu Mar 29 13:06:10 2018 @@ -46,7 +46,7 @@ public class MongoStatusTest { @Before public void createStatus() { MongoConnection c = connectionFactory.getConnection(); - status = new MongoStatus(c.getDB()); + status = new MongoStatus(c.getMongoClient(), c.getDBName()); } @Test Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java Thu Mar 29 13:06:10 2018 @@ -17,21 +17,23 @@ package org.apache.jackrabbit.oak.plugins.document.mongo; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; -import com.mongodb.DBCollection; -import com.mongodb.DBObject; import com.mongodb.DuplicateKeyException; import com.mongodb.MongoCommandException; import com.mongodb.MongoException; import com.mongodb.MongoSocketException; import com.mongodb.ServerAddress; import com.mongodb.WriteConcernException; +import com.mongodb.client.MongoCollection; import org.apache.jackrabbit.oak.plugins.document.MongoConnectionFactory; import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection; import org.bson.BsonDocument; import org.bson.BsonInt32; import org.bson.BsonString; +import org.bson.Document; import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; @@ -60,7 +62,7 @@ public class MongoUtilsTest { public void createIndex() { MongoConnection c = connectionFactory.getConnection(); c.getDB().dropDatabase(); - DBCollection collection = c.getDB().getCollection("test"); + MongoCollection collection = c.getDatabase().getCollection("test"); MongoUtils.createIndex(collection, "foo", true, false, true); MongoUtils.createIndex(collection, "bar", false, true, false); MongoUtils.createIndex(collection, new String[]{"baz", "qux"}, @@ -71,9 +73,11 @@ public class MongoUtilsTest { assertFalse(MongoUtils.hasIndex(collection, "foo", "bar")); assertTrue(MongoUtils.hasIndex(collection, "baz", "qux")); - assertEquals(4, collection.getIndexInfo().size()); - for (DBObject info : collection.getIndexInfo()) { - DBObject key = (DBObject) info.get("key"); + List<Document> indexes = new ArrayList<>(); + collection.listIndexes().into(indexes); + assertEquals(4, indexes.size()); + for (Document info : indexes) { + Document key = (Document) info.get("key"); if (key.keySet().contains("foo")) { assertEquals(1, key.keySet().size()); assertEquals(1, key.get("foo")); @@ -96,25 +100,27 @@ public class MongoUtilsTest { public void createPartialIndex() { MongoConnection c = connectionFactory.getConnection(); c.getDB().dropDatabase(); - MongoStatus status = new MongoStatus(c.getDB()); + MongoStatus status = new MongoStatus(c.getMongoClient(), c.getDBName()); assumeTrue(status.isVersion(3, 2)); - DBCollection collection = c.getDB().getCollection("test"); + MongoCollection collection = c.getDatabase().getCollection("test"); MongoUtils.createPartialIndex(collection, new String[]{"foo", "bar"}, new boolean[]{true, true}, "{foo:true}"); assertTrue(MongoUtils.hasIndex(collection, "_id")); assertTrue(MongoUtils.hasIndex(collection, "foo", "bar")); - assertEquals(2, collection.getIndexInfo().size()); - for (DBObject info : collection.getIndexInfo()) { - DBObject key = (DBObject) info.get("key"); + List<Document> indexes = new ArrayList<>(); + collection.listIndexes().into(indexes); + assertEquals(2, indexes.size()); + for (Document info : indexes) { + Document key = (Document) info.get("key"); assertNotNull(key); if (key.keySet().contains("foo")) { assertEquals(2, key.keySet().size()); assertEquals(1, key.get("foo")); assertEquals(1, key.get("bar")); - DBObject filter = (DBObject) info.get("partialFilterExpression"); + Document filter = (Document) info.get("partialFilterExpression"); assertNotNull(filter); assertEquals(Boolean.TRUE, filter.get("foo")); } @@ -126,7 +132,7 @@ public class MongoUtilsTest { @Test(expected = IllegalArgumentException.class) public void checkArguments() { MongoConnection c = connectionFactory.getConnection(); - DBCollection collection = c.getDB().getCollection("test"); + MongoCollection collection = c.getDatabase().getCollection("test"); MongoUtils.createIndex(collection, new String[]{"foo", "bar"}, new boolean[]{true}, false, true); } Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/QueryHintTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/QueryHintTest.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/QueryHintTest.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/QueryHintTest.java Thu Mar 29 13:06:10 2018 @@ -55,7 +55,8 @@ public class QueryHintTest extends Abstr //TODO Temp mode to change the default setting so as to test it //If we retain this feature then need to have better config support for it System.setProperty("oak.mongo.maxDeltaForModTimeIdxSecs", "120"); - mongoDS = new MongoDocumentStore(mongoConnection.getDB(), new DocumentMK.Builder()); + mongoDS = new MongoDocumentStore(mongoConnection.getMongoClient(), + mongoConnection.getDBName(), new DocumentMK.Builder()); mongoDS.setClock(clock); TRACE_LOGGER.addHandler(testHandler); TRACE_LOGGER.setLevel(Level.FINEST);
