Skip to content

Commit 643bab1

Browse files
committed
make sure querycontainerjsonconverter is a contractjson converter
1 parent 824bfa2 commit 643bab1

File tree

9 files changed

+39
-36
lines changed

9 files changed

+39
-36
lines changed

src/Nest/CommonAbstractions/Extensions/JsonExtensions.cs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,33 +33,33 @@ public static void WriteProperty(this JsonWriter writer, JsonSerializer serializ
3333
serializer.Serialize(writer, value);
3434
}
3535

36-
public static bool TryParseServerError(this JToken jToken, JsonSerializer serializer, out ServerError error)
37-
{
38-
error = null;
39-
if (jToken == null) return false;
40-
41-
var errorProperty = jToken.Children<JProperty>().FirstOrDefault(c => c.Name == "error");
42-
var rootCauseProperty = jToken.Children<JProperty>().FirstOrDefault(c => c.Name == "root_cause");
43-
if (errorProperty == null && rootCauseProperty == null) return false;
44-
45-
var j = jToken;
46-
if (rootCauseProperty != null)
36+
public static bool TryParseServerError(this JToken jToken, JsonSerializer serializer, out ServerError error)
37+
{
38+
error = null;
39+
if (jToken == null) return false;
40+
41+
var errorProperty = jToken.Children<JProperty>().FirstOrDefault(c => c.Name == "error");
42+
var rootCauseProperty = jToken.Children<JProperty>().FirstOrDefault(c => c.Name == "root_cause");
43+
if (errorProperty == null && rootCauseProperty == null) return false;
44+
45+
var j = jToken;
46+
if (rootCauseProperty != null)
4747
{
4848
var o = new JObject
4949
{
5050
{"error", jToken}
5151
};
52-
j = o;
53-
}
54-
55-
using (var sw = new StringWriter())
56-
using (var localWriter = new JsonTextWriter(sw))
57-
{
58-
serializer.Serialize(localWriter, j);
59-
using (var ms = new MemoryStream(sw.ToString().Utf8Bytes()))
60-
error = ServerError.Create(ms);
61-
}
62-
return true;
52+
j = o;
53+
}
54+
55+
using (var sw = new StringWriter())
56+
using (var localWriter = new JsonTextWriter(sw))
57+
{
58+
serializer.Serialize(localWriter, j);
59+
using (var ms = new MemoryStream(sw.ToString().Utf8Bytes()))
60+
error = ServerError.Create(ms);
61+
}
62+
return true;
6363
}
6464
}
6565
}

src/Nest/CommonAbstractions/SerializationBehavior/ElasticContractResolver.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ private static void ApplyBuildInSerializers(MemberInfo member, JsonProperty prop
188188
if ((property.PropertyType == typeof(DateTime) || property.PropertyType == typeof(DateTime?))
189189
&& (attributes.OfType<MachineLearningDateTimeAttribute>().Any()))
190190
property.Converter = MachineLearningDateTimeConverter;
191-
192191
}
193192

194193
private static void ApplyBuildInSerializersForType(Type type, JsonContract contract)

src/Nest/Mapping/Types/Specialized/Attachment/Attachment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Nest
66
{
7-
[JsonConverter(typeof(AttachmentConverter))]
7+
[ContractJsonConverter(typeof(AttachmentConverter))]
88
public class Attachment
99
{
1010
/// <summary>

src/Nest/QueryDsl/Abstractions/Container/IQueryContainer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
namespace Nest
55
{
66
[JsonObject(MemberSerialization = MemberSerialization.OptIn)]
7-
[JsonConverter(typeof(QueryContainerJsonConverter))]
7+
[ContractJsonConverter(typeof(QueryContainerJsonConverter))]
88
public interface IQueryContainer
99
{
1010
[JsonIgnore]

src/Nest/QueryDsl/Abstractions/Container/QueryContainerJsonConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace Nest
88
{
9-
internal class QueryContainerJsonConverter: ReserializeJsonConverter<QueryContainer, IQueryContainer>
9+
internal class QueryContainerJsonConverter : ReserializeJsonConverter<QueryContainer, IQueryContainer>
1010
{
1111
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
1212
{
@@ -28,7 +28,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
2828
protected override void SerializeJson(JsonWriter writer, object value, IQueryContainer castValue, JsonSerializer serializer)
2929
{
3030
var rawQuery = castValue.RawQuery;
31-
if (!rawQuery?.Raw.IsNullOrEmpty() ?? false && rawQuery.IsWritable)
31+
if ((!rawQuery?.Raw.IsNullOrEmpty() ?? false) && rawQuery.IsWritable)
3232
{
3333
writer.WriteRawValue(rawQuery.Raw);
3434
return;

src/Serializers/Nest.JsonNetSerializer/ConnectionSettingsAwareContractResolver.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@ namespace Nest.JsonNetSerializer
99
{
1010
public class ConnectionSettingsAwareContractResolver : DefaultContractResolver
1111
{
12-
private readonly IConnectionSettingsValues _connectionSettings;
12+
public IConnectionSettingsValues ConnectionSettings { get; }
1313

1414
public ConnectionSettingsAwareContractResolver(IConnectionSettingsValues connectionSettings)
1515
{
16-
_connectionSettings = connectionSettings ?? throw new ArgumentNullException(nameof(connectionSettings));
16+
ConnectionSettings = connectionSettings ?? throw new ArgumentNullException(nameof(connectionSettings));
1717
}
1818

1919
protected override string ResolvePropertyName(string fieldName) =>
20-
this._connectionSettings.DefaultFieldNameInferrer != null
21-
? this._connectionSettings.DefaultFieldNameInferrer(fieldName)
20+
this.ConnectionSettings.DefaultFieldNameInferrer != null
21+
? this.ConnectionSettings.DefaultFieldNameInferrer(fieldName)
2222
: base.ResolvePropertyName(fieldName);
2323

2424
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
@@ -32,10 +32,10 @@ protected override JsonProperty CreateProperty(MemberInfo member, MemberSerializ
3232
/// <summary> Renames/Ignores a property based on the connection settings mapping or custom attributes for the property </summary>
3333
private void ApplyPropertyOverrides(MemberInfo member, JsonProperty property)
3434
{
35-
if (!this._connectionSettings.PropertyMappings.TryGetValue(member, out var propertyMapping))
35+
if (!this.ConnectionSettings.PropertyMappings.TryGetValue(member, out var propertyMapping))
3636
propertyMapping = ElasticsearchPropertyAttributeBase.From(member);
3737

38-
var serializerMapping = this._connectionSettings.PropertyMappingProvider?.CreatePropertyMapping(member);
38+
var serializerMapping = this.ConnectionSettings.PropertyMappingProvider?.CreatePropertyMapping(member);
3939

4040
var nameOverride = propertyMapping?.Name ?? serializerMapping?.Name;
4141
if (!string.IsNullOrWhiteSpace(nameOverride)) property.PropertyName = nameOverride;

src/Serializers/Nest.JsonNetSerializer/Converters/RevertBackToBuiltinSerializer.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.IO;
33
using System.Linq;
4+
using System.Reflection;
45
using System.Text;
56
using Elasticsearch.Net;
67
using Newtonsoft.Json;
@@ -41,5 +42,8 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
4142
};
4243

4344
public override bool CanConvert(Type objectType) => NestTypesThatCanAppearInSource.Contains(objectType);
45+
46+
47+
4448
}
4549
}

src/Tests/QueryDsl/Specialized/Percolate/PercolateQueryUsageTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ protected override void IntegrationSetup(IElasticClient client, CallUniqueValues
7575
this.Client.Index(new ProjectPercolation
7676
{
7777
Id = PercolatorId,
78-
Query = new QueryContainer(new MatchQuery
78+
Query = new MatchQuery
7979
{
8080
Field = Infer.Field<Project>(f => f.LeadDeveloper.FirstName),
8181
Query = "Martijn"
82-
})
82+
}
8383
}, d => d.Index(percolationIndex));
8484
this.Client.IndexDocument(Project.Instance);
8585
this.Client.Refresh(Nest.Indices.Index(percolationIndex).And<Project>());

src/Tests/tests.default.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ force_reseed: true
1717
# this is opt in during development in CI we never want to see our tests running against an already running node
1818
test_against_already_running_elasticsearch: true
1919

20-
force_custom_source_serializer: false
20+
force_custom_source_serializer: true
2121
seed: 57854

0 commit comments

Comments
 (0)