forked from loafle/openapi-generator-original
Better handling of x-nullable in codegen property (#14800)
* add failed tests * add logic to handle x-nullable in property * update samples * update test
This commit is contained in:
@@ -43,6 +43,7 @@ import java.util.StringJoiner;
|
||||
DefaultValue.JSON_PROPERTY_ARRAY_INTEGER_DEFAULT,
|
||||
DefaultValue.JSON_PROPERTY_ARRAY_STRING,
|
||||
DefaultValue.JSON_PROPERTY_ARRAY_STRING_NULLABLE,
|
||||
DefaultValue.JSON_PROPERTY_ARRAY_STRING_EXTENSION_NULLABLE,
|
||||
DefaultValue.JSON_PROPERTY_STRING_NULLABLE
|
||||
})
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
|
||||
@@ -102,6 +103,9 @@ public class DefaultValue {
|
||||
public static final String JSON_PROPERTY_ARRAY_STRING_NULLABLE = "array_string_nullable";
|
||||
private JsonNullable<List<String>> arrayStringNullable = JsonNullable.<List<String>>undefined();
|
||||
|
||||
public static final String JSON_PROPERTY_ARRAY_STRING_EXTENSION_NULLABLE = "array_string_extension_nullable";
|
||||
private JsonNullable<List<String>> arrayStringExtensionNullable = JsonNullable.<List<String>>undefined();
|
||||
|
||||
public static final String JSON_PROPERTY_STRING_NULLABLE = "string_nullable";
|
||||
private JsonNullable<String> stringNullable = JsonNullable.<String>undefined();
|
||||
|
||||
@@ -324,6 +328,52 @@ public class DefaultValue {
|
||||
}
|
||||
|
||||
|
||||
public DefaultValue arrayStringExtensionNullable(List<String> arrayStringExtensionNullable) {
|
||||
this.arrayStringExtensionNullable = JsonNullable.<List<String>>of(arrayStringExtensionNullable);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public DefaultValue addArrayStringExtensionNullableItem(String arrayStringExtensionNullableItem) {
|
||||
if (this.arrayStringExtensionNullable == null || !this.arrayStringExtensionNullable.isPresent()) {
|
||||
this.arrayStringExtensionNullable = JsonNullable.<List<String>>of(new ArrayList<>());
|
||||
}
|
||||
try {
|
||||
this.arrayStringExtensionNullable.get().add(arrayStringExtensionNullableItem);
|
||||
} catch (java.util.NoSuchElementException e) {
|
||||
// this can never happen, as we make sure above that the value is present
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get arrayStringExtensionNullable
|
||||
* @return arrayStringExtensionNullable
|
||||
**/
|
||||
@javax.annotation.Nullable
|
||||
@JsonIgnore
|
||||
|
||||
public List<String> getArrayStringExtensionNullable() {
|
||||
return arrayStringExtensionNullable.orElse(null);
|
||||
}
|
||||
|
||||
@JsonProperty(JSON_PROPERTY_ARRAY_STRING_EXTENSION_NULLABLE)
|
||||
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
|
||||
|
||||
public JsonNullable<List<String>> getArrayStringExtensionNullable_JsonNullable() {
|
||||
return arrayStringExtensionNullable;
|
||||
}
|
||||
|
||||
@JsonProperty(JSON_PROPERTY_ARRAY_STRING_EXTENSION_NULLABLE)
|
||||
public void setArrayStringExtensionNullable_JsonNullable(JsonNullable<List<String>> arrayStringExtensionNullable) {
|
||||
this.arrayStringExtensionNullable = arrayStringExtensionNullable;
|
||||
}
|
||||
|
||||
public void setArrayStringExtensionNullable(List<String> arrayStringExtensionNullable) {
|
||||
this.arrayStringExtensionNullable = JsonNullable.<List<String>>of(arrayStringExtensionNullable);
|
||||
}
|
||||
|
||||
|
||||
public DefaultValue stringNullable(String stringNullable) {
|
||||
this.stringNullable = JsonNullable.<String>of(stringNullable);
|
||||
|
||||
@@ -373,6 +423,7 @@ public class DefaultValue {
|
||||
Objects.equals(this.arrayIntegerDefault, defaultValue.arrayIntegerDefault) &&
|
||||
Objects.equals(this.arrayString, defaultValue.arrayString) &&
|
||||
equalsNullable(this.arrayStringNullable, defaultValue.arrayStringNullable) &&
|
||||
equalsNullable(this.arrayStringExtensionNullable, defaultValue.arrayStringExtensionNullable) &&
|
||||
equalsNullable(this.stringNullable, defaultValue.stringNullable);
|
||||
}
|
||||
|
||||
@@ -382,7 +433,7 @@ public class DefaultValue {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, hashCodeNullable(arrayStringNullable), hashCodeNullable(stringNullable));
|
||||
return Objects.hash(arrayStringEnumRefDefault, arrayStringEnumDefault, arrayStringDefault, arrayIntegerDefault, arrayString, hashCodeNullable(arrayStringNullable), hashCodeNullable(arrayStringExtensionNullable), hashCodeNullable(stringNullable));
|
||||
}
|
||||
|
||||
private static <T> int hashCodeNullable(JsonNullable<T> a) {
|
||||
@@ -402,6 +453,7 @@ public class DefaultValue {
|
||||
sb.append(" arrayIntegerDefault: ").append(toIndentedString(arrayIntegerDefault)).append("\n");
|
||||
sb.append(" arrayString: ").append(toIndentedString(arrayString)).append("\n");
|
||||
sb.append(" arrayStringNullable: ").append(toIndentedString(arrayStringNullable)).append("\n");
|
||||
sb.append(" arrayStringExtensionNullable: ").append(toIndentedString(arrayStringExtensionNullable)).append("\n");
|
||||
sb.append(" stringNullable: ").append(toIndentedString(stringNullable)).append("\n");
|
||||
sb.append("}");
|
||||
return sb.toString();
|
||||
@@ -536,6 +588,20 @@ public class DefaultValue {
|
||||
}
|
||||
}
|
||||
|
||||
// add `array_string_extension_nullable` to the URL query string
|
||||
if (getArrayStringExtensionNullable() != null) {
|
||||
for (int i = 0; i < getArrayStringExtensionNullable().size(); i++) {
|
||||
try {
|
||||
joiner.add(String.format("%sarray_string_extension_nullable%s%s=%s", prefix, suffix,
|
||||
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
|
||||
URLEncoder.encode(String.valueOf(getArrayStringExtensionNullable().get(i)), "UTF-8").replaceAll("\\+", "%20")));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
// Should never happen, UTF-8 is always supported
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add `string_nullable` to the URL query string
|
||||
if (getStringNullable() != null) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user