* python-asyncio: update retry factors for actual exponential retries
As per the `aiohttp-retry` library's code[^1], the timeout is
```python
timeout = self._start_timeout * (self._factor ** attempt)
```
This means the previous setting with "start_timeout=0.0" would have
always just retried right away (0 timeout) regardless of the "factor" value,
and also, "factor=0.0" would never have increased the timeout, rather it
would have resulted in a 0 timeout regardless of the value of "start_timeout".
This double-zeroing effectively rendered exponential backoff to nothing (rather than
"retries" number of retries in quick succession.
The update is a quick fix to set the same default as in `aiohttp-retry`. In
the future this should likely be configurable (through extra Configuration settings perhaps?),
as not all APIs are created equal, but this works as a quick fix for making retries more effective.
[^1]: ba2169891f/aiohttp_retry/retry_options.py (L38-L65)
* updated example
* [Go] Fix deepObject serialization that are anyOf
Updates the go client generator to have the generated struct for anyOf types conform to `MappedNullable` interface.
Fixes query params serialization for deepObjects that are of `anyOf` type.
Implements the suggestion in https://github.com/OpenAPITools/openapi-generator/issues/19085
* check parameter style for deepObject serialization
* generate samples for go-echo-external-refs-test
* move test back to http port
* restrict to anyof models with discriminator
* update test
* add some tests
added some tests to `modules/openapi-generator/src/test/resources/3_0/go/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml` and regenerated the samples
* fix oneOf var names when no discriminator is used
* add OneOfWithComplexType to Go petstore schema
- an array of strings variant should end up with the same valid name
whether `useOneOfDiscriminatorLookup` is `true` or `false`
* use default values for required vars when available
* update tests to existing config file
* cleanup OAS test
* Remove setting value in Get.
* Use Pascal Case for variable naming in Getter Function
* add a CLI option
* add a CLI option
* add a CLI option
* Adding decimal to template for Python generator
* Rerunning the build steps
* Add tests for decimal serialization and deserialization.
* Move test to python not legacy pydantic sample
* readd old imports
---------
Co-authored-by: Adam <abolfik@pollyex.com>
* Add type annotations to raw types for jersey2 and jersey3 templates
* Update samples
* Add type parameters to anyof_model.mustache and oneof_model.mustache
---------
Co-authored-by: Kasper S. Nielsen <kasper.s.nielsen@secata.com>
* [Go] Fix an issue causing int array ref be converted into an invalid type, `[]Integer`
* Add test case: wrapped and referenced integer of an array to Go client samples
* add check for ref to property in go abstract
* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java
Co-authored-by: Zhiwei <zhiwei.liang27@pm.me>
---------
Co-authored-by: Zhiwei Liang <zhi.wei.liang@outlook.com>
Co-authored-by: Zhiwei <zhiwei.liang27@pm.me>
* [Golang] Move utility functions from client.mustache to utils.mustache
* re-generate Go samples
* re-generate Go samples again
* re-generate samples once more
* update go samples
---------
Co-authored-by: Martin Lakov <martin.lakov@ocado.com>
* avoid setting debug property if not needed
* update samples
* fix compatibility with python 3.7
* always set Configuration.__debug
* update samples
* check `Configuration` behavior when debug parameter is / is not set
* address PR requests
* Java generators: use codegen fields in mustable
* Java generators: use codegen fields in mustable
* Java generators: use codegen fields in mustable
* Use MUSTACHE_PARENT_CONTEXT in additionalProperties
* Fix link to mustache documentation
* Implement regression test for #12804
* Fix duplicate rendering of @Deprecated annotation on Builder methods
* Regenerate samples
* Sort entries so it's easier to parse if an entry already exists
* Add sample that uses generateBuilders=true to test build matrix
Serves as an additional regression check for #12804
* Add --no-transfer-progress to mvn build command to increase log legibility
* Fix XML annotations on model properties (JavaSpring)
* generate JAXB annotations for attributes and elements
* generate wrapper annotations (JAXB and Jackson)
* use XML config from items for annotations of containers
* Add test for Jackson XML wrapper correctness
* Add additional test cases to cover all xml applications in spec
Test now covers all use cases described in
- https://web.archive.org/web/20240424203304/https://swagger.io/docs/specification/data-models/representing-xml/
- https://spec.openapis.org/oas/v3.0.0#xml-arrays
* Fix basename used instead of xmlName when items.xmlName is unset
See last example in spec: https://spec.openapis.org/oas/v3.0.0#xml-arrays
* Harmonize spacing between Annotation attribute name and value
* Refactor and group JAXB vs. Jackson XML annotations, only generate latter if enabled
This is in line with the way the class annotations in `xmlAnnotations.mustache`
are rendered – which only renders the `@Jackson`… xml annotations if
additionalProperty jackson is true.
Also reorder annotation attributes in the following order:
- localName/name
- namespace (optional)
- isAttribute/useWrapping (optional)
* Explicitly render `useWrapping = true` to @JacksonXmlElementWrapper
This was slightly inspired by @jzrebiec via PR #5371.
Wrapping is the default since Jackson 2.1 – so explicitly rendering
this will:
- make generated model work out-of-the-box in Jackson 2.0 for instance
- ensure the models still work if the local `XmlWrapper` was
configured with `useXmlWrapper(false)`
* Move xml test spec to java resources folder (not spring specific)
* Make test class name match class-under-test
This makes discovery & cross-navigation in IDE easier.
* Add complete xml annotations test for Java generators
* Fix Java PKMST generator not generating @JacksonXmlElementWrapper
* Fix Java microprofile generator missing @JacksonXmlRootElement
* Fix Java microprofile generator not using wrapper annotations and namespaces
* Fix Java Micronaut Client creating invalid (unclosed) @XmlAttribute annotations
* Fix Micronaut Client using wrong localName for @JacksonXmlElementWrapper
* Fix Micronaut client rendering @JacksonXmlProperty annotation twice
* Make Java Micronaut render @JacksonXmlElementWrapper(useWrapping=false) for non-wrapped elements
* Fix Jackson element using `xml.name` when it should be `items.xml.name`
Closes#5989Closes#3223
Relates to #9371
* Fix JAXB element using `baseName` instead of `xmlName` when items.xmlName is unset
* Remove XML generation debug output from templates
* Remove redundant newline between XML class annotations and class
Brings the SpringCodegen in line with other Java Codegen's
* Remove redundant newline between XML setter annotations and setter
* Fix multiline JavaDoc block indentation and format
* Simplify / condense xml annotation template into single lines
May look a bit more complex, but cuts out a lot of repetitiveness.
Also reorders annotation attributes in the following order:
- localName/name
- namespace (optional)
- isAttribute/useWrapping (optional)
* Harmonize spacing between Annotation attribute name and value
* Remove unused jackson_annotations partial
Was not referenced anywhere in java-helidon resources folder
---------
Co-authored-by: Christian Schuster <christian@dnup.de>
* Update model_anyof.mustache
* add tests for anyof in go client
---------
Co-authored-by: Martin Lakov <85170913+martinlakov@users.noreply.github.com>
* Add enum support when building default values for model properties
* Update enum handling for Python for enum references
* Remove unused method
* Update mustaches for FastAPI, Pydantic, and Python for default values
* Address PR feedback and rebase main
* Remove old 2_0 samples
* Drop separate version property
Not required as all Jackson packages usually tether on a version bump.
* Update Jackson to v2.17.1
* Sync Jackson version used by Spring Boot with project version
* Sync jackson update to v2.17.1 with generator templates
* Regenerate samples with updated versions
* Adjust test to current exception msg behavior
* Add dependency mgmt to ensure matching version for transitive dependencies
* Update library descriptions with correct Jackson version number
* Update library descriptions with correct GSON and JSONB versions
* Update retrofit library description with correct version number
* Update retrofit description to include Jackson as an option
This should have been done as part of in #16853.
* Update remaining libary version descriptions with correct versions
* Generate updated doc