modify enum template. field should be final. add testcase & sample updates. (#21019)

This commit is contained in:
takashno 2025-04-13 19:49:15 +09:00 committed by GitHub
parent 4fc46cb0d4
commit dcb8b1a2dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
247 changed files with 385 additions and 337 deletions

View File

@ -30,7 +30,7 @@
{{/allowableValues}}
{{/gson}}
private {{{dataType}}} value;
private final {{{dataType}}} value;
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}({{{dataType}}} value) {
this.value = value;

View File

@ -31,7 +31,7 @@ public enum {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatyp
{{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
{{/gson}}
private {{{dataType}}} value;
private final {{{dataType}}} value;
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
this.value = value;

View File

@ -5432,4 +5432,17 @@ public class SpringCodegenTest {
.assertTypeAnnotations()
.containsWithName("Validated");
}
@Test
public void testEnumFieldShouldBeFinal_issue21018() throws IOException {
SpringCodegen codegen = new SpringCodegen();
codegen.setLibrary(SPRING_BOOT);
Map<String, File> files = generateFiles(codegen, "src/test/resources/bugs/issue_21018.yaml");
JavaFileAssert.assertThat(files.get("SomeEnum.java"))
.fileContains("private final String value;");
JavaFileAssert.assertThat(files.get("SomeObject.java"))
.fileContains("private final String value");
}
}

View File

@ -0,0 +1,35 @@
openapi: "3.0.3"
info:
version: 1.0.0
title: test
paths:
/test:
get:
summary: test
operationId: test
responses:
'200':
description: OK
components:
schemas:
SomeEnum:
type: string
enum:
- Cat
- Dog
x-enum-varnames:
- CAT
- DOG
SomeObject:
type: object
properties:
name:
type: string
type:
type: string
enum:
- Cat
- Dog
x-enum-varnames:
- CAT
- DOG

View File

@ -47,7 +47,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -52,7 +52,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -46,7 +46,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -52,7 +52,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -46,7 +46,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -52,7 +52,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -46,7 +46,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -52,7 +52,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -40,7 +40,7 @@ public class BigCatDto extends CatDto {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumArraysDto {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -71,7 +71,7 @@ public class EnumArraysDto {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum EnumClassDto {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClassDto(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumTestDto {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -73,7 +73,7 @@ public class EnumTestDto {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -110,7 +110,7 @@ public class EnumTestDto {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -147,7 +147,7 @@ public class EnumTestDto {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class MapTestDto {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class OrderDto {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum OuterEnumDto {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnumDto(String value) {
this.value = value;

View File

@ -43,7 +43,7 @@ public class ParentWithNullableDto {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -53,7 +53,7 @@ public class PetDto {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -38,7 +38,7 @@ public class BigCat extends Cat {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -32,7 +32,7 @@ public class EnumArrays {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -69,7 +69,7 @@ public class EnumArrays {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum EnumClass {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClass(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -73,7 +73,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -110,7 +110,7 @@ public class EnumTest {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -147,7 +147,7 @@ public class EnumTest {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class MapTest {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -42,7 +42,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum OuterEnum {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnum(String value) {
this.value = value;

View File

@ -42,7 +42,7 @@ public class ParentWithNullable {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -38,7 +38,7 @@ public class BigCat extends Cat {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -32,7 +32,7 @@ public class EnumArrays {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -69,7 +69,7 @@ public class EnumArrays {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum EnumClass {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClass(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -73,7 +73,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -110,7 +110,7 @@ public class EnumTest {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -147,7 +147,7 @@ public class EnumTest {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class MapTest {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -42,7 +42,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum OuterEnum {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnum(String value) {
this.value = value;

View File

@ -42,7 +42,7 @@ public class ParentWithNullable {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -40,7 +40,7 @@ public class BigCatDto extends CatDto {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumArraysDto {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -71,7 +71,7 @@ public class EnumArraysDto {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum EnumClassDto {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClassDto(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumTestDto {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -73,7 +73,7 @@ public class EnumTestDto {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -110,7 +110,7 @@ public class EnumTestDto {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -147,7 +147,7 @@ public class EnumTestDto {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class MapTestDto {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class OrderDto {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum OuterEnumDto {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnumDto(String value) {
this.value = value;

View File

@ -43,7 +43,7 @@ public class ParentWithNullableDto {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -53,7 +53,7 @@ public class PetDto {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -43,7 +43,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -49,7 +49,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -40,7 +40,7 @@ public class BigCat extends Cat {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumArrays {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -71,7 +71,7 @@ public class EnumArrays {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -29,7 +29,7 @@ public enum EnumClass {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClass(String value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -75,7 +75,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -112,7 +112,7 @@ public class EnumTest {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -149,7 +149,7 @@ public class EnumTest {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class MapTest {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -29,7 +29,7 @@ public enum OuterEnum {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class ParentWithNullable {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -53,7 +53,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -27,7 +27,7 @@ public enum FruitType {
BANANA("BANANA");
private String value;
private final String value;
FruitType(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -52,7 +52,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -58,7 +58,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -40,7 +40,7 @@ public class BigCat extends Cat {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumArrays {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -71,7 +71,7 @@ public class EnumArrays {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -29,7 +29,7 @@ public enum EnumClass {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClass(String value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -75,7 +75,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -112,7 +112,7 @@ public class EnumTest {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -149,7 +149,7 @@ public class EnumTest {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class MapTest {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -29,7 +29,7 @@ public enum OuterEnum {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class ParentWithNullable {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -53,7 +53,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -40,7 +40,7 @@ public class BigCat extends Cat {
JAGUARS("jaguars");
private String value;
private final String value;
KindEnum(String value) {
this.value = value;

View File

@ -34,7 +34,7 @@ public class EnumArrays {
DOLLAR("$");
private String value;
private final String value;
JustSymbolEnum(String value) {
this.value = value;
@ -71,7 +71,7 @@ public class EnumArrays {
CRAB("crab");
private String value;
private final String value;
ArrayEnumEnum(String value) {
this.value = value;

View File

@ -29,7 +29,7 @@ public enum EnumClass {
_XYZ_("(xyz)");
private String value;
private final String value;
EnumClass(String value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringEnum(String value) {
this.value = value;
@ -75,7 +75,7 @@ public class EnumTest {
EMPTY("");
private String value;
private final String value;
EnumStringRequiredEnum(String value) {
this.value = value;
@ -112,7 +112,7 @@ public class EnumTest {
NUMBER_MINUS_1(-1);
private Integer value;
private final Integer value;
EnumIntegerEnum(Integer value) {
this.value = value;
@ -149,7 +149,7 @@ public class EnumTest {
NUMBER_MINUS_1_DOT_2(-1.2);
private Double value;
private final Double value;
EnumNumberEnum(Double value) {
this.value = value;

View File

@ -36,7 +36,7 @@ public class MapTest {
LOWER("lower");
private String value;
private final String value;
InnerEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -29,7 +29,7 @@ public enum OuterEnum {
DELIVERED("delivered");
private String value;
private final String value;
OuterEnum(String value) {
this.value = value;

View File

@ -44,7 +44,7 @@ public class ParentWithNullable {
public enum TypeEnum {
CHILD_WITH_NULLABLE("ChildWithNullable");
private String value;
private final String value;
TypeEnum(String value) {
this.value = value;

View File

@ -53,7 +53,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -43,7 +43,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -49,7 +49,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -45,7 +45,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -51,7 +51,7 @@ public class Pet {
SOLD("sold");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

View File

@ -52,7 +52,7 @@ public class Order {
DELIVERED("delivered");
private String value;
private final String value;
StatusEnum(String value) {
this.value = value;

Some files were not shown because too many files have changed in this diff Show More