diff --git a/pom.xml b/pom.xml
index 04d3ee40..18700248 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
org.mongodb
mongodb-driver-sync
- 4.8.1
+ 4.11.1
com.fasterxml.jackson.core
@@ -41,6 +41,11 @@
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
+
+ org.slf4j
+ slf4j-api
+ 1.7.6
+
javax.persistence
javax.persistence-api
diff --git a/src/main/java/org/mongojack/JacksonMongoCollection.java b/src/main/java/org/mongojack/JacksonMongoCollection.java
index 6f56b309..c67b8cb7 100644
--- a/src/main/java/org/mongojack/JacksonMongoCollection.java
+++ b/src/main/java/org/mongojack/JacksonMongoCollection.java
@@ -26,22 +26,9 @@
import com.mongodb.ReadConcern;
import com.mongodb.ReadPreference;
import com.mongodb.WriteConcern;
-import com.mongodb.client.ClientSession;
-import com.mongodb.client.DistinctIterable;
-import com.mongodb.client.FindIterable;
-import com.mongodb.client.MapReduceIterable;
-import com.mongodb.client.MongoClient;
+import com.mongodb.client.*;
import com.mongodb.client.MongoCollection;
-import com.mongodb.client.MongoDatabase;
-import com.mongodb.client.model.DeleteManyModel;
-import com.mongodb.client.model.DeleteOneModel;
-import com.mongodb.client.model.DropCollectionOptions;
-import com.mongodb.client.model.Filters;
-import com.mongodb.client.model.ReplaceOneModel;
-import com.mongodb.client.model.ReplaceOptions;
-import com.mongodb.client.model.UpdateManyModel;
-import com.mongodb.client.model.UpdateOneModel;
-import com.mongodb.client.model.WriteModel;
+import com.mongodb.client.model.*;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.bson.BsonDocument;
@@ -668,6 +655,41 @@ public void drop(final ClientSession clientSession, final DropCollectionOptions
mongoCollection.drop(clientSession, dropCollectionOptions);
}
+ @Override
+ public String createSearchIndex(String indexName, Bson definition) {
+ return mongoCollection.createSearchIndex(indexName, definition);
+ }
+
+ @Override
+ public String createSearchIndex(Bson definition) {
+ return mongoCollection.createSearchIndex(definition);
+ }
+
+ @Override
+ public List createSearchIndexes(List searchIndexModels) {
+ return mongoCollection.createSearchIndexes(searchIndexModels);
+ }
+
+ @Override
+ public void updateSearchIndex(String indexName, Bson definition) {
+ mongoCollection.updateSearchIndex(indexName, definition);
+ }
+
+ @Override
+ public void dropSearchIndex(String indexName) {
+ mongoCollection.dropSearchIndex(indexName);
+ }
+
+ @Override
+ public ListSearchIndexesIterable listSearchIndexes() {
+ return mongoCollection.listSearchIndexes();
+ }
+
+ @Override
+ public ListSearchIndexesIterable listSearchIndexes(Class tResult1Class) {
+ return mongoCollection.listSearchIndexes(tResult1Class);
+ }
+
private void initializeIfNecessary(Object maybeInitializable) {
if (maybeInitializable instanceof InitializationRequiredForTransformation) {
((InitializationRequiredForTransformation) maybeInitializable).initialize(objectMapper, type, jacksonCodecRegistry);
diff --git a/src/main/java/org/mongojack/internal/stream/JacksonCodec.java b/src/main/java/org/mongojack/internal/stream/JacksonCodec.java
index 10efe479..9e2d2244 100644
--- a/src/main/java/org/mongojack/internal/stream/JacksonCodec.java
+++ b/src/main/java/org/mongojack/internal/stream/JacksonCodec.java
@@ -28,6 +28,8 @@
import org.bson.types.ObjectId;
import org.mongojack.JacksonCodecRegistry;
import org.mongojack.internal.AnnotationHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
@@ -37,6 +39,8 @@
@SuppressWarnings("WeakerAccess")
public class JacksonCodec implements Codec, CollectibleCodec, OverridableUuidRepresentationCodec {
+ private final static Logger logger = LoggerFactory.getLogger(JacksonCodec.class);
+
private final JacksonEncoder encoder;
private final JacksonDecoder decoder;
private final ObjectMapper objectMapper;
@@ -106,7 +110,7 @@ private Supplier getIdReader(final T t) {
try {
return constructIdValue(beanPropertyDefinition.getAccessor().getValue(t), maybeBpd);
} catch (Exception e) {
- e.printStackTrace();
+ logger.warn("Suppressed error attempting to get reader for object id in " + t.getClass(), e);
return BsonNull.VALUE;
}
}).orElseGet(() -> () -> BsonNull.VALUE);
@@ -123,7 +127,7 @@ private Consumer getIdWriter(final T t) {
);
}
} catch (Exception e) {
- e.printStackTrace();
+ logger.warn("Suppressed error attempting to get writer for object id in " + t.getClass(), e);
}
}).orElseGet(() -> (bsonObjectId) -> {
});