Skip to content

Commit 5eec920

Browse files
Name and namespace cleanup (#6769) (#6773)
* Name and namespace cleanup * Fix license headers Co-authored-by: Steve Gordon <sgordon@hotmail.co.uk>
1 parent 256a856 commit 5eec920

File tree

1,024 files changed

+117613
-117658
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,024 files changed

+117613
-117658
lines changed

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/ConnectionSettingsAwareContractResolver.cs

Lines changed: 75 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -8,82 +8,87 @@
88
using System.Reflection;
99
using Elastic.Clients.Elasticsearch;
1010
using Elastic.Clients.Elasticsearch.QueryDsl;
11+
using Elastic.Clients.Elasticsearch.Serialization;
1112
using Newtonsoft.Json;
1213
using Newtonsoft.Json.Converters;
1314
using Newtonsoft.Json.Serialization;
1415
using JsonProperty = Newtonsoft.Json.Serialization.JsonProperty;
1516

16-
namespace Elastic.Clients.JsonNetSerializer
17+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer;
18+
19+
public class ConnectionSettingsAwareContractResolver : DefaultContractResolver
1720
{
18-
public class ConnectionSettingsAwareContractResolver : DefaultContractResolver
21+
public ConnectionSettingsAwareContractResolver(IElasticsearchClientSettings connectionSettings) =>
22+
ConnectionSettings = connectionSettings ?? throw new ArgumentNullException(nameof(connectionSettings));
23+
24+
protected IElasticsearchClientSettings ConnectionSettings { get; }
25+
26+
protected override string ResolvePropertyName(string fieldName) =>
27+
ConnectionSettings.DefaultFieldNameInferrer != null
28+
? ConnectionSettings.DefaultFieldNameInferrer(fieldName)
29+
: base.ResolvePropertyName(fieldName);
30+
31+
protected override JsonContract CreateContract(Type objectType)
32+
{
33+
var contract = base.CreateContract(objectType);
34+
if (objectType.IsEnum && objectType.GetCustomAttribute<StringEnumAttribute>() != null)
35+
contract.Converter = new StringEnumConverter();
36+
37+
return contract;
38+
}
39+
40+
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
41+
{
42+
var property = base.CreateProperty(member, memberSerialization);
43+
ApplyShouldSerializer(property);
44+
ApplyPropertyOverrides(member, property);
45+
return property;
46+
}
47+
48+
/// <summary> Renames/Ignores a property based on the connection settings mapping or custom attributes for the property </summary>
49+
private void ApplyPropertyOverrides(MemberInfo member, JsonProperty property)
50+
{
51+
//if (!ConnectionSettings.PropertyMappings.TryGetValue(member, out var propertyMapping))
52+
// propertyMapping = ElasticsearchPropertyAttributeBase.From(member);
53+
54+
var serializerMapping = ConnectionSettings.PropertyMappingProvider?.CreatePropertyMapping(member);
55+
56+
var nameOverride = /*propertyMapping?.Name ??*/ serializerMapping?.Name;
57+
if (!string.IsNullOrWhiteSpace(nameOverride))
58+
property.PropertyName = nameOverride;
59+
60+
var overrideIgnore = /*propertyMapping?.Ignore ??*/ serializerMapping?.Ignore;
61+
if (overrideIgnore.HasValue)
62+
property.Ignored = overrideIgnore.Value;
63+
}
64+
65+
private static void ApplyShouldSerializer(JsonProperty property)
66+
{
67+
if (property.PropertyType == typeof(QueryContainer))
68+
property.ShouldSerialize = o => ShouldSerializeQueryContainer(o, property);
69+
else if (property.PropertyType == typeof(IEnumerable<QueryContainer>))
70+
property.ShouldSerialize = o => ShouldSerializeQueryContainers(o, property);
71+
}
72+
73+
private static bool ShouldSerializeQueryContainer(object o, JsonProperty prop)
74+
{
75+
if (o == null)
76+
return false;
77+
if (prop.ValueProvider.GetValue(o) is not QueryContainer q)
78+
return false;
79+
//return q.IsWritable;
80+
return true;
81+
}
82+
83+
private static bool ShouldSerializeQueryContainers(object o, JsonProperty prop)
1984
{
20-
public ConnectionSettingsAwareContractResolver(IElasticsearchClientSettings connectionSettings) =>
21-
ConnectionSettings = connectionSettings ?? throw new ArgumentNullException(nameof(connectionSettings));
22-
23-
protected IElasticsearchClientSettings ConnectionSettings { get; }
24-
25-
protected override string ResolvePropertyName(string fieldName) =>
26-
ConnectionSettings.DefaultFieldNameInferrer != null
27-
? ConnectionSettings.DefaultFieldNameInferrer(fieldName)
28-
: base.ResolvePropertyName(fieldName);
29-
30-
protected override JsonContract CreateContract(Type objectType)
31-
{
32-
var contract = base.CreateContract(objectType);
33-
if (objectType.IsEnum && objectType.GetCustomAttribute<StringEnumAttribute>() != null)
34-
contract.Converter = new StringEnumConverter();
35-
36-
return contract;
37-
}
38-
39-
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
40-
{
41-
var property = base.CreateProperty(member, memberSerialization);
42-
ApplyShouldSerializer(property);
43-
ApplyPropertyOverrides(member, property);
44-
return property;
45-
}
46-
47-
/// <summary> Renames/Ignores a property based on the connection settings mapping or custom attributes for the property </summary>
48-
private void ApplyPropertyOverrides(MemberInfo member, JsonProperty property)
49-
{
50-
//if (!ConnectionSettings.PropertyMappings.TryGetValue(member, out var propertyMapping))
51-
// propertyMapping = ElasticsearchPropertyAttributeBase.From(member);
52-
53-
var serializerMapping = ConnectionSettings.PropertyMappingProvider?.CreatePropertyMapping(member);
54-
55-
var nameOverride = /*propertyMapping?.Name ??*/ serializerMapping?.Name;
56-
if (!string.IsNullOrWhiteSpace(nameOverride)) property.PropertyName = nameOverride;
57-
58-
var overrideIgnore = /*propertyMapping?.Ignore ??*/ serializerMapping?.Ignore;
59-
if (overrideIgnore.HasValue)
60-
property.Ignored = overrideIgnore.Value;
61-
}
62-
63-
private static void ApplyShouldSerializer(JsonProperty property)
64-
{
65-
if (property.PropertyType == typeof(QueryContainer))
66-
property.ShouldSerialize = o => ShouldSerializeQueryContainer(o, property);
67-
else if (property.PropertyType == typeof(IEnumerable<QueryContainer>))
68-
property.ShouldSerialize = o => ShouldSerializeQueryContainers(o, property);
69-
}
70-
71-
private static bool ShouldSerializeQueryContainer(object o, JsonProperty prop)
72-
{
73-
if (o == null) return false;
74-
if (prop.ValueProvider.GetValue(o) is not QueryContainer q) return false;
75-
//return q.IsWritable;
76-
return true;
77-
}
78-
79-
private static bool ShouldSerializeQueryContainers(object o, JsonProperty prop)
80-
{
81-
if (o == null) return false;
82-
if (prop.ValueProvider.GetValue(o) is not IEnumerable<QueryContainer> q) return false;
83-
84-
var queryContainers = q as QueryContainer[] ?? q.ToArray();
85-
//return queryContainers.Any(qq => qq != null && ((QueryContainer)qq).IsWritable);
86-
return queryContainers.Any(qq => qq != null);
87-
}
85+
if (o == null)
86+
return false;
87+
if (prop.ValueProvider.GetValue(o) is not IEnumerable<QueryContainer> q)
88+
return false;
89+
90+
var queryContainers = q as QueryContainer[] ?? q.ToArray();
91+
//return queryContainers.Any(qq => qq != null && ((QueryContainer)qq).IsWritable);
92+
return queryContainers.Any(qq => qq != null);
8893
}
8994
}

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/ConnectionSettingsAwareSerializerBase.Customization.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
using Elastic.Transport;
1212
using Newtonsoft.Json;
1313

14-
namespace Elastic.Clients.JsonNetSerializer
14+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer
1515
{
1616
public abstract partial class ConnectionSettingsAwareSerializer : Serializer
1717
{

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/ConnectionSettingsAwareSerializerBase.PropertyMappingProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
using Elastic.Clients.Elasticsearch;
99
using Newtonsoft.Json;
1010

11-
namespace Elastic.Clients.JsonNetSerializer
11+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer
1212
{
1313
public abstract partial class ConnectionSettingsAwareSerializer : IPropertyMappingProvider
1414
{

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/ConnectionSettingsAwareSerializerBase.Serializer.cs

Lines changed: 54 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -5,77 +5,75 @@
55
using System;
66
using System.Collections.Generic;
77
using System.Linq;
8-
using Elastic.Clients.JsonNetSerializer.Converters;
98
using Newtonsoft.Json;
109
using Elastic.Transport;
11-
using Elastic.Clients.Elasticsearch;
1210
using Newtonsoft.Json.Converters;
11+
using Elastic.Clients.Elasticsearch.JsonNetSerializer.Converters;
1312

14-
namespace Elastic.Clients.JsonNetSerializer
13+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer;
14+
15+
public abstract partial class ConnectionSettingsAwareSerializer
1516
{
16-
public abstract partial class ConnectionSettingsAwareSerializer
17+
protected ConnectionSettingsAwareSerializer(Serializer builtinSerializer, IElasticsearchClientSettings connectionSettings)
18+
: this(builtinSerializer, connectionSettings, null, null, null) { }
19+
20+
internal ConnectionSettingsAwareSerializer(
21+
Serializer builtinSerializer,
22+
IElasticsearchClientSettings connectionSettings,
23+
Func<JsonSerializerSettings> jsonSerializerSettingsFactory,
24+
Action<ConnectionSettingsAwareContractResolver> modifyContractResolver,
25+
IEnumerable<JsonConverter> contractJsonConverters
26+
)
1727
{
18-
protected ConnectionSettingsAwareSerializer(Serializer builtinSerializer, IElasticsearchClientSettings connectionSettings)
19-
: this(builtinSerializer, connectionSettings, null, null, null) { }
28+
JsonSerializerSettingsFactory = jsonSerializerSettingsFactory;
29+
ModifyContractResolverCallback = modifyContractResolver;
30+
ContractJsonConverters = contractJsonConverters ?? Enumerable.Empty<JsonConverter>();
2031

21-
internal ConnectionSettingsAwareSerializer(
22-
Serializer builtinSerializer,
23-
IElasticsearchClientSettings connectionSettings,
24-
Func<JsonSerializerSettings> jsonSerializerSettingsFactory,
25-
Action<ConnectionSettingsAwareContractResolver> modifyContractResolver,
26-
IEnumerable<JsonConverter> contractJsonConverters
27-
)
32+
ConnectionSettings = connectionSettings;
33+
BuiltinSerializer = builtinSerializer;
34+
Converters = new List<JsonConverter>
2835
{
29-
JsonSerializerSettingsFactory = jsonSerializerSettingsFactory;
30-
ModifyContractResolverCallback = modifyContractResolver;
31-
ContractJsonConverters = contractJsonConverters ?? Enumerable.Empty<JsonConverter>();
32-
33-
ConnectionSettings = connectionSettings;
34-
BuiltinSerializer = builtinSerializer;
35-
Converters = new List<JsonConverter>
36-
{
37-
new HandleNestTypesOnSourceJsonConverter(BuiltinSerializer, connectionSettings.MemoryStreamFactory),
38-
new TimeSpanToStringConverter(),
39-
new StringEnumConverter()
40-
};
41-
_serializer = CreateSerializer(SerializationFormatting.Indented);
42-
_collapsedSerializer = CreateSerializer(SerializationFormatting.None);
43-
}
36+
new HandleNestTypesOnSourceJsonConverter(BuiltinSerializer, connectionSettings.MemoryStreamFactory),
37+
new TimeSpanToStringConverter(),
38+
new StringEnumConverter()
39+
};
40+
_serializer = CreateSerializer(SerializationFormatting.Indented);
41+
_collapsedSerializer = CreateSerializer(SerializationFormatting.None);
42+
}
4443

45-
protected Serializer BuiltinSerializer { get; }
44+
protected Serializer BuiltinSerializer { get; }
4645

47-
protected IElasticsearchClientSettings ConnectionSettings { get; }
48-
protected IEnumerable<JsonConverter> ContractJsonConverters { get; }
49-
protected Func<JsonSerializerSettings> JsonSerializerSettingsFactory { get; }
50-
protected Action<ConnectionSettingsAwareContractResolver> ModifyContractResolverCallback { get; }
46+
protected IElasticsearchClientSettings ConnectionSettings { get; }
47+
protected IEnumerable<JsonConverter> ContractJsonConverters { get; }
48+
protected Func<JsonSerializerSettings> JsonSerializerSettingsFactory { get; }
49+
protected Action<ConnectionSettingsAwareContractResolver> ModifyContractResolverCallback { get; }
5150

52-
private List<JsonConverter> Converters { get; }
51+
private List<JsonConverter> Converters { get; }
5352

54-
private JsonSerializer CreateSerializer(SerializationFormatting formatting)
55-
{
56-
var s = CreateJsonSerializerSettings() ?? new JsonSerializerSettings();
57-
var converters = CreateJsonConverters() ?? Enumerable.Empty<JsonConverter>();
58-
var contract = CreateContractResolver();
59-
s.Formatting = formatting == SerializationFormatting.Indented ? Formatting.Indented : Formatting.None;
60-
s.ContractResolver = contract;
61-
foreach (var converter in converters.Concat(Converters))
62-
s.Converters.Add(converter);
53+
private JsonSerializer CreateSerializer(SerializationFormatting formatting)
54+
{
55+
var s = CreateJsonSerializerSettings() ?? new JsonSerializerSettings();
56+
var converters = CreateJsonConverters() ?? Enumerable.Empty<JsonConverter>();
57+
var contract = CreateContractResolver();
58+
s.Formatting = formatting == SerializationFormatting.Indented ? Formatting.Indented : Formatting.None;
59+
s.ContractResolver = contract;
60+
foreach (var converter in converters.Concat(Converters))
61+
s.Converters.Add(converter);
6362

64-
return JsonSerializer.Create(s);
65-
}
63+
return JsonSerializer.Create(s);
64+
}
6665

67-
protected virtual ConnectionSettingsAwareContractResolver CreateContractResolver()
68-
{
69-
var contract = new ConnectionSettingsAwareContractResolver(ConnectionSettings);
70-
ModifyContractResolver(contract);
71-
return contract;
72-
}
66+
protected virtual ConnectionSettingsAwareContractResolver CreateContractResolver()
67+
{
68+
var contract = new ConnectionSettingsAwareContractResolver(ConnectionSettings);
69+
ModifyContractResolver(contract);
70+
return contract;
71+
}
7372

74-
protected virtual JsonSerializerSettings CreateJsonSerializerSettings() => JsonSerializerSettingsFactory?.Invoke();
73+
protected virtual JsonSerializerSettings CreateJsonSerializerSettings() => JsonSerializerSettingsFactory?.Invoke();
7574

76-
protected virtual IEnumerable<JsonConverter> CreateJsonConverters() => ContractJsonConverters;
75+
protected virtual IEnumerable<JsonConverter> CreateJsonConverters() => ContractJsonConverters;
7776

78-
protected virtual void ModifyContractResolver(ConnectionSettingsAwareContractResolver resolver) =>
79-
ModifyContractResolverCallback?.Invoke(resolver);
80-
}
77+
protected virtual void ModifyContractResolver(ConnectionSettingsAwareContractResolver resolver) =>
78+
ModifyContractResolverCallback?.Invoke(resolver);
8179
}

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/Converters/HandleNestTypesOnSourceJsonConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
using Newtonsoft.Json;
1212
using Newtonsoft.Json.Linq;
1313

14-
namespace Elastic.Clients.JsonNetSerializer.Converters
14+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer.Converters
1515
{
1616
public class HandleNestTypesOnSourceJsonConverter : JsonConverter
1717
{

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/Converters/TimeSpanToStringConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
using System;
66
using Newtonsoft.Json;
77

8-
namespace Elastic.Clients.JsonNetSerializer.Converters
8+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer.Converters
99
{
1010
/// <summary>
1111
/// Included for compatibility reasons

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/JTokenExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using Newtonsoft.Json;
88
using Newtonsoft.Json.Linq;
99

10-
namespace Elastic.Clients.JsonNetSerializer
10+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer
1111
{
1212
internal static class JTokenExtensions
1313
{

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/JsonNetSerializer.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
using Elastic.Transport;
88
using Elastic.Clients.Elasticsearch;
99
using Newtonsoft.Json;
10+
using Elastic.Clients.Elasticsearch.JsonNetSerializer;
1011

11-
namespace Elastic.Clients.JsonNetSerializer
12+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer
1213
{
1314
public class JsonNetSerializer : ConnectionSettingsAwareSerializer
1415
{

src/Elastic.Clients.Elasticsearch.JsonNetSerializer/JsonReaderExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using Newtonsoft.Json;
88
using Newtonsoft.Json.Linq;
99

10-
namespace Elastic.Clients.JsonNetSerializer
10+
namespace Elastic.Clients.Elasticsearch.JsonNetSerializer
1111
{
1212
internal static class JsonReaderExtensions
1313
{

src/Elastic.Clients.Elasticsearch/Api/BulkRequest.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
using System.Collections.Generic;
1010
using System.Linq;
1111
using Elastic.Clients.Elasticsearch.Core.Bulk;
12+
using Elastic.Clients.Elasticsearch.Serialization;
13+
using Elastic.Clients.Elasticsearch.Requests;
1214

1315
namespace Elastic.Clients.Elasticsearch
1416
{
@@ -107,7 +109,7 @@ public BulkRequestDescriptor Index<TSource>(TSource document, IndexName index, A
107109
return this;
108110
}
109111

110-
public BulkRequestDescriptor Update(BulkUpdateOperationBase update)
112+
public BulkRequestDescriptor Update(BulkUpdateOperation update)
111113
{
112114
_operations.Add(update);
113115
return this;

src/Elastic.Clients.Elasticsearch/Api/BulkResponse.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ namespace Elastic.Clients.Elasticsearch
1313
public partial class BulkResponse
1414
{
1515
[JsonConverter(typeof(BulkResponseItemConverter)), JsonPropertyName("items")]
16-
public IReadOnlyList<BulkResponseItemBase> Items { get; init; }
16+
public IReadOnlyList<ResponseItem> Items { get; init; }
1717

1818
[JsonIgnore]
19-
public IEnumerable<BulkResponseItemBase> ItemsWithErrors => !Items.HasAny()
20-
? Enumerable.Empty<BulkResponseItemBase>()
19+
public IEnumerable<ResponseItem> ItemsWithErrors => !Items.HasAny()
20+
? Enumerable.Empty<ResponseItem>()
2121
: Items.Where(i => !i.IsValid);
2222

2323
public override bool IsValid => base.IsValid && !Errors && !ItemsWithErrors.HasAny();

src/Elastic.Clients.Elasticsearch/Api/CreateRequest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
33
// See the LICENSE file in the project root for more information.
44

5+
using Elastic.Clients.Elasticsearch.Serialization;
56
using Elastic.Transport;
67
using System.Text.Json;
78

0 commit comments

Comments
 (0)