Skip to content

Commit 42af4f9

Browse files
Move all vendor extension definitions within AbstractCSharpCodegen to CodegenConstants. Then adjust other usages of those same vendor extension definitions to the created constants. (#22112)
1 parent 81a3488 commit 42af4f9

10 files changed

+92
-56
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,30 @@ public static enum ENUM_PROPERTY_NAMING_TYPE {camelCase, PascalCase, snake_case,
457457

458458
public static final String DEFAULT_TO_EMPTY_CONTAINER = "defaultToEmptyContainer";
459459

460+
// Vendor extensions
460461
public static final String X_INTERNAL = "x-internal";
461462
public static final String X_PARENT = "x-parent";
463+
public static final String X_COMPOSED_DATA_TYPE = "x-composed-data-type";
464+
public static final String X_BASE_NAME = "x-base-name";
465+
public static final String X_IS_VALUE_TYPE = "x-is-value-type";
466+
public static final String X_IS_REFERENCE_TYPE = "x-is-reference-type";
467+
public static final String X_IS_NULLABLE_TYPE = "x-is-nullable-type";
468+
public static final String X_IS_BASE_OR_NEW_DISCRIMINATOR = "x-is-base-or-new-discriminator";
469+
public static final String X_ENUM_BYTE = "x-enum-byte";
470+
public static final String X_HTTP_STATUS = "x-http-status";
471+
public static final String X_HTTP_STATUSES_WITH_RETURN = "x-http-statuses-with-return";
472+
public static final String X_SET_COOKIE = "x-set-cookie";
473+
public static final String X_DUPLICATES = "x-duplicates";
474+
public static final String X_HTTP_STATUS_IS_DEFAULT = "x-http-status-is-default";
475+
public static final String X_ONLY_DEFAULT = "x-only-default";
476+
public static final String X_HTTP_STATUS_RANGE = "x-http-status-range";
477+
public static final String X_NOT_NULLABLE_REFERENCE_TYPES = "x-not-nullable-reference-types";
478+
public static final String X_HAS_NOT_NULLABLE_REFERENCE_TYPES = "x-has-not-nullable-reference-types";
479+
public static final String X_NULLABLE_VALUE_TYPE = "x-nullable-value-type";
480+
public static final String X_NULLABLE_TYPE = "x-nullable-type";
481+
public static final String X_CSHARP_VALUE_TYPE = "x-csharp-value-type";
482+
public static final String X_REGEX = "x-regex";
483+
public static final String X_MODIFIERS = "x-modifiers";
484+
public static final String X_MODIFIER_PREFIX = "x-modifier-";
485+
public static final String X_MODEL_IS_MUTABLE = "x-model-is-mutable";
462486
}

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java

Lines changed: 41 additions & 40 deletions
Large diffs are not rendered by default.

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.io.File;
3838
import java.util.*;
3939

40+
import static org.openapitools.codegen.CodegenConstants.X_ENUM_BYTE;
4041
import static org.openapitools.codegen.utils.CamelizeOption.LOWERCASE_FIRST_LETTER;
4142
import static org.openapitools.codegen.utils.StringUtils.camelize;
4243
import static org.openapitools.codegen.utils.StringUtils.underscore;
@@ -433,7 +434,7 @@ private void postProcessEnumRefs(final Map<String, ModelsMap> models) {
433434
if (model.dataType.startsWith("byte")) {
434435
// F# Actually supports byte and short enums, swagger spec only supports byte.
435436
isByte = true;
436-
model.vendorExtensions.put("x-enum-byte", true);
437+
model.vendorExtensions.put(X_ENUM_BYTE, true);
437438
} else if (model.dataType.startsWith("int32")) {
438439
isInteger = true;
439440
model.vendorExtensions.put("x-enum-integer", true);
@@ -487,7 +488,7 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
487488
// Because C# uses nullable primitives for datatype, and datatype is used in DefaultCodegen for determining enum-ness, guard against weirdness here.
488489
if (var.isEnum) {
489490
if ("byte".equals(var.dataFormat)) {// C# Actually supports byte and short enums.
490-
var.vendorExtensions.put("x-enum-byte", true);
491+
var.vendorExtensions.put(X_ENUM_BYTE, true);
491492
var.isString = false;
492493
var.isLong = false;
493494
var.isInteger = false;

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
import java.util.regex.Pattern;
4141
import java.util.stream.Collectors;
4242

43+
import static org.openapitools.codegen.CodegenConstants.X_MODIFIERS;
44+
import static org.openapitools.codegen.CodegenConstants.X_REGEX;
4345
import static org.openapitools.codegen.utils.StringUtils.*;
4446

4547

@@ -1353,9 +1355,9 @@ public void postProcessPattern(String pattern, Map<String, Object> vendorExtensi
13531355
}
13541356
}
13551357

1356-
vendorExtensions.put("x-regex", regex.replace("\"", "\\\""));
1358+
vendorExtensions.put(X_REGEX, regex.replace("\"", "\\\""));
13571359
vendorExtensions.put("x-pattern", pattern.replace("\"", "\\\""));
1358-
vendorExtensions.put("x-modifiers", modifiers);
1360+
vendorExtensions.put(X_MODIFIERS, modifiers);
13591361
}
13601362
}
13611363

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonConnexionServerCodegen.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
import java.io.IOException;
4747
import java.util.*;
4848

49+
import static org.openapitools.codegen.CodegenConstants.X_MODIFIERS;
50+
import static org.openapitools.codegen.CodegenConstants.X_REGEX;
4951
import static org.openapitools.codegen.utils.StringUtils.camelize;
5052

5153
public abstract class AbstractPythonConnexionServerCodegen extends AbstractPythonCodegen implements CodegenConfig {
@@ -743,8 +745,8 @@ public void postProcessPattern(String pattern, Map<String, Object> vendorExtensi
743745
}
744746
}
745747

746-
vendorExtensions.put("x-regex", regex);
747-
vendorExtensions.put("x-modifiers", modifiers);
748+
vendorExtensions.put(X_REGEX, regex);
749+
vendorExtensions.put(X_MODIFIERS, modifiers);
748750
}
749751
}
750752
}

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonPydanticV1Codegen.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import java.util.regex.Pattern;
4040
import java.util.stream.Collectors;
4141

42+
import static org.openapitools.codegen.CodegenConstants.X_MODIFIERS;
43+
import static org.openapitools.codegen.CodegenConstants.X_REGEX;
4244
import static org.openapitools.codegen.utils.StringUtils.*;
4345

4446
public abstract class AbstractPythonPydanticV1Codegen extends DefaultCodegen implements CodegenConfig {
@@ -1915,9 +1917,9 @@ public void postProcessPattern(String pattern, Map<String, Object> vendorExtensi
19151917
}
19161918
}
19171919

1918-
vendorExtensions.put("x-regex", regex.replace("\"", "\\\""));
1920+
vendorExtensions.put(X_REGEX, regex.replace("\"", "\\\""));
19191921
vendorExtensions.put("x-pattern", pattern.replace("\"", "\\\""));
1920-
vendorExtensions.put("x-modifiers", modifiers);
1922+
vendorExtensions.put(X_MODIFIERS, modifiers);
19211923
}
19221924
}
19231925

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetServerCodegen.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.*;
3838

3939
import static java.util.UUID.randomUUID;
40+
import static org.openapitools.codegen.CodegenConstants.X_CSHARP_VALUE_TYPE;
4041

4142
public class AspNetServerCodegen extends AbstractCSharpCodegen {
4243

@@ -347,7 +348,7 @@ public void postProcessParameter(CodegenParameter parameter) {
347348
protected void updateCodegenParameterEnum(CodegenParameter parameter, CodegenModel model) {
348349
super.updateCodegenParameterEnumLegacy(parameter, model);
349350

350-
if (!parameter.required && parameter.vendorExtensions.get("x-csharp-value-type") != null) { //optional
351+
if (!parameter.required && parameter.vendorExtensions.get(X_CSHARP_VALUE_TYPE) != null) { //optional
351352
parameter.dataType = parameter.dataType + "?";
352353
}
353354
}
@@ -627,7 +628,7 @@ protected void patchProperty(Map<String, CodegenModel> enumRefs, CodegenModel mo
627628
super.patchProperty(enumRefs, model, property);
628629

629630
if (!property.isContainer && (this.getNullableTypes().contains(property.dataType) || property.isEnum)) {
630-
property.vendorExtensions.put("x-csharp-value-type", true);
631+
property.vendorExtensions.put(X_CSHARP_VALUE_TYPE, true);
631632
}
632633
}
633634

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import java.util.stream.Collectors;
4040

4141
import static org.apache.commons.lang3.StringUtils.isEmpty;
42+
import static org.openapitools.codegen.CodegenConstants.X_CSHARP_VALUE_TYPE;
4243
import static org.openapitools.codegen.utils.CamelizeOption.LOWERCASE_FIRST_LETTER;
4344
import static org.openapitools.codegen.utils.StringUtils.camelize;
4445
import static org.openapitools.codegen.utils.StringUtils.underscore;
@@ -409,7 +410,7 @@ protected void updateCodegenParameterEnum(CodegenParameter parameter, CodegenMod
409410

410411
super.updateCodegenParameterEnumLegacy(parameter, model);
411412

412-
if (!parameter.required && parameter.vendorExtensions.get("x-csharp-value-type") != null) { //optional
413+
if (!parameter.required && parameter.vendorExtensions.get(X_CSHARP_VALUE_TYPE) != null) { //optional
413414
parameter.dataType = parameter.dataType + "?";
414415
}
415416
}
@@ -1626,7 +1627,7 @@ protected void patchProperty(Map<String, CodegenModel> enumRefs, CodegenModel mo
16261627

16271628
if (!GENERICHOST.equals(getLibrary())) {
16281629
if (!property.isContainer && (this.getNullableTypes().contains(property.dataType) || property.isEnum)) {
1629-
property.vendorExtensions.put("x-csharp-value-type", true);
1630+
property.vendorExtensions.put(X_CSHARP_VALUE_TYPE, true);
16301631
}
16311632
}
16321633
}

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpFunctionsServerCodegen.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.*;
3737

3838
import static java.util.UUID.randomUUID;
39+
import static org.openapitools.codegen.CodegenConstants.X_CSHARP_VALUE_TYPE;
3940

4041
public class CSharpFunctionsServerCodegen extends AbstractCSharpCodegen {
4142

@@ -287,15 +288,15 @@ protected void patchProperty(Map<String, CodegenModel> enumRefs, CodegenModel mo
287288
super.patchProperty(enumRefs, model, property);
288289

289290
if (!property.isContainer && (this.getNullableTypes().contains(property.dataType) || property.isEnum)) {
290-
property.vendorExtensions.put("x-csharp-value-type", true);
291+
property.vendorExtensions.put(X_CSHARP_VALUE_TYPE, true);
291292
}
292293
}
293294

294295
@Override
295296
protected void updateCodegenParameterEnum(CodegenParameter parameter, CodegenModel model) {
296297
super.updateCodegenParameterEnumLegacy(parameter, model);
297298

298-
if (!parameter.required && parameter.vendorExtensions.get("x-csharp-value-type") != null) { //optional
299+
if (!parameter.required && parameter.vendorExtensions.get(X_CSHARP_VALUE_TYPE) != null) { //optional
299300
parameter.dataType = parameter.dataType + "?";
300301
}
301302
}

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpReducedClientCodegen.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.stream.Collectors;
3838

3939
import static org.apache.commons.lang3.StringUtils.isEmpty;
40+
import static org.openapitools.codegen.CodegenConstants.X_CSHARP_VALUE_TYPE;
4041
import static org.openapitools.codegen.utils.CamelizeOption.LOWERCASE_FIRST_LETTER;
4142
import static org.openapitools.codegen.utils.StringUtils.camelize;
4243
import static org.openapitools.codegen.utils.StringUtils.underscore;
@@ -350,15 +351,15 @@ protected void patchProperty(Map<String, CodegenModel> enumRefs, CodegenModel mo
350351
super.patchProperty(enumRefs, model, property);
351352

352353
if (!property.isContainer && (this.getNullableTypes().contains(property.dataType) || property.isEnum)) {
353-
property.vendorExtensions.put("x-csharp-value-type", true);
354+
property.vendorExtensions.put(X_CSHARP_VALUE_TYPE, true);
354355
}
355356
}
356357

357358
@Override
358359
protected void updateCodegenParameterEnum(CodegenParameter parameter, CodegenModel model) {
359360
super.updateCodegenParameterEnumLegacy(parameter, model);
360361

361-
if (!parameter.required && parameter.vendorExtensions.get("x-csharp-value-type") != null) { //optional
362+
if (!parameter.required && parameter.vendorExtensions.get(X_CSHARP_VALUE_TYPE) != null) { //optional
362363
parameter.dataType = parameter.dataType + "?";
363364
}
364365
}

0 commit comments

Comments
 (0)