Skip to content

Commit 83dbbaa

Browse files
author
Michael Hamburger
committed
Add USE_ENUM_CASE_INSENSITIVE for java client generator, also add equalsIgnore test
1 parent d6095a0 commit 83dbbaa

186 files changed

Lines changed: 17640 additions & 6 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
generatorName: java
2+
outputDir: samples/client/petstore/java/microprofile-rest-client-3.0-jackson-ignoreCase
3+
library: microprofile
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/Java
6+
additionalProperties:
7+
serializationLibrary: jackson
8+
useEnumCaseInsensitive: true
9+
artifactId: microprofile-rest-client-3-jackson
10+
configKey: petstore
11+
microprofileRestClientVersion: "3.0"
12+
hideGenerationTimestamp: true
13+
useReflectionEqualsHashCode: true

‎modules/openapi-generator/src/main/resources/Java/libraries/microprofile/enumClass.mustache‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
{{#withXml}}
4242
public static {{datatypeWithEnum}} fromValue(String v) {
4343
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
44-
if (String.valueOf(b.value).equals(v)) {
44+
if (String.valueOf(b.value).equals{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}(v)) {
4545
return b;
4646
}
4747
}
@@ -54,7 +54,7 @@
5454
@Override
5555
public {{datatypeWithEnum}} deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
5656
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
57-
if (String.valueOf(b.value).equals(parser.getString())) {
57+
if (String.valueOf(b.value).equals{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}(parser.getString())) {
5858
return b;
5959
}
6060
}
@@ -73,7 +73,7 @@
7373
@JsonCreator
7474
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) {
7575
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
76-
if (b.value.equals(value)) {
76+
if (b.value.equals{{#isString}}{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}{{/isString}}(value)) {
7777
return b;
7878
}
7979
}

‎modules/openapi-generator/src/main/resources/Java/libraries/microprofile/enumOuterClass.mustache‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ import java.net.URI;
6161
{{/jackson}}
6262
public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) {
6363
for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) {
64-
if (String.valueOf(b.value).equals(text)) {
64+
if (String.valueOf(b.value).equals{{#useEnumCaseInsensitive}}IgnoreCase{{/useEnumCaseInsensitive}}(text)) {
6565
return b;
6666
}
6767
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
#ApiClient.cs
10+
11+
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
12+
#foo/*/qux
13+
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14+
15+
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16+
#foo/**/qux
17+
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18+
19+
# You can also negate patterns with an exclamation (!).
20+
# For example, you can ignore all files in a docs folder with the file extension .md:
21+
#docs/*.md
22+
# Then explicitly reverse the ignore rule for a single file:
23+
#!docs/README.md
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
README.md
2+
docs/AdditionalPropertiesClass.md
3+
docs/AllOfWithSingleRef.md
4+
docs/Animal.md
5+
docs/AnotherFakeApi.md
6+
docs/ArrayOfArrayOfNumberOnly.md
7+
docs/ArrayOfNumberOnly.md
8+
docs/ArrayTest.md
9+
docs/Capitalization.md
10+
docs/Cat.md
11+
docs/Category.md
12+
docs/ChildWithNullable.md
13+
docs/ClassModel.md
14+
docs/Client.md
15+
docs/DefaultApi.md
16+
docs/DeprecatedObject.md
17+
docs/Dog.md
18+
docs/EnumArrays.md
19+
docs/EnumClass.md
20+
docs/EnumTest.md
21+
docs/FakeApi.md
22+
docs/FakeBigDecimalMap200Response.md
23+
docs/FakeClassnameTags123Api.md
24+
docs/FileSchemaTestClass.md
25+
docs/Foo.md
26+
docs/FooGetDefaultResponse.md
27+
docs/FormatTest.md
28+
docs/HasOnlyReadOnly.md
29+
docs/HealthCheckResult.md
30+
docs/MapTest.md
31+
docs/MixedPropertiesAndAdditionalPropertiesClass.md
32+
docs/Model200Response.md
33+
docs/ModelApiResponse.md
34+
docs/ModelFile.md
35+
docs/ModelList.md
36+
docs/ModelReturn.md
37+
docs/Name.md
38+
docs/NullableClass.md
39+
docs/NumberOnly.md
40+
docs/ObjectWithDeprecatedFields.md
41+
docs/Order.md
42+
docs/OuterComposite.md
43+
docs/OuterEnum.md
44+
docs/OuterEnumDefaultValue.md
45+
docs/OuterEnumInteger.md
46+
docs/OuterEnumIntegerDefaultValue.md
47+
docs/OuterObjectWithEnumProperty.md
48+
docs/ParentWithNullable.md
49+
docs/Pet.md
50+
docs/PetApi.md
51+
docs/ReadOnlyFirst.md
52+
docs/SingleRefType.md
53+
docs/SpecialModelName.md
54+
docs/StoreApi.md
55+
docs/Tag.md
56+
docs/TestInlineFreeformAdditionalPropertiesRequest.md
57+
docs/User.md
58+
docs/UserApi.md
59+
pom.xml
60+
src/main/java/org/openapitools/client/RFC3339DateFormat.java
61+
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
62+
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
63+
src/main/java/org/openapitools/client/api/AnotherFakeApi.java
64+
src/main/java/org/openapitools/client/api/ApiException.java
65+
src/main/java/org/openapitools/client/api/ApiExceptionMapper.java
66+
src/main/java/org/openapitools/client/api/DefaultApi.java
67+
src/main/java/org/openapitools/client/api/FakeApi.java
68+
src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java
69+
src/main/java/org/openapitools/client/api/PetApi.java
70+
src/main/java/org/openapitools/client/api/StoreApi.java
71+
src/main/java/org/openapitools/client/api/UserApi.java
72+
src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java
73+
src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java
74+
src/main/java/org/openapitools/client/model/Animal.java
75+
src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java
76+
src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java
77+
src/main/java/org/openapitools/client/model/ArrayTest.java
78+
src/main/java/org/openapitools/client/model/Capitalization.java
79+
src/main/java/org/openapitools/client/model/Cat.java
80+
src/main/java/org/openapitools/client/model/Category.java
81+
src/main/java/org/openapitools/client/model/ChildWithNullable.java
82+
src/main/java/org/openapitools/client/model/ClassModel.java
83+
src/main/java/org/openapitools/client/model/Client.java
84+
src/main/java/org/openapitools/client/model/DeprecatedObject.java
85+
src/main/java/org/openapitools/client/model/Dog.java
86+
src/main/java/org/openapitools/client/model/EnumArrays.java
87+
src/main/java/org/openapitools/client/model/EnumClass.java
88+
src/main/java/org/openapitools/client/model/EnumTest.java
89+
src/main/java/org/openapitools/client/model/FakeBigDecimalMap200Response.java
90+
src/main/java/org/openapitools/client/model/FileSchemaTestClass.java
91+
src/main/java/org/openapitools/client/model/Foo.java
92+
src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java
93+
src/main/java/org/openapitools/client/model/FormatTest.java
94+
src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java
95+
src/main/java/org/openapitools/client/model/HealthCheckResult.java
96+
src/main/java/org/openapitools/client/model/MapTest.java
97+
src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java
98+
src/main/java/org/openapitools/client/model/Model200Response.java
99+
src/main/java/org/openapitools/client/model/ModelApiResponse.java
100+
src/main/java/org/openapitools/client/model/ModelFile.java
101+
src/main/java/org/openapitools/client/model/ModelList.java
102+
src/main/java/org/openapitools/client/model/ModelReturn.java
103+
src/main/java/org/openapitools/client/model/Name.java
104+
src/main/java/org/openapitools/client/model/NullableClass.java
105+
src/main/java/org/openapitools/client/model/NumberOnly.java
106+
src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java
107+
src/main/java/org/openapitools/client/model/Order.java
108+
src/main/java/org/openapitools/client/model/OuterComposite.java
109+
src/main/java/org/openapitools/client/model/OuterEnum.java
110+
src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java
111+
src/main/java/org/openapitools/client/model/OuterEnumInteger.java
112+
src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java
113+
src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java
114+
src/main/java/org/openapitools/client/model/ParentWithNullable.java
115+
src/main/java/org/openapitools/client/model/Pet.java
116+
src/main/java/org/openapitools/client/model/ReadOnlyFirst.java
117+
src/main/java/org/openapitools/client/model/SingleRefType.java
118+
src/main/java/org/openapitools/client/model/SpecialModelName.java
119+
src/main/java/org/openapitools/client/model/Tag.java
120+
src/main/java/org/openapitools/client/model/TestInlineFreeformAdditionalPropertiesRequest.java
121+
src/main/java/org/openapitools/client/model/User.java
122+
src/test/java/org/openapitools/client/api/AnotherFakeApiTest.java
123+
src/test/java/org/openapitools/client/api/DefaultApiTest.java
124+
src/test/java/org/openapitools/client/api/FakeApiTest.java
125+
src/test/java/org/openapitools/client/api/FakeClassnameTags123ApiTest.java
126+
src/test/java/org/openapitools/client/api/PetApiTest.java
127+
src/test/java/org/openapitools/client/api/StoreApiTest.java
128+
src/test/java/org/openapitools/client/api/UserApiTest.java
129+
src/test/java/org/openapitools/client/model/AdditionalPropertiesClassTest.java
130+
src/test/java/org/openapitools/client/model/AllOfWithSingleRefTest.java
131+
src/test/java/org/openapitools/client/model/AnimalTest.java
132+
src/test/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnlyTest.java
133+
src/test/java/org/openapitools/client/model/ArrayOfNumberOnlyTest.java
134+
src/test/java/org/openapitools/client/model/ArrayTestTest.java
135+
src/test/java/org/openapitools/client/model/CapitalizationTest.java
136+
src/test/java/org/openapitools/client/model/CatTest.java
137+
src/test/java/org/openapitools/client/model/CategoryTest.java
138+
src/test/java/org/openapitools/client/model/ChildWithNullableTest.java
139+
src/test/java/org/openapitools/client/model/ClassModelTest.java
140+
src/test/java/org/openapitools/client/model/ClientTest.java
141+
src/test/java/org/openapitools/client/model/DeprecatedObjectTest.java
142+
src/test/java/org/openapitools/client/model/DogTest.java
143+
src/test/java/org/openapitools/client/model/EnumArraysTest.java
144+
src/test/java/org/openapitools/client/model/EnumTestTest.java
145+
src/test/java/org/openapitools/client/model/FakeBigDecimalMap200ResponseTest.java
146+
src/test/java/org/openapitools/client/model/FileSchemaTestClassTest.java
147+
src/test/java/org/openapitools/client/model/FooGetDefaultResponseTest.java
148+
src/test/java/org/openapitools/client/model/FooTest.java
149+
src/test/java/org/openapitools/client/model/FormatTestTest.java
150+
src/test/java/org/openapitools/client/model/HasOnlyReadOnlyTest.java
151+
src/test/java/org/openapitools/client/model/HealthCheckResultTest.java
152+
src/test/java/org/openapitools/client/model/MapTestTest.java
153+
src/test/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClassTest.java
154+
src/test/java/org/openapitools/client/model/Model200ResponseTest.java
155+
src/test/java/org/openapitools/client/model/ModelApiResponseTest.java
156+
src/test/java/org/openapitools/client/model/ModelFileTest.java
157+
src/test/java/org/openapitools/client/model/ModelListTest.java
158+
src/test/java/org/openapitools/client/model/ModelReturnTest.java
159+
src/test/java/org/openapitools/client/model/NameTest.java
160+
src/test/java/org/openapitools/client/model/NullableClassTest.java
161+
src/test/java/org/openapitools/client/model/NumberOnlyTest.java
162+
src/test/java/org/openapitools/client/model/ObjectWithDeprecatedFieldsTest.java
163+
src/test/java/org/openapitools/client/model/OrderTest.java
164+
src/test/java/org/openapitools/client/model/OuterCompositeTest.java
165+
src/test/java/org/openapitools/client/model/OuterEnumDefaultValueTest.java
166+
src/test/java/org/openapitools/client/model/OuterEnumIntegerDefaultValueTest.java
167+
src/test/java/org/openapitools/client/model/OuterEnumIntegerTest.java
168+
src/test/java/org/openapitools/client/model/OuterEnumTest.java
169+
src/test/java/org/openapitools/client/model/OuterObjectWithEnumPropertyTest.java
170+
src/test/java/org/openapitools/client/model/ParentWithNullableTest.java
171+
src/test/java/org/openapitools/client/model/PetTest.java
172+
src/test/java/org/openapitools/client/model/ReadOnlyFirstTest.java
173+
src/test/java/org/openapitools/client/model/SingleRefTypeTest.java
174+
src/test/java/org/openapitools/client/model/SpecialModelNameTest.java
175+
src/test/java/org/openapitools/client/model/TagTest.java
176+
src/test/java/org/openapitools/client/model/TestInlineFreeformAdditionalPropertiesRequestTest.java
177+
src/test/java/org/openapitools/client/model/UserTest.java
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.24.0-SNAPSHOT
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# OpenAPI Petstore - MicroProfile Rest Client & MicroProfile Server
2+
3+
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
4+
5+
## Overview
6+
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
7+
[MicroProfile Rest Client](https://github.com/eclipse/microprofile-rest-client) is a type-safe way of calling
8+
REST services. The generated client contains an interface which acts as the client, you can inject it into dependent classes.
9+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
3+
# AdditionalPropertiesClass
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**mapProperty** | **Map<String, String>** | | [optional] |
11+
|**mapOfMapProperty** | **Map<String, Map<String, String>>** | | [optional] |
12+
13+
14+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
3+
# AllOfWithSingleRef
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**username** | **String** | | [optional] |
11+
|**singleRefType** | **SingleRefType** | | [optional] |
12+
13+
14+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
3+
# Animal
4+
5+
6+
## Properties
7+
8+
| Name | Type | Description | Notes |
9+
|------------ | ------------- | ------------- | -------------|
10+
|**className** | **String** | | |
11+
|**color** | **String** | | [optional] |
12+
13+
14+

0 commit comments

Comments
 (0)