Skip to content

Commit 53e3e08

Browse files
committed
Small fixes
1 parent a94acc3 commit 53e3e08

File tree

4 files changed

+8
-13
lines changed

4 files changed

+8
-13
lines changed

src/MongoDB.Driver/Core/WireProtocol/Messages/Encoders/JsonEncoders/QueryMessageJsonEncoder.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ internal sealed class QueryMessageJsonEncoder : MessageJsonEncoderBase, IMessage
3131
public QueryMessageJsonEncoder(TextReader textReader, TextWriter textWriter, MessageEncoderSettings encoderSettings)
3232
: base(textReader, textWriter, encoderSettings)
3333
{
34-
_serializationDomain = encoderSettings.GetOrDefault<IBsonSerializationDomain>(MessageEncoderSettingsName.SerializationDomain, null);
34+
_serializationDomain = encoderSettings?.GetOrDefault<IBsonSerializationDomain>(MessageEncoderSettingsName.SerializationDomain, null) ?? BsonSerializer.DefaultSerializationDomain;
35+
//QUESTION: Should we use the default serialization domain here? I think it's appropriate.
3536
}
3637

3738
// methods

src/MongoDB.Driver/MongoClientSettings.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -476,23 +476,18 @@ public ReadPreference ReadPreference
476476

477477
IBsonSerializationDomain IInheritableMongoClientSettings.SerializationDomain
478478
{
479-
get => _serializationDomain;
479+
//QUESTION Is this reasonable?
480+
get => _serializationDomain ?? BsonSerializer.DefaultSerializationDomain;
480481
set
481482
{
482483
if (_isFrozen) { throw new InvalidOperationException("MongoClientSettings is frozen."); }
483484
_serializationDomain = value ?? throw new ArgumentNullException(nameof(value));
484485
}
485486
}
486487

488+
//FP This is a convenience property, it could be removed.
487489
internal IBsonSerializationDomain SerializationDomain
488-
{
489-
get => _serializationDomain;
490-
set
491-
{
492-
if (_isFrozen) { throw new InvalidOperationException("MongoClientSettings is frozen."); }
493-
_serializationDomain = value ?? throw new ArgumentNullException(nameof(value));
494-
}
495-
}
490+
=> (this as IInheritableMongoClientSettings).SerializationDomain;
496491

497492
/// <summary>
498493
/// Gets or sets the name of the replica set.

src/MongoDB.Driver/MongoCollectionSettings.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,7 @@ public ReadPreference ReadPreference
124124
/// </summary>
125125
internal IBsonSerializationDomain SerializationDomain
126126
{
127-
//QUESTION Is this correct? Normally the domain would be setup by ApplyDefaultValues, but for testing it would not work.
128-
//Internally we can also modify the tests to set this (when we use mocks), but externally developers won't be able to set this.
127+
//QUESTION Is this reasonable? In normal uses cases the domain would be setup by ApplyDefaultValues, but for testing it would not work.
129128
get => _serializationDomain.Value ?? BsonSerializer.DefaultSerializationDomain;
130129
set
131130
{

src/MongoDB.Driver/MongoDatabaseSettings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public ReadPreference ReadPreference
109109
/// </summary>
110110
internal IBsonSerializationDomain SerializationDomain
111111
{
112-
get => _serializationDomain.Value;
112+
get => _serializationDomain.Value ?? BsonSerializer.DefaultSerializationDomain; //QUESTION Is this reasonable?
113113
set
114114
{
115115
if (_isFrozen) { throw new InvalidOperationException("MongoCollectionSettings is frozen."); }

0 commit comments

Comments
 (0)