* add error body and type to api exception class
* add option to specify error object
* add option, update api doc with better error handling
* update samples
* update doc
* add custom gson deserializer
* add check for additional fields, required fields
* add tests for custom deserializer
* add custom adapter
* add custom adapter
* register type adapter factory
* comment out custom deserializer and use adapter instead
* add okhttp-gson-nextgen
* add new files
* restore okhttp-gson
* switch to adapter
* remove custom de/serializer
* add comment
* update tests
* test nextgen in ci
* update doc
* use full model name in JSON.java
* undo changes
* add oneof discriminator support
* fix anyOf
* remove mappings
* add more tests
* fix oneof deserialization, add more tests
* add error body and type to api exception class
* JSON to use instance variables/methods
* Revert "add error body and type to api exception class"
This reverts commit 07f34e2c450ad9f808b728173018b1e4d8fed458.
The [docs for ofInputStream](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.BodySubscribers.html#ofInputStream()) say:
> To ensure that all resources associated with the corresponding exchange are properly released the caller must ensure to either read all lines until the stream is exhausted, or call BaseStream.close() if it is unable or unwilling to do so. Calling close before exhausting the stream may cause the underlying HTTP connection to be closed and prevent it from being reused for subsequent operations.
When ObjectMapper.readValue is called with an InputStream it implicitly closes it, but when the library is not expecting a return type it's not passing the InputStream to Jackson, so the stream needs to be manually drained and closed as per the docs
Failure to do this leads to a leak of HttpClient socket handles, and ultimately the exception `java.net.BindException: Cannot assign requested address` when trying to make API calls
* Add Operation Servers to {operation}Call method
* add getter/setter methods
Add methods for hostIndex and customBaseUrl
* Fix return types for getters
* Add custom baseUrl logic
if you dont specifically declare a custom base url using the set method then it uses the 1st server in the operation host index array
if no custom url is set and the operation base path array is empty however, the call throws an exception
* Update server selection logic
First checks to see if a custom url is provided
If not, checks to see if operation level server is defined and uses the supplied host index (default 0)
If neither is supplied, uses the ApiClient default base path
* Update samples and docs
* [Java] deserialize to LinkedHashSet when unique items
* [Java] fix deserialization of readonly properties
* [Java] deserialize to LinkedHashSet when unique items
* Make Java libraries compatible with Gradle 7
* Make kotlin-spring compatible with Gradle 7
* Update samples to comply to Gradle 7.2
* Generate samples
* Add .circleci/config.yml
* Add Http status to the feign response wrapper
* Add Http status to the feign response wrapper
* Add Http status to the feign response wrapper
Fix typo
* Add Http status to the feign response wrapper
Fix typo
* Rename HttpResponse to ApiResponse
* Add .circleci/config.yml
* Add the property exposeResponseHeaders to feign client
This new property indicates if the feign client should expose the response headers on the API class.
* Generate new docs for exposeResponseHeaders additional property
* Rename HeaderAwareResponse to HttpResponse
* Update samples
* Refactor the implementation to use the same approach as the c# generator.
Creates a new feign operation with the suffix WithHttpInfo, this operation returns the response encapsulated in a HttpResponse class.
The HttpResponse class contains the decoded body and the response headers
* Refactor the implementation to use the same approach as the c# generator.
Generate samples
* Refactor the implementation to use the same approach as the c# generator.
Generate docs
* Use Void instead of void for HttpResponse parameterized type
* Migrate javax.annotation:javax.annotation-api to
jakarta.annotation:jakarta.annotation-api:1.3.5
* Migrate javax.annotation:javax.annotation-api to
jakarta.annotation:jakarta.annotation-api:1.3.5 for sbt
* Migrate javax.annotation:javax.annotation-api to
jakarta.annotation:jakarta.annotation-api:1.3.5 for gradle
* Commit samples files after the execution of the command
"generate-samples.sh for configs java and kotlin
* Delete org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec
from the exclusion section of org.jboss.resteasy:resteasy-client in the
resteasy module because jboss-annotations-api_1.2_spec isn't a
transitive dependency
* Migrate javax.validation:validation-api to
jakarta.validation:jakarta.validation-api:2.0.2 for maven
* Migrate javax.validation:validation-api to
jakarta.validation:jakarta.validation-api:2.0.2 for gradle
* Migrate javax.validation:validation-api to
jakarta.validation:jakarta.validation-api:2.0.2 for sbt
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.ws.rs:javax.ws.rs-api to
jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.json.bind:javax.json.bind-api to
jakarta.json.bind:jakarta.json.bind-api:1.0.2 for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.json:javax.json-api to jakarta.json:jakarta.json-api:1.1.6
for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.xml.bind:jaxb-api to
jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 for maven
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.el:el-api to jakarta.el:jakarta.el-api:3.0.3 for maven
* Migrate javax.servlet:servlet-api to
jakarta.servlet:jakarta.servlet-api:4.0.4 for maven
* Delete the property servlet-api-version in pom files because it is
useless
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Migrate javax.activation:activation to
jakarta.activation:jakarta.activation-api:1.2.2 for maven
* Delete javax.activation:activation from the exclusion section of
org.jboss.resteasy:resteasy-client in the resteasy module because
javax.activation:activation isn't a transitive dependency
* Commit samples files after the execution of the command
"generate-samples.sh for configs java, spring, jaxrs and kotlin
* Fix the name of property jakarta.activation-version
* Fix a missing property 'jakarta-annotation-version' in
JavaJaxRS/resteasy/pom.mustache
* generate samples
* Fix version value of jakarta.validation-api artifact in
Java/libraries/rest-assured/pom.mustache
* Fix missing property jakarta-annotation-version in
jaxrs-resteasy/eap/pom.mustache
* generate samples
* Revert changes in sample files after running the command
generate-samples.sh in gitBash
* Fix files in
samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8
* Replace the old dependency javax.validation:validation-api by the new
Jakarta EE 8 jakarta.validation:jakarta.validation-api in
openapi-generator-online
Co-authored-by: rpruvost <rpruvost@ITEM-S78402.emea.msad.sopra>
Co-authored-by: rpruvost <romain.pruvost@soprasteria.com>
* Adds get/setIsString interface to IJsonSchemaValidationProperties
* Adds get/set isNumber interface in IJsonSchemaValidationProperties
* Adds get/set isAnyType in IJsonSchemaValidationProperties
* Adds and uses ModelUtils.isAnyType, adds setTypeProperties
* Adds missing descriptions of isAnyType parameters
* Uses ModelUtils.isAnyType
* Samples regenerated
* Moves isArray handling higher up in fromProperty
* Moves isAnyTypeSchema handling higher up in fromProperty
* Moves isFreeFormObject handling higher up in fromProperty
* Refactors fromProperties, updates tests
* Fixes the fromProperty refactor, tests now pass
* Uses setTypeProperties to set isNumber, isNull, isArray, and isUnboundedInteger
* Sets isAnyType in setTypeProperties
* Sets isMap in setTypeProperties
* Sets property.isPrimitiveType in isFreeFormObject, tweaks if condition order
* Adds fix for JavaClientCodegenTest.testJdkHttpClientWithAndWithoutDiscriminator
* Refactors fromProperty
* Adds updatePropertyForObject updatePropertyForAnyType
* Sets binary and file types to not be strings
* Updates samples
* Adds updatePropertyForString
* Adds testComposedPropertyTypes
* Fixes python test
* Samples updated
* Switches all isAnyTypeSchema usages to ModelUtils.isAnyType
* Refactors model enum handling higher up
* Moves m.dataType assignent higher into fromModel
* Moves m.isNullable setting higher into isModel
* Adds updateModelForComposedSchema
* Further fromModel refactoring, all schema checks are now at the same indentation level
* Further refactors fromModel, adds isTypeObjectSchema block
* Moves addVars into anyType or objectType blocks in fromModel
* Turns off isNullable n isAnyType array
* Fixes typescript CodegenParameers
* Adds updatePropertyForAnyType to typescript-axios so property.isNullable will be false for AnyType
* Adds testComposedModelTypes
* Updates ComposedAnyType schema
* Fixes tests for JavaJAXRSCXF by adding updateModelForObject method
* Updates go and csharp to handle object model differently
* Adds updateModelForAnyType
* Fixes name reference
* Adds testComposedResponseTypes
* Refactoring fromResponse
* Further refactoring of fromResponse
* Uses setTypeProperties in fromResponse
* Tests now pass for testComposedResponseTypes
* Sets COdegenResponse dataType using getTypeDeclaration
* Begins refactoring of fromRequestBody
* Adds updateResponseBodyForPrimitiveType
* Adds all needed type if else blocks in fromRequestBody
* Fixes JavaJAXRSCXFExtServerCodegenTests
* Fixes RubyClientCodegenTests
* Adds fixes for clients that need custom isMap for body parameters
* Ruby broken, samples regened, debugging
* Adds updateRequestBodyForArray, renames updateRequest.. methods
* Samples regenerated
* Removes changes from Ruby generator
* Reverts RubyClientCodegen.java
* Reverts changes to GoClientCodegen.java
* Reverts PowerShellClientCodegen.java
* Reverts CrystalClientCodegen.java
* Removes updateRequestBodyForObject from JavaCXFServerCodegen.java
* Adds comment about refed models
* Tweaks made to fromProperties to add an explanatory comment
* Updates RustServer to have ByteArray request bodies not be strings
* Sets types in fromFormProperty
* Adds testComposedRequestBodyTypes
* Fixes when validation syncing is done in syncValidationProperties
* Removes redundant validation code from fromParameter
* Moves parameter inX setting higher up before schema logic in fromParameter
* More refactoring in fromParameter, uses early return to reduce levels of indentation
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForArray
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForObject
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForPrimitiveType
* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForMap
* Removes setParameterBooleanFlagWithCodegenProperty from addBodyModelSchema
* Removes setParameterBooleanFlagWithCodegenProperty from fromFormProperty
* Refactors parameter array handling code into fromFormProperty
* Simplifies fromRequestBodyToFormParameters
* Removes setParameterBooleanFlagWithCodegenProperty from fromParameter
* Adds deprecated docstring to setParameterBooleanFlagWithCodegenProperty
* Refactors ModelUtils.isFileSchema out of string schema check
* Removes ModelUtils.isFileSchema from RustServer updateRequestBodyForString
* Improves comment text
* Fixes RustServer uuid type setting for CodegenParameter
* Removes unneeded parens
* Fixes array property examples
* Removes unused code
* Renames variable to itemsProperty
* Adds testComposedRequestQueryParamTypes
* Adds updatePropertyForAnyType to rustserver will not have changed model properties
* Hoists arrayInnerProperty._enum into parameter for html2 generator
* Moves turning string type off into the codegen files
* Adds two more missing locations in rustserver
* Moves addVarsRequiredVarsAdditionalProps into anytype and objecttype handling
* More refactoring of where addVarsRequiredVarsAdditionalProps is used
* Samples regenerated