Skip to content

Commit d8ab8ee

Browse files
Copilotalexaka1
andcommitted
fix: remove InvariantCulture from enum ToString calls in Read methods
Remove System.Globalization.CultureInfo.InvariantCulture from all .ToString() calls in the enum JsonConverter Read methods. This ensures the culture used for ToString matches the culture used in FromStringOrDefault comparisons (both now use system default culture). Since the Write path outputs the numeric value directly, the JSON output is always correct regardless of culture. Co-authored-by: alexaka1 <22166651+alexaka1@users.noreply.github.com>
1 parent 5233c7c commit d8ab8ee

File tree

76 files changed

+161
-161
lines changed

Some content is hidden

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

76 files changed

+161
-161
lines changed

modules/openapi-generator/src/main/resources/csharp/modelEnum.mustache

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -155,35 +155,35 @@
155155
public override {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
156156
{
157157
{{#isInteger}}
158-
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(System.Globalization.CultureInfo.InvariantCulture);
158+
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString();
159159
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
160160
if (result != null)
161161
return result.Value;
162162
throw new JsonException();
163163
{{/isInteger}}
164164
{{#isLong}}
165-
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(System.Globalization.CultureInfo.InvariantCulture);
165+
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString();
166166
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
167167
if (result != null)
168168
return result.Value;
169169
throw new JsonException();
170170
{{/isLong}}
171171
{{#isFloat}}
172-
string rawValue = reader.GetSingle().ToString(System.Globalization.CultureInfo.InvariantCulture);
172+
string rawValue = reader.GetSingle().ToString();
173173
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
174174
if (result != null)
175175
return result.Value;
176176
throw new JsonException();
177177
{{/isFloat}}
178178
{{#isDouble}}
179-
string rawValue = reader.GetDouble().ToString(System.Globalization.CultureInfo.InvariantCulture);
179+
string rawValue = reader.GetDouble().ToString();
180180
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
181181
if (result != null)
182182
return result.Value;
183183
throw new JsonException();
184184
{{/isDouble}}
185185
{{#isDecimal}}
186-
string rawValue = reader.GetDecimal().ToString(System.Globalization.CultureInfo.InvariantCulture);
186+
string rawValue = reader.GetDecimal().ToString();
187187
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
188188
if (result != null)
189189
return result.Value;
@@ -240,35 +240,35 @@
240240

241241
{{/isString}}
242242
{{#isInteger}}
243-
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(System.Globalization.CultureInfo.InvariantCulture);
243+
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString();
244244
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
245245
if (result != null)
246246
return result.Value;
247247
throw new JsonException();
248248
{{/isInteger}}
249249
{{#isLong}}
250-
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(System.Globalization.CultureInfo.InvariantCulture);
250+
string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString();
251251
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
252252
if (result != null)
253253
return result.Value;
254254
throw new JsonException();
255255
{{/isLong}}
256256
{{#isFloat}}
257-
string rawValue = reader.GetSingle().ToString(System.Globalization.CultureInfo.InvariantCulture);
257+
string rawValue = reader.GetSingle().ToString();
258258
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
259259
if (result != null)
260260
return result.Value;
261261
throw new JsonException();
262262
{{/isFloat}}
263263
{{#isDouble}}
264-
string rawValue = reader.GetDouble().ToString(System.Globalization.CultureInfo.InvariantCulture);
264+
string rawValue = reader.GetDouble().ToString();
265265
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
266266
if (result != null)
267267
return result.Value;
268268
throw new JsonException();
269269
{{/isDouble}}
270270
{{#isDecimal}}
271-
string rawValue = reader.GetDecimal().ToString(System.Globalization.CultureInfo.InvariantCulture);
271+
string rawValue = reader.GetDecimal().ToString();
272272
{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue);
273273
if (result != null)
274274
return result.Value;

modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpClientCodegenTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ public void testIntegerEnumJsonConverterUsesNumericOperations() throws IOExcepti
285285
);
286286
assertNotNull(intEnumFile, "Could not find file for model: IntegerEnum");
287287
assertFileContains(intEnumFile.toPath(),
288-
"reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture)",
288+
"reader.GetInt32().ToString()",
289289
"FromStringOrDefault(rawValue)",
290290
"throw new JsonException()",
291291
"writer.WriteNumberValue(",
@@ -303,7 +303,7 @@ public void testIntegerEnumJsonConverterUsesNumericOperations() throws IOExcepti
303303
);
304304
assertNotNull(longEnumFile, "Could not find file for model: LongEnum");
305305
assertFileContains(longEnumFile.toPath(),
306-
"reader.GetInt64().ToString(System.Globalization.CultureInfo.InvariantCulture)",
306+
"reader.GetInt64().ToString()",
307307
"FromStringOrDefault(rawValue)",
308308
"throw new JsonException()",
309309
"writer.WriteNumberValue(",
@@ -323,7 +323,7 @@ public void testIntegerEnumJsonConverterUsesNumericOperations() throws IOExcepti
323323
);
324324
assertNotNull(doubleEnumFile, "Could not find file for model: DoubleEnum");
325325
assertFileContains(doubleEnumFile.toPath(),
326-
"reader.GetDouble().ToString(System.Globalization.CultureInfo.InvariantCulture)",
326+
"reader.GetDouble().ToString()",
327327
"writer.WriteNumberValue(",
328328
"public static double ToJsonValue(DoubleEnum value)",
329329
"return 1.1d;",

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public class EnumTestEnumIntegerJsonConverter : JsonConverter<EnumTestEnumIntege
104104
/// <returns></returns>
105105
public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
106106
{
107-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
107+
string rawValue = reader.GetInt32().ToString();
108108
EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue);
109109
if (result != null)
110110
return result.Value;
@@ -140,7 +140,7 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter<EnumTestEn
140140
if (reader.TokenType == JsonTokenType.Null)
141141
return null;
142142

143-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
143+
string rawValue = reader.GetInt32().ToString();
144144
EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue);
145145
if (result != null)
146146
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public class EnumTestEnumIntegerOnlyJsonConverter : JsonConverter<EnumTestEnumIn
104104
/// <returns></returns>
105105
public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
106106
{
107-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
107+
string rawValue = reader.GetInt32().ToString();
108108
EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue);
109109
if (result != null)
110110
return result.Value;
@@ -140,7 +140,7 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter<EnumTe
140140
if (reader.TokenType == JsonTokenType.Null)
141141
return null;
142142

143-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
143+
string rawValue = reader.GetInt32().ToString();
144144
EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue);
145145
if (result != null)
146146
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public class OuterEnumIntegerJsonConverter : JsonConverter<OuterEnumInteger>
115115
/// <returns></returns>
116116
public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
117117
{
118-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
118+
string rawValue = reader.GetInt32().ToString();
119119
OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue);
120120
if (result != null)
121121
return result.Value;
@@ -151,7 +151,7 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter<OuterEnumInte
151151
if (reader.TokenType == JsonTokenType.Null)
152152
return null;
153153

154-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
154+
string rawValue = reader.GetInt32().ToString();
155155
OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue);
156156
if (result != null)
157157
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter<OuterEnum
115115
/// <returns></returns>
116116
public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
117117
{
118-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
118+
string rawValue = reader.GetInt32().ToString();
119119
OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue);
120120
if (result != null)
121121
return result.Value;
@@ -151,7 +151,7 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter<O
151151
if (reader.TokenType == JsonTokenType.Null)
152152
return null;
153153

154-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
154+
string rawValue = reader.GetInt32().ToString();
155155
OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue);
156156
if (result != null)
157157
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public class RequiredClassRequiredNotnullableEnumIntegerJsonConverter : JsonConv
104104
/// <returns></returns>
105105
public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
106106
{
107-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
107+
string rawValue = reader.GetInt32().ToString();
108108
RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue);
109109
if (result != null)
110110
return result.Value;
@@ -140,7 +140,7 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter :
140140
if (reader.TokenType == JsonTokenType.Null)
141141
return null;
142142

143-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
143+
string rawValue = reader.GetInt32().ToString();
144144
RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue);
145145
if (result != null)
146146
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyJsonConverter : Json
104104
/// <returns></returns>
105105
public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
106106
{
107-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
107+
string rawValue = reader.GetInt32().ToString();
108108
RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue);
109109
if (result != null)
110110
return result.Value;
@@ -140,7 +140,7 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte
140140
if (reader.TokenType == JsonTokenType.Null)
141141
return null;
142142

143-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
143+
string rawValue = reader.GetInt32().ToString();
144144
RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue);
145145
if (result != null)
146146
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public class RequiredClassRequiredNullableEnumIntegerJsonConverter : JsonConvert
104104
/// <returns></returns>
105105
public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
106106
{
107-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
107+
string rawValue = reader.GetInt32().ToString();
108108
RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue);
109109
if (result != null)
110110
return result.Value;
@@ -140,7 +140,7 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso
140140
if (reader.TokenType == JsonTokenType.Null)
141141
return null;
142142

143-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
143+
string rawValue = reader.GetInt32().ToString();
144144
RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue);
145145
if (result != null)
146146
return result.Value;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyJsonConverter : JsonCon
104104
/// <returns></returns>
105105
public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
106106
{
107-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
107+
string rawValue = reader.GetInt32().ToString();
108108
RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue);
109109
if (result != null)
110110
return result.Value;
@@ -140,7 +140,7 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter :
140140
if (reader.TokenType == JsonTokenType.Null)
141141
return null;
142142

143-
string rawValue = reader.GetInt32().ToString(System.Globalization.CultureInfo.InvariantCulture);
143+
string rawValue = reader.GetInt32().ToString();
144144
RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue);
145145
if (result != null)
146146
return result.Value;

0 commit comments

Comments
 (0)