diff --git a/debezium-connector-mongodb/src/main/java/io/debezium/connector/mongodb/sink/converters/SinkDocument.java b/debezium-connector-mongodb/src/main/java/io/debezium/connector/mongodb/sink/converters/SinkDocument.java index bc813efa7..deca3aca8 100644 --- a/debezium-connector-mongodb/src/main/java/io/debezium/connector/mongodb/sink/converters/SinkDocument.java +++ b/debezium-connector-mongodb/src/main/java/io/debezium/connector/mongodb/sink/converters/SinkDocument.java @@ -10,24 +10,25 @@ import org.bson.BsonDocument; public final class SinkDocument implements Cloneable { - private final BsonDocument keyDoc; - private final BsonDocument valueDoc; + private final Optional keyDoc; + private final Optional valueDoc; public SinkDocument(final BsonDocument keyDoc, final BsonDocument valueDoc) { - this.keyDoc = keyDoc; - this.valueDoc = valueDoc; + this.keyDoc = Optional.ofNullable(keyDoc); + this.valueDoc = Optional.ofNullable(valueDoc); } public Optional getKeyDoc() { - return Optional.ofNullable(keyDoc); + return keyDoc; } public Optional getValueDoc() { - return Optional.ofNullable(valueDoc); + return valueDoc; } @Override public SinkDocument clone() { - return new SinkDocument(keyDoc != null ? keyDoc.clone() : null, valueDoc != null ? valueDoc.clone() : null); + return new SinkDocument(keyDoc.isPresent() ? keyDoc.get().clone() : null, + valueDoc.isPresent() ? valueDoc.get().clone() : null); } }