[Java] better default value handling (#14130)

* add test for array default value

* update null return

* minor fixes

* move default value tests to echo api spec

* add new files

* remove unused files

* fix enum array default, add tests

* better array init

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Co-authored-by: Leonard Brünings <lord_damokles@gmx.net>

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Co-authored-by: Leonard Brünings <lord_damokles@gmx.net>

* revert the fix

* improve default value handling

* update native samples, add tests

* update samples

* fix tests

* use conditional test for timezone

* add tests to apache http client echo api

* add option to default container to null

* fix map default value

* minor refactoring

* update samples

* fix javadoc

* fix pom.xml

* add tests in java native echo client

* add java apache client echo tests

* fix test

* fix test

---------

Co-authored-by: Leonard Brünings <lord_damokles@gmx.net>
This commit is contained in:
William Cheng
2023-01-30 20:19:00 +08:00
committed by GitHub
parent b3527348f3
commit fd45b74128
290 changed files with 3687 additions and 650 deletions

View File

@@ -33,35 +33,35 @@ import java.util.Map;
public class AdditionalPropertiesClass {
public static final String SERIALIZED_NAME_MAP_STRING = "map_string";
@SerializedName(SERIALIZED_NAME_MAP_STRING)
private Map<String, String> mapString = null;
private Map<String, String> mapString = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_NUMBER = "map_number";
@SerializedName(SERIALIZED_NAME_MAP_NUMBER)
private Map<String, BigDecimal> mapNumber = null;
private Map<String, BigDecimal> mapNumber = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_INTEGER = "map_integer";
@SerializedName(SERIALIZED_NAME_MAP_INTEGER)
private Map<String, Integer> mapInteger = null;
private Map<String, Integer> mapInteger = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_BOOLEAN = "map_boolean";
@SerializedName(SERIALIZED_NAME_MAP_BOOLEAN)
private Map<String, Boolean> mapBoolean = null;
private Map<String, Boolean> mapBoolean = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_ARRAY_INTEGER = "map_array_integer";
@SerializedName(SERIALIZED_NAME_MAP_ARRAY_INTEGER)
private Map<String, List<Integer>> mapArrayInteger = null;
private Map<String, List<Integer>> mapArrayInteger = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_ARRAY_ANYTYPE = "map_array_anytype";
@SerializedName(SERIALIZED_NAME_MAP_ARRAY_ANYTYPE)
private Map<String, List<Object>> mapArrayAnytype = null;
private Map<String, List<Object>> mapArrayAnytype = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_MAP_STRING = "map_map_string";
@SerializedName(SERIALIZED_NAME_MAP_MAP_STRING)
private Map<String, Map<String, String>> mapMapString = null;
private Map<String, Map<String, String>> mapMapString = new HashMap<>();
public static final String SERIALIZED_NAME_MAP_MAP_ANYTYPE = "map_map_anytype";
@SerializedName(SERIALIZED_NAME_MAP_MAP_ANYTYPE)
private Map<String, Map<String, Object>> mapMapAnytype = null;
private Map<String, Map<String, Object>> mapMapAnytype = new HashMap<>();
public static final String SERIALIZED_NAME_ANYTYPE1 = "anytype_1";
@SerializedName(SERIALIZED_NAME_ANYTYPE1)

View File

@@ -32,7 +32,7 @@ import java.util.List;
public class ArrayOfArrayOfNumberOnly {
public static final String SERIALIZED_NAME_ARRAY_ARRAY_NUMBER = "ArrayArrayNumber";
@SerializedName(SERIALIZED_NAME_ARRAY_ARRAY_NUMBER)
private List<List<BigDecimal>> arrayArrayNumber = null;
private List<List<BigDecimal>> arrayArrayNumber = new ArrayList<>();
public ArrayOfArrayOfNumberOnly() {
}

View File

@@ -32,7 +32,7 @@ import java.util.List;
public class ArrayOfNumberOnly {
public static final String SERIALIZED_NAME_ARRAY_NUMBER = "ArrayNumber";
@SerializedName(SERIALIZED_NAME_ARRAY_NUMBER)
private List<BigDecimal> arrayNumber = null;
private List<BigDecimal> arrayNumber = new ArrayList<>();
public ArrayOfNumberOnly() {
}

View File

@@ -32,15 +32,15 @@ import org.openapitools.client.model.ReadOnlyFirst;
public class ArrayTest {
public static final String SERIALIZED_NAME_ARRAY_OF_STRING = "array_of_string";
@SerializedName(SERIALIZED_NAME_ARRAY_OF_STRING)
private List<String> arrayOfString = null;
private List<String> arrayOfString = new ArrayList<>();
public static final String SERIALIZED_NAME_ARRAY_ARRAY_OF_INTEGER = "array_array_of_integer";
@SerializedName(SERIALIZED_NAME_ARRAY_ARRAY_OF_INTEGER)
private List<List<Long>> arrayArrayOfInteger = null;
private List<List<Long>> arrayArrayOfInteger = new ArrayList<>();
public static final String SERIALIZED_NAME_ARRAY_ARRAY_OF_MODEL = "array_array_of_model";
@SerializedName(SERIALIZED_NAME_ARRAY_ARRAY_OF_MODEL)
private List<List<ReadOnlyFirst>> arrayArrayOfModel = null;
private List<List<ReadOnlyFirst>> arrayArrayOfModel = new ArrayList<>();
public ArrayTest() {
}

View File

@@ -129,7 +129,7 @@ public class EnumArrays {
public static final String SERIALIZED_NAME_ARRAY_ENUM = "array_enum";
@SerializedName(SERIALIZED_NAME_ARRAY_ENUM)
private List<ArrayEnumEnum> arrayEnum = null;
private List<ArrayEnumEnum> arrayEnum = new ArrayList<>();
public EnumArrays() {
}

View File

@@ -36,7 +36,7 @@ public class FileSchemaTestClass {
public static final String SERIALIZED_NAME_FILES = "files";
@SerializedName(SERIALIZED_NAME_FILES)
private List<ModelFile> files = null;
private List<ModelFile> files = new ArrayList<>();
public FileSchemaTestClass() {
}

View File

@@ -31,7 +31,7 @@ import java.util.Map;
public class MapTest {
public static final String SERIALIZED_NAME_MAP_MAP_OF_STRING = "map_map_of_string";
@SerializedName(SERIALIZED_NAME_MAP_MAP_OF_STRING)
private Map<String, Map<String, String>> mapMapOfString = null;
private Map<String, Map<String, String>> mapMapOfString = new HashMap<>();
/**
* Gets or Sets inner
@@ -82,15 +82,15 @@ public class MapTest {
public static final String SERIALIZED_NAME_MAP_OF_ENUM_STRING = "map_of_enum_string";
@SerializedName(SERIALIZED_NAME_MAP_OF_ENUM_STRING)
private Map<String, InnerEnum> mapOfEnumString = null;
private Map<String, InnerEnum> mapOfEnumString = new HashMap<>();
public static final String SERIALIZED_NAME_DIRECT_MAP = "direct_map";
@SerializedName(SERIALIZED_NAME_DIRECT_MAP)
private Map<String, Boolean> directMap = null;
private Map<String, Boolean> directMap = new HashMap<>();
public static final String SERIALIZED_NAME_INDIRECT_MAP = "indirect_map";
@SerializedName(SERIALIZED_NAME_INDIRECT_MAP)
private Map<String, Boolean> indirectMap = null;
private Map<String, Boolean> indirectMap = new HashMap<>();
public MapTest() {
}

View File

@@ -42,7 +42,7 @@ public class MixedPropertiesAndAdditionalPropertiesClass {
public static final String SERIALIZED_NAME_MAP = "map";
@SerializedName(SERIALIZED_NAME_MAP)
private Map<String, Animal> map = null;
private Map<String, Animal> map = new HashMap<>();
public MixedPropertiesAndAdditionalPropertiesClass() {
}

View File

@@ -51,7 +51,7 @@ public class Pet {
public static final String SERIALIZED_NAME_TAGS = "tags";
@SerializedName(SERIALIZED_NAME_TAGS)
private List<Tag> tags = null;
private List<Tag> tags = new ArrayList<>();
/**
* pet status in the store

View File

@@ -48,7 +48,7 @@ public class XmlItem {
public static final String SERIALIZED_NAME_WRAPPED_ARRAY = "wrapped_array";
@SerializedName(SERIALIZED_NAME_WRAPPED_ARRAY)
private List<Integer> wrappedArray = null;
private List<Integer> wrappedArray = new ArrayList<>();
public static final String SERIALIZED_NAME_NAME_STRING = "name_string";
@SerializedName(SERIALIZED_NAME_NAME_STRING)
@@ -68,11 +68,11 @@ public class XmlItem {
public static final String SERIALIZED_NAME_NAME_ARRAY = "name_array";
@SerializedName(SERIALIZED_NAME_NAME_ARRAY)
private List<Integer> nameArray = null;
private List<Integer> nameArray = new ArrayList<>();
public static final String SERIALIZED_NAME_NAME_WRAPPED_ARRAY = "name_wrapped_array";
@SerializedName(SERIALIZED_NAME_NAME_WRAPPED_ARRAY)
private List<Integer> nameWrappedArray = null;
private List<Integer> nameWrappedArray = new ArrayList<>();
public static final String SERIALIZED_NAME_PREFIX_STRING = "prefix_string";
@SerializedName(SERIALIZED_NAME_PREFIX_STRING)
@@ -92,11 +92,11 @@ public class XmlItem {
public static final String SERIALIZED_NAME_PREFIX_ARRAY = "prefix_array";
@SerializedName(SERIALIZED_NAME_PREFIX_ARRAY)
private List<Integer> prefixArray = null;
private List<Integer> prefixArray = new ArrayList<>();
public static final String SERIALIZED_NAME_PREFIX_WRAPPED_ARRAY = "prefix_wrapped_array";
@SerializedName(SERIALIZED_NAME_PREFIX_WRAPPED_ARRAY)
private List<Integer> prefixWrappedArray = null;
private List<Integer> prefixWrappedArray = new ArrayList<>();
public static final String SERIALIZED_NAME_NAMESPACE_STRING = "namespace_string";
@SerializedName(SERIALIZED_NAME_NAMESPACE_STRING)
@@ -116,11 +116,11 @@ public class XmlItem {
public static final String SERIALIZED_NAME_NAMESPACE_ARRAY = "namespace_array";
@SerializedName(SERIALIZED_NAME_NAMESPACE_ARRAY)
private List<Integer> namespaceArray = null;
private List<Integer> namespaceArray = new ArrayList<>();
public static final String SERIALIZED_NAME_NAMESPACE_WRAPPED_ARRAY = "namespace_wrapped_array";
@SerializedName(SERIALIZED_NAME_NAMESPACE_WRAPPED_ARRAY)
private List<Integer> namespaceWrappedArray = null;
private List<Integer> namespaceWrappedArray = new ArrayList<>();
public static final String SERIALIZED_NAME_PREFIX_NS_STRING = "prefix_ns_string";
@SerializedName(SERIALIZED_NAME_PREFIX_NS_STRING)
@@ -140,11 +140,11 @@ public class XmlItem {
public static final String SERIALIZED_NAME_PREFIX_NS_ARRAY = "prefix_ns_array";
@SerializedName(SERIALIZED_NAME_PREFIX_NS_ARRAY)
private List<Integer> prefixNsArray = null;
private List<Integer> prefixNsArray = new ArrayList<>();
public static final String SERIALIZED_NAME_PREFIX_NS_WRAPPED_ARRAY = "prefix_ns_wrapped_array";
@SerializedName(SERIALIZED_NAME_PREFIX_NS_WRAPPED_ARRAY)
private List<Integer> prefixNsWrappedArray = null;
private List<Integer> prefixNsWrappedArray = new ArrayList<>();
public XmlItem() {
}