Skip to content

Commit 185b712

Browse files
committed
feat(): clean up validations
Signed-off-by: Joe Feser <[email protected]>
1 parent 38966ce commit 185b712

File tree

17 files changed

+37
-1757
lines changed

17 files changed

+37
-1757
lines changed

src/OpenSearch.Client/CommonAbstractions/Extensions/TypeExtensions.cs

-12
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,6 @@ internal static object CreateInstance(this Type t, params object[] args)
8585
where p.Length == args.Length
8686
select c;
8787

88-
89-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
90-
Before:
91-
var ctor = constructors.FirstOrDefault();
92-
if (ctor == null)
93-
throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
94-
95-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
96-
After:
97-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
98-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
99-
*/
10088
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
10189
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
10290
CachedActivators.TryAdd(key, activator);

src/OpenSearch.Client/CommonAbstractions/Infer/Field/FieldResolver.cs

+4-18
Original file line numberDiff line numberDiff line change
@@ -86,27 +86,13 @@ public string Resolve(PropertyName property)
8686
private string Resolve(Expression expression, MemberInfo member, bool toLastToken = false)
8787
{
8888
var visitor = new FieldExpressionVisitor(_settings);
89-
90-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
91-
Before:
92-
var name = expression != null
93-
? visitor.Resolve(expression, toLastToken)
94-
: member != null
95-
? visitor.Resolve(member)
96-
: null;
97-
After:
98-
var name = (expression != null
99-
? visitor.Resolve(expression, toLastToken)
100-
: member != null
101-
? visitor.Resolve(member)
102-
: null) ?? throw new ArgumentException("Name resolved to null for the given Expression or MemberInfo.");
103-
*/
104-
var name = (expression != null
89+
var name = expression != null
10590
? visitor.Resolve(expression, toLastToken)
10691
: member != null
10792
? visitor.Resolve(member)
108-
: null) ?? throw new ArgumentException("Name resolved to null for the given Expression or MemberInfo.");
109-
return name;
93+
: null;
94+
95+
return name ?? throw new ArgumentException("Name resolved to null for the given Expression or MemberInfo.");
11096
}
11197
}
11298
}

src/OpenSearch.Client/CommonAbstractions/SerializationBehavior/JsonFormatters/InterfaceGenericDictionaryResolver.cs

-80
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,6 @@ internal static object GetFormatter(Type t)
7070

7171
Type implementationType;
7272
if (t.IsInterface)
73-
74-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
75-
Before:
76-
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>();
77-
if (readAsAttribute == null)
78-
throw new Exception($"Unable to deserialize interface {t.FullName}");
79-
80-
implementationType = readAsAttribute.Type.IsGenericType
81-
After:
82-
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>() ?? throw new Exception($"Unable to deserialize interface {t.FullName}");
83-
implementationType = readAsAttribute.Type.IsGenericType
84-
*/
8573
{
8674
// need an implementation to deserialize interface to
8775
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>() ?? throw new Exception($"Unable to deserialize interface {t.FullName}");
@@ -99,31 +87,6 @@ internal static object GetFormatter(Type t)
9987
orderby p.Length descending
10088
select c;
10189

102-
103-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
104-
Before:
105-
var ctor = constructors.FirstOrDefault();
106-
if (ctor == null)
107-
throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
108-
+ $"have a public constructor accepting "
109-
+ $"IDictionary<{typeArguments[0].FullName},{typeArguments[1].FullName}> argument "
110-
+ $"or a public parameterless constructor");
111-
112-
// construct a delegate for the ctor
113-
var activatorMethod = TypeExtensions.GetActivatorMethodInfo.MakeGenericMethod(t);
114-
var activator = activatorMethod.Invoke(null, new object[] { ctor });
115-
return CreateInstance(genericTypeArgs, activator, ctor.GetParameters().Length == 0);
116-
After:
117-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
118-
+ $"have a public constructor accepting "
119-
+ $"IDictionary<{typeArguments[0].FullName},{typeArguments[1].FullName}> argument "
120-
+ $"or a public parameterless constructor");
121-
122-
// construct a delegate for the ctor
123-
var activatorMethod = activatorMethod.Invoke(null, new object[] { ctor });
124-
var activator = activatorMethod.Invoke(null, new object[] { ctor });
125-
return CreateInstance(genericTypeArgs, activator, ctor.GetParameters().Length == 0);
126-
*/
12790
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
12891
+ $"have a public constructor accepting "
12992
+ $"IDictionary<{typeArguments[0].FullName},{typeArguments[1].FullName}> argument "
@@ -173,18 +136,6 @@ internal static object GetFormatter(Type t)
173136

174137
Type implementationType;
175138
if (t.IsInterface)
176-
177-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
178-
Before:
179-
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>();
180-
if (readAsAttribute == null)
181-
throw new Exception($"Unable to deserialize interface {t.FullName}");
182-
183-
implementationType = readAsAttribute.Type.IsGenericType
184-
After:
185-
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>() ?? throw new Exception($"Unable to deserialize interface {t.FullName}");
186-
implementationType = readAsAttribute.Type.IsGenericType
187-
*/
188139
{
189140
// need an implementation to deserialize interface to
190141
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>() ?? throw new Exception($"Unable to deserialize interface {t.FullName}");
@@ -204,27 +155,6 @@ internal static object GetFormatter(Type t)
204155
orderby p.Length descending
205156
select c;
206157

207-
208-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
209-
Before:
210-
var ctor = constructors.FirstOrDefault();
211-
if (ctor == null)
212-
throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
213-
+ $"have a public constructor accepting IDictionary<{typeArguments[0].FullName},{typeArguments[1].FullName}> argument");
214-
215-
// construct a delegate for the ctor
216-
var activatorMethod = TypeExtensions.GetActivatorMethodInfo.MakeGenericMethod(t);
217-
var activator = activatorMethod.Invoke(null, new object[] { ctor });
218-
return CreateInstance(genericTypeArgs, activator, ctor.GetParameters().Length == 0);
219-
After:
220-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
221-
+ $"have a public constructor accepting IDictionary<{typeArguments[0].FullName},{typeArguments[1].FullName}> argument");
222-
223-
// construct a delegate for the ctor
224-
var activatorMethod = activatorMethod.Invoke(null, new object[] { ctor });
225-
var activator = activatorMethod.Invoke(null, new object[] { ctor });
226-
return CreateInstance(genericTypeArgs, activator, ctor.GetParameters().Length == 0);
227-
*/
228158
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
229159
+ $"have a public constructor accepting IDictionary<{typeArguments[0].FullName},{typeArguments[1].FullName}> argument");
230160

@@ -297,16 +227,6 @@ public void Serialize(ref JsonWriter writer, TDictionary value, IJsonFormatterRe
297227
// TODO mutator is not used, should it?
298228
var mutator = formatterResolver.GetConnectionSettings().DefaultFieldNameInferrer;
299229
var valueFormatter = formatterResolver.GetFormatterWithVerify<TValue>();
300-
301-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
302-
Before:
303-
var valueFormatter = formatterResolver.GetFormatterWithVerify<TValue>();
304-
305-
writer.WriteBeginObject();
306-
After:
307-
writer.WriteBeginObject();
308-
*/
309-
310230
writer.WriteBeginObject();
311231

312232
var e = GetSourceEnumerator(value);

src/OpenSearch.Client/CommonAbstractions/SerializationBehavior/JsonFormatters/IsADictionaryFormatterResolver.cs

-56
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,6 @@ internal static object GetFormatter(Type t)
6666

6767
Type implementationType;
6868
if (t.IsInterface)
69-
70-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
71-
Before:
72-
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>();
73-
if (readAsAttribute == null)
74-
throw new Exception($"Unable to deserialize interface {t.FullName}");
75-
76-
implementationType = readAsAttribute.Type.IsGenericType
77-
After:
78-
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>() ?? throw new Exception($"Unable to deserialize interface {t.FullName}");
79-
implementationType = readAsAttribute.Type.IsGenericType
80-
*/
8169
{
8270
// need an implementation to deserialize interface to
8371
var readAsAttribute = t.GetCustomAttribute<ReadAsAttribute>() ?? throw new Exception($"Unable to deserialize interface {t.FullName}");
@@ -95,31 +83,6 @@ internal static object GetFormatter(Type t)
9583
orderby p.Length descending
9684
select c;
9785

98-
99-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
100-
Before:
101-
var ctor = constructors.FirstOrDefault();
102-
if (ctor == null)
103-
throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
104-
+ $"have a constructor accepting "
105-
+ $"{genericDictionaryInterface.FullName} argument "
106-
+ $"or a parameterless constructor");
107-
108-
// construct a delegate for the ctor
109-
var activatorMethod = TypeExtensions.GetActivatorMethodInfo.MakeGenericMethod(t);
110-
var activator = activatorMethod.Invoke(null, new object[] { ctor });
111-
return CreateInstance(genericTypeArgs.ToArray(), activator, ctor.GetParameters().Length == 0);
112-
After:
113-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
114-
+ $"have a constructor accepting "
115-
+ $"{genericDictionaryInterface.FullName} argument "
116-
+ $"or a parameterless constructor");
117-
118-
// construct a delegate for the ctor
119-
var activatorMethod = activatorMethod.Invoke(null, new object[] { ctor });
120-
var activator = activatorMethod.Invoke(null, new object[] { ctor });
121-
return CreateInstance(genericTypeArgs.ToArray(), activator, ctor.GetParameters().Length == 0);
122-
*/
12386
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it does not "
12487
+ $"have a constructor accepting "
12588
+ $"{genericDictionaryInterface.FullName} argument "
@@ -144,25 +107,6 @@ internal class IsADictionaryBaseFormatter<TKey, TValue, TDictionary>
144107
private readonly bool _parameterlessCtor;
145108

146109
public IsADictionaryBaseFormatter(TypeExtensions.ObjectActivator<TDictionary> activator, bool parameterlessCtor)
147-
148-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
149-
Before:
150-
var keyFormatter = formatterResolver.GetFormatterWithVerify<TKey>() as IObjectPropertyNameFormatter<TKey>;
151-
var valueFormatter = formatterResolver.GetFormatterWithVerify<TValue>();
152-
153-
writer.WriteBeginObject();
154-
After:
155-
var valueFormatter = formatterResolver.GetFormatterWithVerify<TValue>();
156-
157-
writer.WriteBeginObject();
158-
*/
159-
160-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
161-
Before:
162-
if (keyFormatter != null)
163-
After:
164-
if (formatterResolver.GetFormatterWithVerify<TKey>() is IObjectPropertyNameFormatter<TKey> keyFormatter)
165-
*/
166110
{
167111
_activator = activator;
168112
_parameterlessCtor = parameterlessCtor;

src/OpenSearch.Client/CommonOptions/Geo/Distance.cs

+8-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,14 @@ public Distance(string distanceUnit)
6767
return;
6868
}
6969

70-
var unitMeasure = unit.ToEnum<DistanceUnit>() ?? throw new InvalidCastException($"cannot parse {typeof(DistanceUnit).Name} from string '{unit}'");
70+
var unitMeasure = unit.ToEnum<DistanceUnit>();
71+
#pragma warning disable IDE0270 // Use coalesce expression
72+
if (unitMeasure == null)
73+
{
74+
throw new InvalidCastException($"cannot parse {typeof(DistanceUnit).Name} from string '{unit}'");
75+
}
76+
#pragma warning restore IDE0270 // Use coalesce expression
77+
7178
Unit = unitMeasure.Value;
7279
}
7380

src/OpenSearch.Client/Document/Multiple/Reindex/ReindexObservable.cs

-9
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,6 @@ private BulkAllObservable<IHitMetadata<TTarget>> BulkAll(IEnumerable<IHitMetadat
131131
{
132132
var bulkAllRequest = (_reindexRequest.BulkAll?.Invoke(scrollDocuments)) ?? throw new Exception("BulkAll must set on ReindexRequest in order to get the target of a Reindex operation");
133133

134-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
135-
Before:
136-
if (bulkAllRequest == null)
137-
throw new Exception("BulkAll must set on ReindexRequest in order to get the target of a Reindex operation");
138-
139-
bulkAllRequest.BackPressure = backPressure;
140-
After:
141-
bulkAllRequest.BackPressure = backPressure;
142-
*/
143134
bulkAllRequest.BackPressure = backPressure;
144135
bulkAllRequest.BufferToBulk = (bulk, hits) =>
145136
{

src/OpenSearch.Client/Snapshot/Snapshot/SnapshotObservable/SnapshotObservable.cs

-14
Original file line numberDiff line numberDiff line change
@@ -105,20 +105,6 @@ public IDisposable Subscribe(IObserver<SnapshotStatusResponse> observer)
105105
}
106106

107107
private void Snapshot(object state)
108-
109-
/* Unmerged change from project 'OpenSearch.Client(netstandard2.1)'
110-
Before:
111-
var observer = state as IObserver<SnapshotStatusResponse>;
112-
113-
if (observer == null) throw new ArgumentException("state");
114-
115-
try
116-
{
117-
After:
118-
var observer = state as IObserver<SnapshotStatusResponse> ?? throw new ArgumentException("state");
119-
try
120-
{
121-
*/
122108
{
123109
var observer = state as IObserver<SnapshotStatusResponse> ?? throw new ArgumentException("state");
124110
try

src/OpenSearch.Net/Extensions/TypeExtensions.cs

-36
Original file line numberDiff line numberDiff line change
@@ -57,42 +57,6 @@ internal static object CreateInstance(this Type t, params object[] args)
5757
where p.Length == args.Length
5858
select c;
5959

60-
61-
/* Unmerged change from project 'OpenSearch.Net(netstandard2.1)'
62-
Before:
63-
var ctor = constructors.FirstOrDefault();
64-
if (ctor == null)
65-
throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
66-
67-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
68-
After:
69-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
70-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
71-
*/
72-
73-
/* Unmerged change from project 'OpenSearch.Net(net6.0)'
74-
Before:
75-
var ctor = constructors.FirstOrDefault();
76-
if (ctor == null)
77-
throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
78-
79-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
80-
After:
81-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
82-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
83-
*/
84-
85-
/* Unmerged change from project 'OpenSearch.Net(net8.0)'
86-
Before:
87-
var ctor = constructors.FirstOrDefault();
88-
if (ctor == null)
89-
throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
90-
91-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
92-
After:
93-
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
94-
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
95-
*/
9660
var ctor = constructors.FirstOrDefault() ?? throw new Exception($"Cannot create an instance of {t.FullName} because it has no constructor taking {args.Length} arguments");
9761
activator = (ObjectActivator<object>)generic.Invoke(null, new object[] { ctor });
9862
CachedActivators.TryAdd(key, activator);

0 commit comments

Comments
 (0)