Skip to content

Commit 54bb60e

Browse files
committed
feat: improve java enum fromValue generation
1 parent 8ef4a48 commit 54bb60e

7 files changed

Lines changed: 117 additions & 40 deletions

File tree

modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import com.google.gson.stream.JsonWriter;
1212
{{#isUri}}
1313
import java.net.URI;
1414
{{/isUri}}
15+
{{#useEnumCaseInsensitive}}import java.util.Locale;
16+
{{/useEnumCaseInsensitive}}import java.util.HashMap;
17+
import java.util.Map;
1518

1619
/**
1720
* {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}}
@@ -39,8 +42,19 @@ import java.net.URI;
3942
{{{name}}}({{{value}}}){{^-last}},
4043
{{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
4144

45+
private static final Map<{{{dataType}}}, {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> cacheByValue = new HashMap<>();
46+
4247
private {{{dataType}}} value;
4348

49+
static {
50+
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} e: values()) {
51+
{{{dataType}}} key = {{#useEnumCaseInsensitive}}{{#isString}}e.value == null ? null : e.value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}e.value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}e.value{{/useEnumCaseInsensitive}};
52+
if (!cacheByValue.containsKey(key)) {
53+
cacheByValue.put(key, e);
54+
}
55+
}
56+
}
57+
4458
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
4559
this.value = value;
4660
}
@@ -61,10 +75,9 @@ import java.net.URI;
6175
@JsonCreator
6276
{{/jackson}}
6377
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
64-
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
65-
if (b.value.equals{{#isString}}{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}{{/isString}}(value)) {
66-
return b;
67-
}
78+
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} result = {{#useEnumCaseInsensitive}}{{#isString}}value == null ? null : {{/isString}}{{/useEnumCaseInsensitive}}cacheByValue.get({{#useEnumCaseInsensitive}}{{#isString}}value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}value{{/useEnumCaseInsensitive}});
79+
if (result != null) {
80+
return result;
6881
}
6982
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}}
7083
}

modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/modelEnum.mustache

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ import java.io.IOException;
22
{{#isUri}}
33
import java.net.URI;
44
{{/isUri}}
5+
{{#useEnumCaseInsensitive}}import java.util.Locale;
6+
{{/useEnumCaseInsensitive}}import java.util.HashMap;
7+
import java.util.Map;
58
import com.google.gson.TypeAdapter;
69
import com.google.gson.JsonElement;
710
import com.google.gson.annotations.JsonAdapter;
@@ -28,8 +31,19 @@ import com.google.gson.stream.JsonWriter;
2831
{{{name}}}({{{value}}}){{^-last}},
2932
{{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
3033

34+
private static final Map<{{{dataType}}}, {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> cacheByValue = new HashMap<>();
35+
3136
private {{{dataType}}} value;
3237

38+
static {
39+
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} e: values()) {
40+
{{{dataType}}} key = {{#useEnumCaseInsensitive}}{{#isString}}e.value == null ? null : e.value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}e.value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}e.value{{/useEnumCaseInsensitive}};
41+
if (!cacheByValue.containsKey(key)) {
42+
cacheByValue.put(key, e);
43+
}
44+
}
45+
}
46+
3347
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
3448
this.value = value;
3549
}
@@ -44,10 +58,9 @@ import com.google.gson.stream.JsonWriter;
4458
}
4559

4660
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
47-
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
48-
if (b.value.equals{{#isString}}{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}{{/isString}}(value)) {
49-
return b;
50-
}
61+
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} result = {{#useEnumCaseInsensitive}}{{#isString}}value == null ? null : {{/isString}}{{/useEnumCaseInsensitive}}cacheByValue.get({{#useEnumCaseInsensitive}}{{#isString}}value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}value{{/useEnumCaseInsensitive}});
62+
if (result != null) {
63+
return result;
5164
}
5265
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}}
5366
}

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

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import com.google.gson.stream.JsonWriter;
1212
{{#isUri}}
1313
import java.net.URI;
1414
{{/isUri}}
15+
{{#useEnumCaseInsensitive}}import java.util.Locale;
16+
{{/useEnumCaseInsensitive}}import java.util.HashMap;
17+
import java.util.Map;
1518

1619
/**
1720
* {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}}
@@ -39,8 +42,19 @@ import java.net.URI;
3942
{{{name}}}({{{value}}}){{^-last}},
4043
{{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
4144

45+
private static final Map<{{{dataType}}}, {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> cacheByValue = new HashMap<>();
46+
4247
private {{{dataType}}} value;
4348

49+
static {
50+
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} e: values()) {
51+
{{{dataType}}} key = {{#useEnumCaseInsensitive}}{{#isString}}e.value == null ? null : e.value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}e.value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}e.value{{/useEnumCaseInsensitive}};
52+
if (!cacheByValue.containsKey(key)) {
53+
cacheByValue.put(key, e);
54+
}
55+
}
56+
}
57+
4458
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
4559
this.value = value;
4660
}
@@ -61,10 +75,9 @@ import java.net.URI;
6175
@JsonCreator
6276
{{/jackson}}
6377
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
64-
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
65-
if (b.value.equals{{#isString}}{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}{{/isString}}(value)) {
66-
return b;
67-
}
78+
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} result = {{#useEnumCaseInsensitive}}{{#isString}}value == null ? null : {{/isString}}{{/useEnumCaseInsensitive}}cacheByValue.get({{#useEnumCaseInsensitive}}{{#isString}}value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}value{{/useEnumCaseInsensitive}});
79+
if (result != null) {
80+
return result;
6881
}
6982
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}}
7083
}

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

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
import com.fasterxml.jackson.annotation.JsonCreator;
33
import com.fasterxml.jackson.annotation.JsonValue;
44
{{/jackson}}
5+
{{#useEnumCaseInsensitive}}import java.util.Locale;
6+
{{/useEnumCaseInsensitive}}import java.util.HashMap;
7+
import java.util.Map;
58

69
/**
710
* {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}}
@@ -22,8 +25,19 @@ import com.fasterxml.jackson.annotation.JsonValue;
2225
{{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
2326
{{/gson}}
2427

28+
private static final Map<{{{dataType}}}, {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> cacheByValue = new HashMap<>();
29+
2530
private {{{dataType}}} value;
2631

32+
static {
33+
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} e: values()) {
34+
{{{dataType}}} key = {{#useEnumCaseInsensitive}}{{#isString}}e.value == null ? null : e.value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}e.value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}e.value{{/useEnumCaseInsensitive}};
35+
if (!cacheByValue.containsKey(key)) {
36+
cacheByValue.put(key, e);
37+
}
38+
}
39+
}
40+
2741
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
2842
this.value = value;
2943
}
@@ -43,12 +57,11 @@ import com.fasterxml.jackson.annotation.JsonValue;
4357

4458
@JsonCreator
4559
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
46-
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
47-
if (b.value.equals{{#isString}}{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}{{/isString}}(value)) {
48-
return b;
49-
}
60+
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} result = {{#useEnumCaseInsensitive}}{{#isString}}value == null ? null : {{/isString}}{{/useEnumCaseInsensitive}}cacheByValue.get({{#useEnumCaseInsensitive}}{{#isString}}value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}value{{/useEnumCaseInsensitive}});
61+
if (result != null) {
62+
return result;
5063
}
51-
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/isNullable}}
64+
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}}
5265
}
5366
{{/jackson}}
5467
}

modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/modelEnum.mustache

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
{{#useEnumCaseInsensitive}}import java.util.Locale;
2+
{{/useEnumCaseInsensitive}}import java.util.HashMap;
3+
import java.util.Map;
4+
15
/**
26
* {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}}
37
*/
@@ -28,8 +32,19 @@
2832
{{/enumVars}}
2933
{{/allowableValues}}
3034

35+
private static final Map<{{{dataType}}}, {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}> cacheByValue = new HashMap<>();
36+
3137
private {{{dataType}}} value;
3238

39+
static {
40+
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} e: values()) {
41+
{{{dataType}}} key = {{#useEnumCaseInsensitive}}{{#isString}}e.value == null ? null : e.value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}e.value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}e.value{{/useEnumCaseInsensitive}};
42+
if (!cacheByValue.containsKey(key)) {
43+
cacheByValue.put(key, e);
44+
}
45+
}
46+
}
47+
3348
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}({{{dataType}}} value) {
3449
this.value = value;
3550
}
@@ -46,12 +61,11 @@
4661

4762
{{#jackson}}@JsonCreator{{/jackson}}
4863
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
49-
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
50-
if (b.value.equals(value)) {
51-
return b;
52-
}
53-
}
54-
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/isNullable}}
64+
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} result = {{#useEnumCaseInsensitive}}{{#isString}}value == null ? null : {{/isString}}{{/useEnumCaseInsensitive}}cacheByValue.get({{#useEnumCaseInsensitive}}{{#isString}}value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}value{{/useEnumCaseInsensitive}});
65+
if (result != null) {
66+
return result;
67+
}
68+
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}}
5569
}
5670
{{#jsonb}}
5771
public static final class Deserializer implements JsonbDeserializer<{{datatypeWithEnum}}> {

modules/openapi-generator/src/main/resources/java-micronaut/common/model/modelEnum.mustache

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
import com.fasterxml.jackson.annotation.JsonCreator;
33
import com.fasterxml.jackson.annotation.JsonValue;
44
{{/jackson}}
5+
{{#useEnumCaseInsensitive}}import java.util.Locale;
6+
{{/useEnumCaseInsensitive}}import java.util.HashMap;
7+
import java.util.Map;
58

69
/**
710
* {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}}
@@ -27,8 +30,19 @@ import com.fasterxml.jackson.annotation.JsonValue;
2730
{{/enumVars}}
2831
{{/allowableValues}}
2932

33+
private static final Map<{{{dataType}}}, {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> cacheByValue = new HashMap<>();
34+
3035
private {{{dataType}}} value;
3136

37+
static {
38+
for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} e: values()) {
39+
{{{dataType}}} key = {{#useEnumCaseInsensitive}}{{#isString}}e.value == null ? null : e.value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}e.value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}e.value{{/useEnumCaseInsensitive}};
40+
if (!cacheByValue.containsKey(key)) {
41+
cacheByValue.put(key, e);
42+
}
43+
}
44+
}
45+
3246
{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
3347
this.value = value;
3448
}
@@ -49,16 +63,10 @@ import com.fasterxml.jackson.annotation.JsonValue;
4963
@JsonCreator
5064
{{/jackson}}
5165
public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
52-
for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
53-
if (b.value.equals{{#isString}}{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}{{/isString}}(value)) {
54-
return b;
55-
}
56-
}
57-
{{#isNullable}}
58-
return null;
59-
{{/isNullable}}
60-
{{^isNullable}}
61-
throw new IllegalArgumentException("Unexpected value '" + value + "'");
62-
{{/isNullable}}
66+
{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} result = {{#useEnumCaseInsensitive}}{{#isString}}value == null ? null : {{/isString}}{{/useEnumCaseInsensitive}}cacheByValue.get({{#useEnumCaseInsensitive}}{{#isString}}value.toLowerCase(Locale.ROOT){{/isString}}{{^isString}}value{{/isString}}{{/useEnumCaseInsensitive}}{{^useEnumCaseInsensitive}}value{{/useEnumCaseInsensitive}});
67+
if (result != null) {
68+
return result;
69+
}
70+
{{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}}
6371
}
6472
}

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@
7171
import static org.junit.jupiter.api.Assertions.assertTrue;
7272
import static org.openapitools.codegen.CodegenConstants.*;
7373
import static org.openapitools.codegen.TestUtils.*;
74+
import static org.openapitools.codegen.languages.AbstractJavaCodegen.DISABLE_DISCRIMINATOR_JSON_IGNORE_PROPERTIES;
75+
import static org.openapitools.codegen.languages.AbstractJavaCodegen.OPENAPI_NULLABLE;
76+
import static org.openapitools.codegen.languages.AbstractJavaCodegen.USE_ONE_OF_INTERFACES;
7477
import static org.openapitools.codegen.languages.JavaClientCodegen.*;
7578
import static org.testng.Assert.*;
7679

@@ -2373,9 +2376,9 @@ public void testEnumCaseInsensitive_issue8084() {
23732376
Map<String, File> files = new DefaultGenerator().opts(new ClientOptInput().openAPI(openAPI).config(codegen))
23742377
.generate().stream().collect(Collectors.toMap(File::getName, Function.identity()));
23752378

2376-
JavaFileAssert.assertThat(files.get("EnumTest.java"))
2377-
.assertMethod("fromValue")
2378-
.bodyContainsLines("if (b.value.equalsIgnoreCase(value)) {");
2379+
assertThat(files.get("EnumTest.java"))
2380+
.content()
2381+
.contains("toLowerCase(Locale.ROOT)");
23792382
}
23802383

23812384
@Test
@@ -2389,9 +2392,9 @@ public void testEnumCaseSensitive_issue8084() {
23892392
Map<String, File> files = new DefaultGenerator().opts(new ClientOptInput().openAPI(openAPI).config(codegen))
23902393
.generate().stream().collect(Collectors.toMap(File::getName, Function.identity()));
23912394

2392-
JavaFileAssert.assertThat(files.get("EnumTest.java"))
2393-
.assertMethod("fromValue")
2394-
.bodyContainsLines("if (b.value.equals(value)) {");
2395+
assertThat(files.get("EnumTest.java"))
2396+
.content()
2397+
.contains("new HashMap<>()");
23952398
}
23962399

23972400
@Test

0 commit comments

Comments
 (0)