Skip to content
Open
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
0d6669e
bugfix-20188: use numeric check to ensure that generated inner enums …
timon-sbr Dec 11, 2024
833d716
bugfix-20188: Add test data to fake Api in petstore-with-fake-endpoin…
timon-sbr Dec 17, 2024
56cda0a
Generate samples
timon-sbr Apr 8, 2025
56836da
bugfix-20188: Fix compilation error in FakeApiTest.java
timon-sbr Dec 17, 2024
32865b1
apply to more libraries, improve test
martin-mfg Jan 28, 2025
f5bb5dc
Generate samples
timon-sbr Apr 8, 2025
9778e8f
don't trigger unrelated problem
martin-mfg Jan 28, 2025
bd0254e
Generate samples
timon-sbr Apr 8, 2025
73381df
update all samples
martin-mfg Jan 29, 2025
26242d9
fix java-helidon
martin-mfg Jan 29, 2025
3b84ee8
update all samples again
martin-mfg Jan 29, 2025
4fc5637
update faulty sample tests
martin-mfg Jan 29, 2025
7e62551
update faulty okhttp-gson test
martin-mfg Jan 29, 2025
1b6cc49
remove part that's problematic for ruby
martin-mfg Jan 29, 2025
d83fe09
Generate samples
timon-sbr Apr 8, 2025
eae6725
update faulty sample tests
martin-mfg Jan 29, 2025
83e7009
issue-20188: regenerate samples after rebase
timon-sbr Jun 2, 2025
2567feb
Update modules/openapi-generator/src/main/resources/Java/modelInnerEn…
timon-sbr Jun 2, 2025
47cc413
issue-20188: regenerate samples
timon-sbr Jun 2, 2025
c0ef138
issue-20188: regenerate samples
timon-sbr Jun 2, 2025
5cb9f0c
Update modules/openapi-generator/src/main/resources/Java/libraries/mi…
timon-sbr Jun 3, 2025
d7b3d93
issue-20188: apply isFreeFromObject and isUri to more enum templates
timon-sbr Jun 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
{{#enumVars}}@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) {{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{/withXml}}
{{^withXml}}
{{#enumVars}}{{name}}({{^isUri}}{{dataType}}.valueOf({{/isUri}}{{{value}}}{{^isUri}}){{/isUri}}){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{#enumVars}}{{name}}({{^isUri}}{{^isNumeric}}{{^isFreeFormObject}}{{dataType}}.valueOf({{/isFreeFormObject}}{{/isNumeric}}{{/isUri}}{{{value}}}{{^isUri}}){{/isUri}}{{^isNumeric}}{{^isFreeFormObject}}){{/isFreeFormObject}}{{/isNumeric}}{{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{/withXml}}
{{/allowableValues}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
{{#withXml}}
@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}})
{{/withXml}}
{{{name}}}({{{value}}}){{^-last}},
{{{name}}}({{^isUri}}{{^isNumeric}}{{^isFreeFormObject}}{{dataType}}.valueOf({{/isFreeFormObject}}{{/isNumeric}}{{/isUri}}{{{value}}}{{^isUri}}{{^isNumeric}}{{^isFreeFormObject}}){{/isFreeFormObject}}{{/isNumeric}}{{/isUri}}){{^-last}},
{{/-last}}{{#-last}};{{/-last}}
{{/enumVars}}
{{/allowableValues}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
{{#withXml}}
@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}})
{{/withXml}}
{{{name}}}({{^isUri}}{{dataType}}.valueOf({{/isUri}}{{{value}}}{{^isUri}}){{/isUri}}){{^-last}},
{{{name}}}({{^isUri}}{{^isNumeric}}{{^isFreeFormObject}}{{dataType}}.valueOf({{/isFreeFormObject}}{{/isNumeric}}{{/isUri}}{{{value}}}{{^isUri}}{{^isNumeric}}{{^isFreeFormObject}}){{/isFreeFormObject}}{{/isNumeric}}{{/isUri}}){{^-last}},
{{/-last}}{{#-last}};{{/-last}}
{{/enumVars}}
{{/allowableValues}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{{>additionalEnumTypeAnnotations}}public enum {{datatypeWithEnum}} {
{{#allowableValues}}
{{#enumVars}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{#enumVars}}{{name}}({{^isNumeric}}{{dataType}}.valueOf({{/isNumeric}}{{{value}}}{{^isNumeric}}){{/isNumeric}}){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{/allowableValues}}

{{dataType}} value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{{>additionalEnumTypeAnnotations}}public enum {{datatypeWithEnum}} {
{{#allowableValues}}
{{#enumVars}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{#enumVars}}{{name}}({{^isNumeric}}{{dataType}}.valueOf({{/isNumeric}}{{{value}}}{{^isNumeric}}){{/isNumeric}}){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is isFreeFormObject not used here, like in the other changed files?
Same question applies to modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/enumClass.mustache and modules/openapi-generator/src/main/resources/java-helidon/client/libraries/mp/enumClass.mustache.

And the same also applies to using isUri.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @martin-mfg thx for the review. I've fixed the missing parts.

{{/allowableValues}}

{{dataType}} value;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{{>additionalEnumTypeAnnotations}}public enum {{datatypeWithEnum}} {

{{#allowableValues}}
{{#enumVars}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{#enumVars}}{{name}}({{^isNumeric}}{{dataType}}.valueOf({{/isNumeric}}{{{value}}}{{^isNumeric}}){{/isNumeric}}){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
{{/allowableValues}}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,14 @@ paths:
- '-efg'
- (xyz)
default: '-efg'
enum_form_integer:
description: Form parameter enum test (integer)
type: integer
enum:
- 1
- -1
- 0
default: 1
post:
tags:
- fake
Expand Down Expand Up @@ -1558,6 +1566,18 @@ components:
complete:
type: boolean
default: false
paymentMethod:
type: number
format: int32
description: "Various payment methods"
default: 1
example: 1
x-enum-description:
- Paypal
- Creditcard
enum:
- 1
- 2
xml:
name: Order
Category:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,23 @@ paths:
- '-efg'
- (xyz)
default: '-efg'
enum_form_integer:
description: Form parameter enum test (integer)
type: integer
enum:
- 1
- -1
- 0
default: 1
enum_form_double:
description: Form parameter enum test (double)
type: number
enum:
- 1.1
- -1.1
- 0.1
- 0.0
default: 1.1
post:
tags:
- fake
Expand Down Expand Up @@ -1417,6 +1434,25 @@ components:
complete:
type: boolean
default: false
paymentMethod:
type: number
format: int32
description: "Various payment methods"
default: 1
example: 1
x-enum-description:
- Paypal
- Creditcard
enum:
- 1
- 2
OrderStatus:
type: string
description: Order status
additionalProperties: false
enum:
- PENDING
- PROCESSING
xml:
name: Order
Category:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,11 @@ public class Order {
*/
@JsonAdapter(StatusEnum.Adapter.class)
public enum StatusEnum {
PLACED("placed"),
PLACED(String.valueOf("placed")),

APPROVED("approved"),
APPROVED(String.valueOf("approved")),

DELIVERED("delivered");
DELIVERED(String.valueOf("delivered"));

private String value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ public class Pet {
*/
@JsonAdapter(StatusEnum.Adapter.class)
public enum StatusEnum {
AVAILABLE("available"),
AVAILABLE(String.valueOf("available")),

PENDING("pending"),
PENDING(String.valueOf("pending")),

SOLD("sold");
SOLD(String.valueOf("sold"));

private String value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ public class DefaultValue {
*/
@JsonAdapter(ArrayStringEnumDefaultEnum.Adapter.class)
public enum ArrayStringEnumDefaultEnum {
SUCCESS("success"),
SUCCESS(String.valueOf("success")),

FAILURE("failure"),
FAILURE(String.valueOf("failure")),

UNCLASSIFIED("unclassified");
UNCLASSIFIED(String.valueOf("unclassified"));

private String value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ public class Pet {
*/
@JsonAdapter(StatusEnum.Adapter.class)
public enum StatusEnum {
AVAILABLE("available"),
AVAILABLE(String.valueOf("available")),

PENDING("pending"),
PENDING(String.valueOf("pending")),

SOLD("sold");
SOLD(String.valueOf("sold"));

private String value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,11 @@ public class Query {
*/
@JsonAdapter(OutcomesEnum.Adapter.class)
public enum OutcomesEnum {
SUCCESS("SUCCESS"),
SUCCESS(String.valueOf("SUCCESS")),

FAILURE("FAILURE"),
FAILURE(String.valueOf("FAILURE")),

SKIPPED("SKIPPED");
SKIPPED(String.valueOf("SKIPPED"));

private String value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public class SomeObj implements Serializable {
*/
@JsonAdapter(TypeEnum.Adapter.class)
public enum TypeEnum {
SOMEOBJIDENTIFIER("SomeObjIdentifier");
SOMEOBJIDENTIFIER(String.valueOf("SomeObjIdentifier"));

private String value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,7 @@ Fake endpoint for testing various parameters 假端點 偽のエンドポイン

## testEnumParameters

> void testEnumParameters(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumQueryModelArray, enumFormStringArray, enumFormString)
> void testEnumParameters(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumQueryModelArray, enumFormStringArray, enumFormString, enumFormInteger, enumFormDouble)

To test enum parameters

Expand All @@ -546,6 +546,8 @@ To test enum parameters
| **enumQueryModelArray** | [**List<EnumClass>**](EnumClass.md)| | [optional] |
| **enumFormStringArray** | [**List<String>**](String.md)| Form parameter enum test (string array) | [optional] [enum: >, $] |
| **enumFormString** | **String**| Form parameter enum test (string) | [optional] [default to -efg] [enum: _abc, -efg, (xyz)] |
| **enumFormInteger** | **Integer**| Form parameter enum test (integer) | [optional] [default to 1] [enum: 1, -1, 0] |
| **enumFormDouble** | **BigDecimal**| Form parameter enum test (double) | [optional] [default to 1.1] [enum: 1.1, -1.1, 0.1, 0.0] |

### Return type

Expand Down
20 changes: 20 additions & 0 deletions samples/client/petstore/java-helidon-client/v3/mp/docs/Order.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
|**shipDate** | **OffsetDateTime** | | [optional] |
|**status** | [**StatusEnum**](#StatusEnum) | Order Status | [optional] |
|**complete** | **Boolean** | | [optional] |
|**paymentMethod** | [**PaymentMethodEnum**](#PaymentMethodEnum) | Various payment methods | [optional] |
|**orderStatus** | [**OrderStatusEnum**](#OrderStatusEnum) | Order status | [optional] |



Expand All @@ -26,3 +28,21 @@



## Enum: PaymentMethodEnum

| Name | Value |
|---- | -----|
| NUMBER_1 | new BigDecimal("1") |
| NUMBER_2 | new BigDecimal("2") |



## Enum: OrderStatusEnum

| Name | Value |
|---- | -----|
| PENDING | "PENDING" |
| PROCESSING | "PROCESSING" |



Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ public interface FakeApi {
@GET

@Consumes({ "application/x-www-form-urlencoded" })
void testEnumParameters(@HeaderParam("enum_header_string_array") List<String> enumHeaderStringArray, @HeaderParam("enum_header_string") String enumHeaderString, @QueryParam("enum_query_string_array") List<String> enumQueryStringArray, @QueryParam("enum_query_string") @DefaultValue("-efg") String enumQueryString, @QueryParam("enum_query_integer") Integer enumQueryInteger, @QueryParam("enum_query_double") Double enumQueryDouble, @QueryParam("enum_query_model_array") List<EnumClass> enumQueryModelArray, @FormParam("enum_form_string_array") List<String> enumFormStringArray, @FormParam("enum_form_string") String enumFormString) throws ApiException, ProcessingException;
void testEnumParameters(@HeaderParam("enum_header_string_array") List<String> enumHeaderStringArray, @HeaderParam("enum_header_string") String enumHeaderString, @QueryParam("enum_query_string_array") List<String> enumQueryStringArray, @QueryParam("enum_query_string") @DefaultValue("-efg") String enumQueryString, @QueryParam("enum_query_integer") Integer enumQueryInteger, @QueryParam("enum_query_double") Double enumQueryDouble, @QueryParam("enum_query_model_array") List<EnumClass> enumQueryModelArray, @FormParam("enum_form_string_array") List<String> enumFormStringArray, @FormParam("enum_form_string") String enumFormString, @FormParam("enum_form_integer") Integer enumFormInteger, @FormParam("enum_form_double") BigDecimal enumFormDouble) throws ApiException, ProcessingException;

/**
* Fake endpoint to test group parameters (optional)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public String toString() {

public enum EnumIntegerEnum {

NUMBER_1(Integer.valueOf(1)), NUMBER_MINUS_1(Integer.valueOf(-1));
NUMBER_1(1), NUMBER_MINUS_1(-1);

Integer value;

Expand All @@ -101,7 +101,7 @@ public String toString() {

public enum EnumNumberEnum {

NUMBER_1_DOT_1(Double.valueOf(1.1)), NUMBER_MINUS_1_DOT_2(Double.valueOf(-1.2));
NUMBER_1_DOT_1(1.1), NUMBER_MINUS_1_DOT_2(-1.2);

Double value;

Expand Down
Loading