diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index b6ab78eac51..eb3c227d125 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -3946,7 +3946,7 @@ public class DefaultCodegen implements CodegenConfig { if (!ModelUtils.isArraySchema(p) && !ModelUtils.isMapSchema(p) && !isFreeFormObject(p) && !isAnyTypeWithNothingElseSet) { /* schemas that are not Array, not ModelUtils.isMapSchema, not isFreeFormObject, not AnyType with nothing else set - * so primitive schemas int, str, number, referenced schemas, AnyType schemas with properties, enums, or composition + * so primitive schemas int, str, number, referenced schemas, AnyType schemas with properties, enums, or composition */ String type = getSchemaType(p); setNonArrayMapProperty(property, type); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index a0a59aced6d..ad513d893f5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -1004,7 +1004,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code String defaultValue = ""; - if (cp.items.isEnum) { // enum + if (cp.items.getIsEnumOrRef()) { // inline or ref enum List defaultValues = new ArrayList<>(); for (String _value : _values) { defaultValues.add(cp.items.datatypeWithEnum + "." + toEnumVarName(_value, cp.items.dataType)); diff --git a/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml b/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml index afac617c5b3..e02af20cd35 100644 --- a/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml @@ -365,10 +365,23 @@ components: - sold xml: name: pet + StringEnumRef: + type: string + enum: + - success + - failure + - unclassified DefaultValue: type: object description: to test the default value of properties properties: + array_string_enum_ref_default: + type: array + items: + $ref: '#/components/schemas/StringEnumRef' + default: + - success + - failure array_string_enum_default: type: array items: diff --git a/openapitools.json b/openapitools.json index f5f966a1030..03392961f6f 100644 --- a/openapitools.json +++ b/openapitools.json @@ -2,6 +2,6 @@ "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", "spaces": 2, "generator-cli": { - "version": "6.2.1" + "version": "6.3.0" } } diff --git a/samples/client/echo_api/java/apache-httpclient/.openapi-generator/FILES b/samples/client/echo_api/java/apache-httpclient/.openapi-generator/FILES index aaa3ec5c98c..b73ae3b78e7 100644 --- a/samples/client/echo_api/java/apache-httpclient/.openapi-generator/FILES +++ b/samples/client/echo_api/java/apache-httpclient/.openapi-generator/FILES @@ -17,6 +17,7 @@ docs/PathApi.md docs/Pet.md docs/Query.md docs/QueryApi.md +docs/StringEnumRef.md docs/Tag.md docs/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.md docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md @@ -54,6 +55,7 @@ src/main/java/org/openapitools/client/model/DataQueryAllOf.java src/main/java/org/openapitools/client/model/DefaultValue.java src/main/java/org/openapitools/client/model/Pet.java src/main/java/org/openapitools/client/model/Query.java +src/main/java/org/openapitools/client/model/StringEnumRef.java src/main/java/org/openapitools/client/model/Tag.java src/main/java/org/openapitools/client/model/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.java src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java diff --git a/samples/client/echo_api/java/apache-httpclient/README.md b/samples/client/echo_api/java/apache-httpclient/README.md index 761ad54e182..fc6c1d2cc03 100644 --- a/samples/client/echo_api/java/apache-httpclient/README.md +++ b/samples/client/echo_api/java/apache-httpclient/README.md @@ -128,6 +128,7 @@ Class | Method | HTTP request | Description - [DefaultValue](docs/DefaultValue.md) - [Pet](docs/Pet.md) - [Query](docs/Query.md) + - [StringEnumRef](docs/StringEnumRef.md) - [Tag](docs/Tag.md) - [TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter](docs/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.md) - [TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md) diff --git a/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml b/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml index b3189f65ed3..434f74aa47d 100644 --- a/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml +++ b/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml @@ -377,9 +377,22 @@ components: type: object xml: name: pet + StringEnumRef: + enum: + - success + - failure + - unclassified + type: string DefaultValue: description: to test the default value of properties properties: + array_string_enum_ref_default: + default: + - success + - failure + items: + $ref: '#/components/schemas/StringEnumRef' + type: array array_string_enum_default: default: - success diff --git a/samples/client/echo_api/java/apache-httpclient/docs/DefaultValue.md b/samples/client/echo_api/java/apache-httpclient/docs/DefaultValue.md index ea7323bc04d..2eda5b585b0 100644 --- a/samples/client/echo_api/java/apache-httpclient/docs/DefaultValue.md +++ b/samples/client/echo_api/java/apache-httpclient/docs/DefaultValue.md @@ -8,6 +8,7 @@ to test the default value of properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**arrayStringEnumRefDefault** | **List<StringEnumRef>** | | [optional] | |**arrayStringEnumDefault** | [**List<ArrayStringEnumDefaultEnum>**](#List<ArrayStringEnumDefaultEnum>) | | [optional] | |**arrayStringDefault** | **List<String>** | | [optional] | |**arrayIntegerDefault** | **List<Integer>** | | [optional] | diff --git a/samples/client/echo_api/java/apache-httpclient/docs/StringEnumRef.md b/samples/client/echo_api/java/apache-httpclient/docs/StringEnumRef.md new file mode 100644 index 00000000000..dff22ecf074 --- /dev/null +++ b/samples/client/echo_api/java/apache-httpclient/docs/StringEnumRef.md @@ -0,0 +1,15 @@ + + +# StringEnumRef + +## Enum + + +* `SUCCESS` (value: `"success"`) + +* `FAILURE` (value: `"failure"`) + +* `UNCLASSIFIED` (value: `"unclassified"`) + + + diff --git a/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/DefaultValue.java b/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/DefaultValue.java index 120f1c9152a..888a1332816 100644 --- a/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/DefaultValue.java +++ b/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/DefaultValue.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.util.ArrayList; import java.util.List; +import org.openapitools.client.model.StringEnumRef; import org.openapitools.jackson.nullable.JsonNullable; import com.fasterxml.jackson.annotation.JsonIgnore; import org.openapitools.jackson.nullable.JsonNullable; @@ -36,6 +37,7 @@ import java.util.StringJoiner; * to test the default value of properties */ @JsonPropertyOrder({ + DefaultValue.JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT, DefaultValue.JSON_PROPERTY_ARRAY_STRING_ENUM_DEFAULT, DefaultValue.JSON_PROPERTY_ARRAY_STRING_DEFAULT, DefaultValue.JSON_PROPERTY_ARRAY_INTEGER_DEFAULT, @@ -45,6 +47,9 @@ import java.util.StringJoiner; }) @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class DefaultValue { + public static final String JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT = "array_string_enum_ref_default"; + private List arrayStringEnumRefDefault = new ArrayList<>(Arrays.asList(StringEnumRef.SUCCESS, StringEnumRef.FAILURE)); + /** * Gets or Sets arrayStringEnumDefault */ @@ -103,6 +108,40 @@ public class DefaultValue { public DefaultValue() { } + public DefaultValue arrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + return this; + } + + public DefaultValue addArrayStringEnumRefDefaultItem(StringEnumRef arrayStringEnumRefDefaultItem) { + if (this.arrayStringEnumRefDefault == null) { + this.arrayStringEnumRefDefault = new ArrayList<>(Arrays.asList(StringEnumRef.SUCCESS, StringEnumRef.FAILURE)); + } + this.arrayStringEnumRefDefault.add(arrayStringEnumRefDefaultItem); + return this; + } + + /** + * Get arrayStringEnumRefDefault + * @return arrayStringEnumRefDefault + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getArrayStringEnumRefDefault() { + return arrayStringEnumRefDefault; + } + + + @JsonProperty(JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setArrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + } + + public DefaultValue arrayStringEnumDefault(List arrayStringEnumDefault) { this.arrayStringEnumDefault = arrayStringEnumDefault; @@ -328,7 +367,8 @@ public class DefaultValue { return false; } DefaultValue defaultValue = (DefaultValue) o; - return Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && + return Objects.equals(this.arrayStringEnumRefDefault, defaultValue.arrayStringEnumRefDefault) && + Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && Objects.equals(this.arrayStringDefault, defaultValue.arrayStringDefault) && Objects.equals(this.arrayIntegerDefault, defaultValue.arrayIntegerDefault) && Objects.equals(this.arrayString, defaultValue.arrayString) && @@ -342,7 +382,7 @@ public class DefaultValue { @Override public int hashCode() { - return Objects.hash(arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, hashCodeNullable(arrayStringNullable), hashCodeNullable(stringNullable)); + return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, hashCodeNullable(arrayStringNullable), hashCodeNullable(stringNullable)); } private static int hashCodeNullable(JsonNullable a) { @@ -356,6 +396,7 @@ public class DefaultValue { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class DefaultValue {\n"); + sb.append(" arrayStringEnumRefDefault: ").append(toIndentedString(arrayStringEnumRefDefault)).append("\n"); sb.append(" arrayStringEnumDefault: ").append(toIndentedString(arrayStringEnumDefault)).append("\n"); sb.append(" arrayStringDefault: ").append(toIndentedString(arrayStringDefault)).append("\n"); sb.append(" arrayIntegerDefault: ").append(toIndentedString(arrayIntegerDefault)).append("\n"); @@ -409,6 +450,22 @@ public class DefaultValue { StringJoiner joiner = new StringJoiner("&"); + // add `array_string_enum_ref_default` to the URL query string + if (getArrayStringEnumRefDefault() != null) { + for (int i = 0; i < getArrayStringEnumRefDefault().size(); i++) { + if (getArrayStringEnumRefDefault().get(i) != null) { + try { + joiner.add(String.format("%sarray_string_enum_ref_default%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf(getArrayStringEnumRefDefault().get(i)), "UTF-8").replaceAll("\\+", "%20"))); + } catch (UnsupportedEncodingException e) { + // Should never happen, UTF-8 is always supported + throw new RuntimeException(e); + } + } + } + } + // add `array_string_enum_default` to the URL query string if (getArrayStringEnumDefault() != null) { for (int i = 0; i < getArrayStringEnumDefault().size(); i++) { diff --git a/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/StringEnumRef.java b/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/StringEnumRef.java new file mode 100644 index 00000000000..ef559e31e4a --- /dev/null +++ b/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/model/StringEnumRef.java @@ -0,0 +1,78 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.StringJoiner; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets StringEnumRef + */ +public enum StringEnumRef { + + SUCCESS("success"), + + FAILURE("failure"), + + UNCLASSIFIED("unclassified"); + + private String value; + + StringEnumRef(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StringEnumRef fromValue(String value) { + for (StringEnumRef b : StringEnumRef.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } +} + diff --git a/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/CustomTest.java b/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/CustomTest.java index b7e9bc456fd..a4dd87b883c 100644 --- a/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/CustomTest.java +++ b/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/CustomTest.java @@ -158,6 +158,10 @@ public class CustomTest { public void testArrayDefaultValues() { // test array default values DefaultValue d = new DefaultValue(); + Assert.assertEquals(d.getArrayStringEnumRefDefault().size(), 2); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(0), StringEnumRef.SUCCESS); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(1), StringEnumRef.FAILURE); + Assert.assertEquals(d.getArrayStringEnumDefault().size(), 2); Assert.assertEquals(d.getArrayStringEnumDefault().get(0), DefaultValue.ArrayStringEnumDefaultEnum.SUCCESS); Assert.assertEquals(d.getArrayStringEnumDefault().get(1), DefaultValue.ArrayStringEnumDefaultEnum.FAILURE); @@ -197,6 +201,10 @@ public class CustomTest { DefaultValue d = apiClient.getObjectMapper().readValue(str, new TypeReference() { }); + Assert.assertEquals(d.getArrayStringEnumRefDefault().size(), 2); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(0), StringEnumRef.SUCCESS); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(1), StringEnumRef.FAILURE); + Assert.assertEquals(d.getArrayStringEnumDefault().size(), 2); Assert.assertEquals(d.getArrayStringEnumDefault().get(0), DefaultValue.ArrayStringEnumDefaultEnum.SUCCESS); Assert.assertEquals(d.getArrayStringEnumDefault().get(1), DefaultValue.ArrayStringEnumDefaultEnum.FAILURE); @@ -212,18 +220,21 @@ public class CustomTest { Assert.assertNull(d.getArrayStringNullable()); Assert.assertEquals(d.getArrayString().size(), 0); - Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_default\":[\"success\",\"failure\"],\"array_string_default\":[\"failure\",\"skipped\"],\"array_integer_default\":[1,3],\"array_string\":[],\"array_string_nullable\":{\"present\":false},\"string_nullable\":{\"present\":false}}"); + Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_ref_default\":[\"success\",\"failure\"],\"array_string_enum_default\":[\"success\",\"failure\"],\"array_string_default\":[\"failure\",\"skipped\"],\"array_integer_default\":[1,3],\"array_string\":[],\"array_string_nullable\":{\"present\":false},\"string_nullable\":{\"present\":false}}"); } @Test public void testDefaultValuesSerializationWithJSONString() throws IOException { ApiClient apiClient = new ApiClient(); - String str = "{ \"array_string_enum_default\": [\"unclassified\"], \"array_string_default\": [\"failure\"] }"; + String str = "{ \"array_string_enum_ref_default\": [\"unclassified\"], \"array_string_enum_default\": [\"unclassified\"], \"array_string_default\": [\"failure\"] }"; DefaultValue d = apiClient.getObjectMapper().readValue(str, new TypeReference() { }); + Assert.assertEquals(d.getArrayStringEnumRefDefault().size(), 1); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(0), StringEnumRef.UNCLASSIFIED); + Assert.assertEquals(d.getArrayStringEnumDefault().size(), 1); Assert.assertEquals(d.getArrayStringEnumDefault().get(0), DefaultValue.ArrayStringEnumDefaultEnum.UNCLASSIFIED); @@ -237,7 +248,7 @@ public class CustomTest { Assert.assertNull(d.getArrayStringNullable()); Assert.assertEquals(d.getArrayString().size(), 0); - Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_default\":[\"unclassified\"],\"array_string_default\":[\"failure\"],\"array_integer_default\":[1,3],\"array_string\":[],\"array_string_nullable\":{\"present\":false},\"string_nullable\":{\"present\":false}}"); + Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_ref_default\":[\"unclassified\"],\"array_string_enum_default\":[\"unclassified\"],\"array_string_default\":[\"failure\"],\"array_integer_default\":[1,3],\"array_string\":[],\"array_string_nullable\":{\"present\":false},\"string_nullable\":{\"present\":false}}"); } @Test diff --git a/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/model/StringEnumRefTest.java b/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/model/StringEnumRefTest.java new file mode 100644 index 00000000000..81d7f918ea0 --- /dev/null +++ b/samples/client/echo_api/java/apache-httpclient/src/test/java/org/openapitools/client/model/StringEnumRefTest.java @@ -0,0 +1,33 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for StringEnumRef + */ +public class StringEnumRefTest { + /** + * Model tests for StringEnumRef + */ + @Test + public void testStringEnumRef() { + // TODO: test StringEnumRef + } + +} diff --git a/samples/client/echo_api/java/feign-gson/.openapi-generator/FILES b/samples/client/echo_api/java/feign-gson/.openapi-generator/FILES index 7ec7c489945..a45b0a1ad80 100644 --- a/samples/client/echo_api/java/feign-gson/.openapi-generator/FILES +++ b/samples/client/echo_api/java/feign-gson/.openapi-generator/FILES @@ -35,6 +35,7 @@ src/main/java/org/openapitools/client/model/DataQueryAllOf.java src/main/java/org/openapitools/client/model/DefaultValue.java src/main/java/org/openapitools/client/model/Pet.java src/main/java/org/openapitools/client/model/Query.java +src/main/java/org/openapitools/client/model/StringEnumRef.java src/main/java/org/openapitools/client/model/Tag.java src/main/java/org/openapitools/client/model/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.java src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java diff --git a/samples/client/echo_api/java/feign-gson/api/openapi.yaml b/samples/client/echo_api/java/feign-gson/api/openapi.yaml index b3189f65ed3..434f74aa47d 100644 --- a/samples/client/echo_api/java/feign-gson/api/openapi.yaml +++ b/samples/client/echo_api/java/feign-gson/api/openapi.yaml @@ -377,9 +377,22 @@ components: type: object xml: name: pet + StringEnumRef: + enum: + - success + - failure + - unclassified + type: string DefaultValue: description: to test the default value of properties properties: + array_string_enum_ref_default: + default: + - success + - failure + items: + $ref: '#/components/schemas/StringEnumRef' + type: array array_string_enum_default: default: - success diff --git a/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/DefaultValue.java b/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/DefaultValue.java index 192754a61bd..42c69e8a2b4 100644 --- a/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/DefaultValue.java +++ b/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/DefaultValue.java @@ -23,6 +23,7 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import org.openapitools.client.model.StringEnumRef; import org.openapitools.jackson.nullable.JsonNullable; /** @@ -30,6 +31,10 @@ import org.openapitools.jackson.nullable.JsonNullable; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class DefaultValue { + public static final String SERIALIZED_NAME_ARRAY_STRING_ENUM_REF_DEFAULT = "array_string_enum_ref_default"; + @SerializedName(SERIALIZED_NAME_ARRAY_STRING_ENUM_REF_DEFAULT) + private List arrayStringEnumRefDefault = new ArrayList<>(Arrays.asList(StringEnumRef.SUCCESS, StringEnumRef.FAILURE)); + /** * Gets or Sets arrayStringEnumDefault */ @@ -106,6 +111,36 @@ public class DefaultValue { public DefaultValue() { } + public DefaultValue arrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + return this; + } + + public DefaultValue addArrayStringEnumRefDefaultItem(StringEnumRef arrayStringEnumRefDefaultItem) { + if (this.arrayStringEnumRefDefault == null) { + this.arrayStringEnumRefDefault = new ArrayList<>(Arrays.asList(StringEnumRef.SUCCESS, StringEnumRef.FAILURE)); + } + this.arrayStringEnumRefDefault.add(arrayStringEnumRefDefaultItem); + return this; + } + + /** + * Get arrayStringEnumRefDefault + * @return arrayStringEnumRefDefault + **/ + @javax.annotation.Nullable + + public List getArrayStringEnumRefDefault() { + return arrayStringEnumRefDefault; + } + + + public void setArrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + } + + public DefaultValue arrayStringEnumDefault(List arrayStringEnumDefault) { this.arrayStringEnumDefault = arrayStringEnumDefault; @@ -287,7 +322,8 @@ public class DefaultValue { return false; } DefaultValue defaultValue = (DefaultValue) o; - return Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && + return Objects.equals(this.arrayStringEnumRefDefault, defaultValue.arrayStringEnumRefDefault) && + Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && Objects.equals(this.arrayStringDefault, defaultValue.arrayStringDefault) && Objects.equals(this.arrayIntegerDefault, defaultValue.arrayIntegerDefault) && Objects.equals(this.arrayString, defaultValue.arrayString) && @@ -301,7 +337,7 @@ public class DefaultValue { @Override public int hashCode() { - return Objects.hash(arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, arrayStringNullable, stringNullable); + return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, arrayStringNullable, stringNullable); } private static int hashCodeNullable(JsonNullable a) { @@ -315,6 +351,7 @@ public class DefaultValue { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class DefaultValue {\n"); + sb.append(" arrayStringEnumRefDefault: ").append(toIndentedString(arrayStringEnumRefDefault)).append("\n"); sb.append(" arrayStringEnumDefault: ").append(toIndentedString(arrayStringEnumDefault)).append("\n"); sb.append(" arrayStringDefault: ").append(toIndentedString(arrayStringDefault)).append("\n"); sb.append(" arrayIntegerDefault: ").append(toIndentedString(arrayIntegerDefault)).append("\n"); diff --git a/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/StringEnumRef.java b/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/StringEnumRef.java new file mode 100644 index 00000000000..f83be8ae238 --- /dev/null +++ b/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/model/StringEnumRef.java @@ -0,0 +1,75 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Gets or Sets StringEnumRef + */ +@JsonAdapter(StringEnumRef.Adapter.class) +public enum StringEnumRef { + + SUCCESS("success"), + + FAILURE("failure"), + + UNCLASSIFIED("unclassified"); + + private String value; + + StringEnumRef(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StringEnumRef fromValue(String value) { + for (StringEnumRef b : StringEnumRef.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StringEnumRef enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StringEnumRef read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StringEnumRef.fromValue(value); + } + } +} + diff --git a/samples/client/echo_api/java/feign-gson/src/test/java/org/openapitools/client/model/StringEnumRefTest.java b/samples/client/echo_api/java/feign-gson/src/test/java/org/openapitools/client/model/StringEnumRefTest.java new file mode 100644 index 00000000000..b55324cae42 --- /dev/null +++ b/samples/client/echo_api/java/feign-gson/src/test/java/org/openapitools/client/model/StringEnumRefTest.java @@ -0,0 +1,32 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.annotations.SerializedName; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for StringEnumRef + */ +class StringEnumRefTest { + /** + * Model tests for StringEnumRef + */ + @Test + void testStringEnumRef() { + // TODO: test StringEnumRef + } + +} diff --git a/samples/client/echo_api/java/native/.openapi-generator/FILES b/samples/client/echo_api/java/native/.openapi-generator/FILES index 8211d04e7da..68f5fdb9b8a 100644 --- a/samples/client/echo_api/java/native/.openapi-generator/FILES +++ b/samples/client/echo_api/java/native/.openapi-generator/FILES @@ -17,6 +17,7 @@ docs/PathApi.md docs/Pet.md docs/Query.md docs/QueryApi.md +docs/StringEnumRef.md docs/Tag.md docs/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.md docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md @@ -51,6 +52,7 @@ src/main/java/org/openapitools/client/model/DataQueryAllOf.java src/main/java/org/openapitools/client/model/DefaultValue.java src/main/java/org/openapitools/client/model/Pet.java src/main/java/org/openapitools/client/model/Query.java +src/main/java/org/openapitools/client/model/StringEnumRef.java src/main/java/org/openapitools/client/model/Tag.java src/main/java/org/openapitools/client/model/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.java src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java diff --git a/samples/client/echo_api/java/native/README.md b/samples/client/echo_api/java/native/README.md index b28f8ff4f14..f2d605955af 100644 --- a/samples/client/echo_api/java/native/README.md +++ b/samples/client/echo_api/java/native/README.md @@ -138,6 +138,7 @@ Class | Method | HTTP request | Description - [DefaultValue](docs/DefaultValue.md) - [Pet](docs/Pet.md) - [Query](docs/Query.md) + - [StringEnumRef](docs/StringEnumRef.md) - [Tag](docs/Tag.md) - [TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter](docs/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.md) - [TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md) diff --git a/samples/client/echo_api/java/native/api/openapi.yaml b/samples/client/echo_api/java/native/api/openapi.yaml index b3189f65ed3..434f74aa47d 100644 --- a/samples/client/echo_api/java/native/api/openapi.yaml +++ b/samples/client/echo_api/java/native/api/openapi.yaml @@ -377,9 +377,22 @@ components: type: object xml: name: pet + StringEnumRef: + enum: + - success + - failure + - unclassified + type: string DefaultValue: description: to test the default value of properties properties: + array_string_enum_ref_default: + default: + - success + - failure + items: + $ref: '#/components/schemas/StringEnumRef' + type: array array_string_enum_default: default: - success diff --git a/samples/client/echo_api/java/native/docs/DefaultValue.md b/samples/client/echo_api/java/native/docs/DefaultValue.md index ea7323bc04d..2eda5b585b0 100644 --- a/samples/client/echo_api/java/native/docs/DefaultValue.md +++ b/samples/client/echo_api/java/native/docs/DefaultValue.md @@ -8,6 +8,7 @@ to test the default value of properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**arrayStringEnumRefDefault** | **List<StringEnumRef>** | | [optional] | |**arrayStringEnumDefault** | [**List<ArrayStringEnumDefaultEnum>**](#List<ArrayStringEnumDefaultEnum>) | | [optional] | |**arrayStringDefault** | **List<String>** | | [optional] | |**arrayIntegerDefault** | **List<Integer>** | | [optional] | diff --git a/samples/client/echo_api/java/native/docs/EnumStringRef.md b/samples/client/echo_api/java/native/docs/EnumStringRef.md new file mode 100644 index 00000000000..fb83c009ffa --- /dev/null +++ b/samples/client/echo_api/java/native/docs/EnumStringRef.md @@ -0,0 +1,15 @@ + + +# EnumStringRef + +## Enum + + +* `SUCCESS` (value: `"success"`) + +* `FAILURE` (value: `"failure"`) + +* `UNCLASSIFIED` (value: `"unclassified"`) + + + diff --git a/samples/client/echo_api/java/native/docs/StringEnumRef.md b/samples/client/echo_api/java/native/docs/StringEnumRef.md new file mode 100644 index 00000000000..dff22ecf074 --- /dev/null +++ b/samples/client/echo_api/java/native/docs/StringEnumRef.md @@ -0,0 +1,15 @@ + + +# StringEnumRef + +## Enum + + +* `SUCCESS` (value: `"success"`) + +* `FAILURE` (value: `"failure"`) + +* `UNCLASSIFIED` (value: `"unclassified"`) + + + diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/DefaultValue.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/DefaultValue.java index 4b8d34854ca..ff6d609c5b4 100644 --- a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/DefaultValue.java +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/DefaultValue.java @@ -27,6 +27,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.util.ArrayList; import java.util.List; +import org.openapitools.client.model.StringEnumRef; import org.openapitools.jackson.nullable.JsonNullable; import com.fasterxml.jackson.annotation.JsonIgnore; import org.openapitools.jackson.nullable.JsonNullable; @@ -38,6 +39,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; * to test the default value of properties */ @JsonPropertyOrder({ + DefaultValue.JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT, DefaultValue.JSON_PROPERTY_ARRAY_STRING_ENUM_DEFAULT, DefaultValue.JSON_PROPERTY_ARRAY_STRING_DEFAULT, DefaultValue.JSON_PROPERTY_ARRAY_INTEGER_DEFAULT, @@ -47,6 +49,9 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; }) @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class DefaultValue { + public static final String JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT = "array_string_enum_ref_default"; + private List arrayStringEnumRefDefault = new ArrayList<>(Arrays.asList(StringEnumRef.SUCCESS, StringEnumRef.FAILURE)); + /** * Gets or Sets arrayStringEnumDefault */ @@ -105,6 +110,39 @@ public class DefaultValue { public DefaultValue() { } + public DefaultValue arrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + return this; + } + + public DefaultValue addArrayStringEnumRefDefaultItem(StringEnumRef arrayStringEnumRefDefaultItem) { + if (this.arrayStringEnumRefDefault == null) { + this.arrayStringEnumRefDefault = new ArrayList<>(); + } + this.arrayStringEnumRefDefault.add(arrayStringEnumRefDefaultItem); + return this; + } + + /** + * Get arrayStringEnumRefDefault + * @return arrayStringEnumRefDefault + **/ + @javax.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getArrayStringEnumRefDefault() { + return arrayStringEnumRefDefault; + } + + + @JsonProperty(JSON_PROPERTY_ARRAY_STRING_ENUM_REF_DEFAULT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setArrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + } + + public DefaultValue arrayStringEnumDefault(List arrayStringEnumDefault) { this.arrayStringEnumDefault = arrayStringEnumDefault; return this; @@ -327,7 +365,8 @@ public class DefaultValue { return false; } DefaultValue defaultValue = (DefaultValue) o; - return Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && + return Objects.equals(this.arrayStringEnumRefDefault, defaultValue.arrayStringEnumRefDefault) && + Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && Objects.equals(this.arrayStringDefault, defaultValue.arrayStringDefault) && Objects.equals(this.arrayIntegerDefault, defaultValue.arrayIntegerDefault) && Objects.equals(this.arrayString, defaultValue.arrayString) && @@ -341,7 +380,7 @@ public class DefaultValue { @Override public int hashCode() { - return Objects.hash(arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, hashCodeNullable(arrayStringNullable), hashCodeNullable(stringNullable)); + return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, hashCodeNullable(arrayStringNullable), hashCodeNullable(stringNullable)); } private static int hashCodeNullable(JsonNullable a) { @@ -355,6 +394,7 @@ public class DefaultValue { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class DefaultValue {\n"); + sb.append(" arrayStringEnumRefDefault: ").append(toIndentedString(arrayStringEnumRefDefault)).append("\n"); sb.append(" arrayStringEnumDefault: ").append(toIndentedString(arrayStringEnumDefault)).append("\n"); sb.append(" arrayStringDefault: ").append(toIndentedString(arrayStringDefault)).append("\n"); sb.append(" arrayIntegerDefault: ").append(toIndentedString(arrayIntegerDefault)).append("\n"); @@ -408,6 +448,17 @@ public class DefaultValue { StringJoiner joiner = new StringJoiner("&"); + // add `array_string_enum_ref_default` to the URL query string + if (getArrayStringEnumRefDefault() != null) { + for (int i = 0; i < getArrayStringEnumRefDefault().size(); i++) { + if (getArrayStringEnumRefDefault().get(i) != null) { + joiner.add(String.format("%sarray_string_enum_ref_default%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + URLEncoder.encode(String.valueOf(getArrayStringEnumRefDefault().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + // add `array_string_enum_default` to the URL query string if (getArrayStringEnumDefault() != null) { for (int i = 0; i < getArrayStringEnumDefault().size(); i++) { diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/EnumStringRef.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/EnumStringRef.java new file mode 100644 index 00000000000..d441653c774 --- /dev/null +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/EnumStringRef.java @@ -0,0 +1,81 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Arrays; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets EnumStringRef + */ +public enum EnumStringRef { + + SUCCESS("success"), + + FAILURE("failure"), + + UNCLASSIFIED("unclassified"); + + private String value; + + EnumStringRef(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRef fromValue(String value) { + for (EnumStringRef b : EnumStringRef.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + +} + diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/StringEnumRef.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/StringEnumRef.java new file mode 100644 index 00000000000..0f243c8e45a --- /dev/null +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/StringEnumRef.java @@ -0,0 +1,81 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Arrays; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets StringEnumRef + */ +public enum StringEnumRef { + + SUCCESS("success"), + + FAILURE("failure"), + + UNCLASSIFIED("unclassified"); + + private String value; + + StringEnumRef(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static StringEnumRef fromValue(String value) { + for (StringEnumRef b : StringEnumRef.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + +} + diff --git a/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java index 0f303c0ac2b..d977367e873 100644 --- a/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java +++ b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java @@ -150,6 +150,10 @@ public class CustomTest { public void testArrayDefaultValues() { // test array default values DefaultValue d = new DefaultValue(); + Assert.assertEquals(d.getArrayStringEnumRefDefault().size(), 2); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(0), StringEnumRef.SUCCESS); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(1), StringEnumRef.FAILURE); + Assert.assertEquals(d.getArrayStringEnumDefault().size(), 2); Assert.assertEquals(d.getArrayStringEnumDefault().get(0), DefaultValue.ArrayStringEnumDefaultEnum.SUCCESS); Assert.assertEquals(d.getArrayStringEnumDefault().get(1), DefaultValue.ArrayStringEnumDefaultEnum.FAILURE); @@ -188,6 +192,10 @@ public class CustomTest { DefaultValue d = apiClient.getObjectMapper().readValue(str, new TypeReference() { }); + Assert.assertEquals(d.getArrayStringEnumRefDefault().size(), 2); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(0), StringEnumRef.SUCCESS); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(1), StringEnumRef.FAILURE); + Assert.assertEquals(d.getArrayStringEnumDefault().size(), 2); Assert.assertEquals(d.getArrayStringEnumDefault().get(0), DefaultValue.ArrayStringEnumDefaultEnum.SUCCESS); Assert.assertEquals(d.getArrayStringEnumDefault().get(1), DefaultValue.ArrayStringEnumDefaultEnum.FAILURE); @@ -203,18 +211,21 @@ public class CustomTest { Assert.assertNull(d.getArrayStringNullable()); Assert.assertEquals(d.getArrayString().size(), 0); - Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_default\":[\"success\",\"failure\"],\"array_string_default\":[\"failure\",\"skipped\"],\"array_integer_default\":[1,3],\"array_string\":[]}"); + Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_ref_default\":[\"success\",\"failure\"],\"array_string_enum_default\":[\"success\",\"failure\"],\"array_string_default\":[\"failure\",\"skipped\"],\"array_integer_default\":[1,3],\"array_string\":[]}"); } @Test public void testDefaultValuesSerializationWithJSONString() throws IOException { ApiClient apiClient = new ApiClient(); - String str = "{ \"array_string_enum_default\": [\"unclassified\"], \"array_string_default\": [\"failure\"] }"; + String str = "{ \"array_string_enum_ref_default\": [\"unclassified\"], \"array_string_enum_default\": [\"unclassified\"], \"array_string_default\": [\"failure\"] }"; DefaultValue d = apiClient.getObjectMapper().readValue(str, new TypeReference() { }); + Assert.assertEquals(d.getArrayStringEnumRefDefault().size(), 1); + Assert.assertEquals(d.getArrayStringEnumRefDefault().get(0), StringEnumRef.UNCLASSIFIED); + Assert.assertEquals(d.getArrayStringEnumDefault().size(), 1); Assert.assertEquals(d.getArrayStringEnumDefault().get(0), DefaultValue.ArrayStringEnumDefaultEnum.UNCLASSIFIED); @@ -228,7 +239,7 @@ public class CustomTest { Assert.assertNull(d.getArrayStringNullable()); Assert.assertEquals(d.getArrayString().size(), 0); - Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_default\":[\"unclassified\"],\"array_string_default\":[\"failure\"],\"array_integer_default\":[1,3],\"array_string\":[]}"); + Assert.assertEquals(apiClient.getObjectMapper().writeValueAsString(d), "{\"array_string_enum_ref_default\":[\"unclassified\"],\"array_string_enum_default\":[\"unclassified\"],\"array_string_default\":[\"failure\"],\"array_integer_default\":[1,3],\"array_string\":[]}"); } @Test @@ -247,7 +258,6 @@ public class CustomTest { } } - /** * Test form parameter(s) * diff --git a/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/model/EnumStringRefTest.java b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/model/EnumStringRefTest.java new file mode 100644 index 00000000000..3621b1d0af5 --- /dev/null +++ b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/model/EnumStringRefTest.java @@ -0,0 +1,33 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for EnumStringRef + */ +public class EnumStringRefTest { + /** + * Model tests for EnumStringRef + */ + @Test + public void testEnumStringRef() { + // TODO: test EnumStringRef + } + +} diff --git a/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/model/StringEnumRefTest.java b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/model/StringEnumRefTest.java new file mode 100644 index 00000000000..81d7f918ea0 --- /dev/null +++ b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/model/StringEnumRefTest.java @@ -0,0 +1,33 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Model tests for StringEnumRef + */ +public class StringEnumRefTest { + /** + * Model tests for StringEnumRef + */ + @Test + public void testStringEnumRef() { + // TODO: test StringEnumRef + } + +} diff --git a/samples/client/echo_api/java/okhttp-gson/.openapi-generator/FILES b/samples/client/echo_api/java/okhttp-gson/.openapi-generator/FILES index b18555d7e9c..e9d00ee6961 100644 --- a/samples/client/echo_api/java/okhttp-gson/.openapi-generator/FILES +++ b/samples/client/echo_api/java/okhttp-gson/.openapi-generator/FILES @@ -17,6 +17,7 @@ docs/PathApi.md docs/Pet.md docs/Query.md docs/QueryApi.md +docs/StringEnumRef.md docs/Tag.md docs/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.md docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md @@ -59,6 +60,7 @@ src/main/java/org/openapitools/client/model/DataQueryAllOf.java src/main/java/org/openapitools/client/model/DefaultValue.java src/main/java/org/openapitools/client/model/Pet.java src/main/java/org/openapitools/client/model/Query.java +src/main/java/org/openapitools/client/model/StringEnumRef.java src/main/java/org/openapitools/client/model/Tag.java src/main/java/org/openapitools/client/model/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.java src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java diff --git a/samples/client/echo_api/java/okhttp-gson/README.md b/samples/client/echo_api/java/okhttp-gson/README.md index f31b2215722..8ca79ebc5f3 100644 --- a/samples/client/echo_api/java/okhttp-gson/README.md +++ b/samples/client/echo_api/java/okhttp-gson/README.md @@ -135,6 +135,7 @@ Class | Method | HTTP request | Description - [DefaultValue](docs/DefaultValue.md) - [Pet](docs/Pet.md) - [Query](docs/Query.md) + - [StringEnumRef](docs/StringEnumRef.md) - [Tag](docs/Tag.md) - [TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter](docs/TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter.md) - [TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md) diff --git a/samples/client/echo_api/java/okhttp-gson/api/openapi.yaml b/samples/client/echo_api/java/okhttp-gson/api/openapi.yaml index b3189f65ed3..434f74aa47d 100644 --- a/samples/client/echo_api/java/okhttp-gson/api/openapi.yaml +++ b/samples/client/echo_api/java/okhttp-gson/api/openapi.yaml @@ -377,9 +377,22 @@ components: type: object xml: name: pet + StringEnumRef: + enum: + - success + - failure + - unclassified + type: string DefaultValue: description: to test the default value of properties properties: + array_string_enum_ref_default: + default: + - success + - failure + items: + $ref: '#/components/schemas/StringEnumRef' + type: array array_string_enum_default: default: - success diff --git a/samples/client/echo_api/java/okhttp-gson/docs/DefaultValue.md b/samples/client/echo_api/java/okhttp-gson/docs/DefaultValue.md index ea7323bc04d..2eda5b585b0 100644 --- a/samples/client/echo_api/java/okhttp-gson/docs/DefaultValue.md +++ b/samples/client/echo_api/java/okhttp-gson/docs/DefaultValue.md @@ -8,6 +8,7 @@ to test the default value of properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**arrayStringEnumRefDefault** | **List<StringEnumRef>** | | [optional] | |**arrayStringEnumDefault** | [**List<ArrayStringEnumDefaultEnum>**](#List<ArrayStringEnumDefaultEnum>) | | [optional] | |**arrayStringDefault** | **List<String>** | | [optional] | |**arrayIntegerDefault** | **List<Integer>** | | [optional] | diff --git a/samples/client/echo_api/java/okhttp-gson/docs/StringEnumRef.md b/samples/client/echo_api/java/okhttp-gson/docs/StringEnumRef.md new file mode 100644 index 00000000000..dff22ecf074 --- /dev/null +++ b/samples/client/echo_api/java/okhttp-gson/docs/StringEnumRef.md @@ -0,0 +1,15 @@ + + +# StringEnumRef + +## Enum + + +* `SUCCESS` (value: `"success"`) + +* `FAILURE` (value: `"failure"`) + +* `UNCLASSIFIED` (value: `"unclassified"`) + + + diff --git a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/DefaultValue.java b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/DefaultValue.java index a24a511f4d9..294d0c28118 100644 --- a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/DefaultValue.java +++ b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/DefaultValue.java @@ -23,6 +23,7 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import org.openapitools.client.model.StringEnumRef; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -51,6 +52,10 @@ import org.openapitools.client.JSON; */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class DefaultValue { + public static final String SERIALIZED_NAME_ARRAY_STRING_ENUM_REF_DEFAULT = "array_string_enum_ref_default"; + @SerializedName(SERIALIZED_NAME_ARRAY_STRING_ENUM_REF_DEFAULT) + private List arrayStringEnumRefDefault = null; + /** * Gets or Sets arrayStringEnumDefault */ @@ -127,6 +132,36 @@ public class DefaultValue { public DefaultValue() { } + public DefaultValue arrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + return this; + } + + public DefaultValue addArrayStringEnumRefDefaultItem(StringEnumRef arrayStringEnumRefDefaultItem) { + if (this.arrayStringEnumRefDefault == null) { + this.arrayStringEnumRefDefault = new ArrayList<>(Arrays.asList(StringEnumRef.SUCCESS, StringEnumRef.FAILURE)); + } + this.arrayStringEnumRefDefault.add(arrayStringEnumRefDefaultItem); + return this; + } + + /** + * Get arrayStringEnumRefDefault + * @return arrayStringEnumRefDefault + **/ + @javax.annotation.Nullable + + public List getArrayStringEnumRefDefault() { + return arrayStringEnumRefDefault; + } + + + public void setArrayStringEnumRefDefault(List arrayStringEnumRefDefault) { + this.arrayStringEnumRefDefault = arrayStringEnumRefDefault; + } + + public DefaultValue arrayStringEnumDefault(List arrayStringEnumDefault) { this.arrayStringEnumDefault = arrayStringEnumDefault; @@ -309,7 +344,8 @@ public class DefaultValue { return false; } DefaultValue defaultValue = (DefaultValue) o; - return Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && + return Objects.equals(this.arrayStringEnumRefDefault, defaultValue.arrayStringEnumRefDefault) && + Objects.equals(this.arrayStringEnumDefault, defaultValue.arrayStringEnumDefault) && Objects.equals(this.arrayStringDefault, defaultValue.arrayStringDefault) && Objects.equals(this.arrayIntegerDefault, defaultValue.arrayIntegerDefault) && Objects.equals(this.arrayString, defaultValue.arrayString) && @@ -323,7 +359,7 @@ public class DefaultValue { @Override public int hashCode() { - return Objects.hash(arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, arrayStringNullable, stringNullable); + return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, arrayStringNullable, stringNullable); } private static int hashCodeNullable(JsonNullable a) { @@ -337,6 +373,7 @@ public class DefaultValue { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class DefaultValue {\n"); + sb.append(" arrayStringEnumRefDefault: ").append(toIndentedString(arrayStringEnumRefDefault)).append("\n"); sb.append(" arrayStringEnumDefault: ").append(toIndentedString(arrayStringEnumDefault)).append("\n"); sb.append(" arrayStringDefault: ").append(toIndentedString(arrayStringDefault)).append("\n"); sb.append(" arrayIntegerDefault: ").append(toIndentedString(arrayIntegerDefault)).append("\n"); @@ -365,6 +402,7 @@ public class DefaultValue { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("array_string_enum_ref_default"); openapiFields.add("array_string_enum_default"); openapiFields.add("array_string_default"); openapiFields.add("array_integer_default"); @@ -397,6 +435,10 @@ public class DefaultValue { } } // ensure the optional json data is an array if present + if (jsonObj.get("array_string_enum_ref_default") != null && !jsonObj.get("array_string_enum_ref_default").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `array_string_enum_ref_default` to be an array in the JSON string but got `%s`", jsonObj.get("array_string_enum_ref_default").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("array_string_enum_default") != null && !jsonObj.get("array_string_enum_default").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `array_string_enum_default` to be an array in the JSON string but got `%s`", jsonObj.get("array_string_enum_default").toString())); } diff --git a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/StringEnumRef.java b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/StringEnumRef.java new file mode 100644 index 00000000000..f83be8ae238 --- /dev/null +++ b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/model/StringEnumRef.java @@ -0,0 +1,75 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Gets or Sets StringEnumRef + */ +@JsonAdapter(StringEnumRef.Adapter.class) +public enum StringEnumRef { + + SUCCESS("success"), + + FAILURE("failure"), + + UNCLASSIFIED("unclassified"); + + private String value; + + StringEnumRef(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StringEnumRef fromValue(String value) { + for (StringEnumRef b : StringEnumRef.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StringEnumRef enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StringEnumRef read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StringEnumRef.fromValue(value); + } + } +} + diff --git a/samples/client/echo_api/java/okhttp-gson/src/test/java/org/openapitools/client/model/StringEnumRefTest.java b/samples/client/echo_api/java/okhttp-gson/src/test/java/org/openapitools/client/model/StringEnumRefTest.java new file mode 100644 index 00000000000..800e47ace28 --- /dev/null +++ b/samples/client/echo_api/java/okhttp-gson/src/test/java/org/openapitools/client/model/StringEnumRefTest.java @@ -0,0 +1,33 @@ +/* + * Echo Server API + * Echo Server API + * + * The version of the OpenAPI document: 0.1.0 + * Contact: team@openapitools.org + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.openapitools.client.model; + +import com.google.gson.annotations.SerializedName; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + + +/** + * Model tests for StringEnumRef + */ +public class StringEnumRefTest { + /** + * Model tests for StringEnumRef + */ + @Test + public void testStringEnumRef() { + // TODO: test StringEnumRef + } + +}