[java] Fix enum ref issue in array default value (#14638)

* fix enum ref issue in array default value (java)

* update samples

* update tests

* update samples
This commit is contained in:
William Cheng
2023-02-07 21:49:30 +08:00
committed by GitHub
parent cda3517891
commit bbc42696ab
38 changed files with 918 additions and 18 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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] |

View File

@@ -0,0 +1,15 @@
# StringEnumRef
## Enum
* `SUCCESS` (value: `"success"`)
* `FAILURE` (value: `"failure"`)
* `UNCLASSIFIED` (value: `"unclassified"`)

View File

@@ -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<StringEnumRef> arrayStringEnumRefDefault = null;
/**
* Gets or Sets arrayStringEnumDefault
*/
@@ -127,6 +132,36 @@ public class DefaultValue {
public DefaultValue() {
}
public DefaultValue arrayStringEnumRefDefault(List<StringEnumRef> 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<StringEnumRef> getArrayStringEnumRefDefault() {
return arrayStringEnumRefDefault;
}
public void setArrayStringEnumRefDefault(List<StringEnumRef> arrayStringEnumRefDefault) {
this.arrayStringEnumRefDefault = arrayStringEnumRefDefault;
}
public DefaultValue arrayStringEnumDefault(List<ArrayStringEnumDefaultEnum> 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 <T> int hashCodeNullable(JsonNullable<T> 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<String>();
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()));
}

View File

@@ -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<StringEnumRef> {
@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);
}
}
}

View File

@@ -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
}
}