* [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
* 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>
* improved apiclient.mustache to keep it dry, sharing a single exec with Action<> delegate.
* updated samples and test
* Removed async from ApiClient.mustache
Updated samples
* Revert change to CSharpClientDeepObjectTest.java
* Fix async await (it was not waiting creating a null exception)
Updated samples
* Fix File IO namespace with using directive
* Improved comments on new methods
Added new DRY method DeserializeRestResponseFromPolicy
* Fix comments and parameters for new method DeserializeRestResponseFromPolicy
Updated samples
* Replace magic string "UTF-8" with StandardCharsets.UTF_8
This avoids an UnsupportedEncodingException by design.
* Remove unused UnsupportedCharsetException import
* Partially revert "replace deprecated ISO8601Utils with StdDateFormat (#17052)"
This partially reverts commit 76560e34c9aacd9d7593ac45bd204e2edf38abd9, namely anything
related to generators and samples using GSON instead of Jackson.
Changes to Jackson-only generation and generator-online regarding RFC3339DateFormat
are not being reverted.
* Test for default serialization library fallback
* Convert repetitive tests to parameterized test
* Add regression test for #18515
* [FEIGN] Only include <jackson-databind-version> property in pom.xml when required
* [RETROFIT2] Only include jackson-databind in gradle file when actually required
* [FEIGN] Don't include jackson dep's in sbt file when GSON is selected
* [FEIGN] Don't include jackson dep's in gradle file when GSON is selected
* DRY refactor JavaClientCodegen test code, increase readability
- use fluent assertions
- use helper method newTempFolder()
- use Java 9 static factory methods for maps
- don't declare variables that are only used once
- group declarations and usages
- use non-blocking java.nio.file API wherever possible
* Regenerate 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
* custom types support in inheritance fix
* files changed after scripts run
* remove unused method
* move cloneSchema to ModelUtils
* imports
* changes after scripts run
* test cloning array of enums schema
* upgrade okhttp-gson and google-api-client to junit5
* add changes in StringUtilTest
* use https instead of http to fix 301 (moved) error
* revert petstore test server url to http://petstore.swagger.io and regenerate samples
* synced gradle/sbt/pom, re-generated samples
* revert removal of port 80 from test url
* udpate google api client tests
* update sha
* update comment
---------
Co-authored-by: Thorsten Hirsch <t.hirsch@web.de>
* Adds useJakartaEe condition to select the appropriate Jackson package to import.
This also removes the import on the apache-httpclient template where it doesn't actually get used, requiring users to declare additional dependencies for compilation that aren't actually required by the generated code other than for import.
* Ran generate-samples.sh
* upgrade resteasy to junit5
* fix echo_api tests
* updated gradle/sbt/pom and generated samples with bin/generate-samples.sh
* fix xml syntax error
* forgot to run generate-samples.sh
* [kotlin] Target correct library in jvm-spring-webclient sample
* [kotlin] Fixed warning in jvm-spring-restclient
* [kotlin-client] Bump Gradle version
* [kotlin-client] enableFeaturePreview no longer needed as it's enabled by default
* [kotlin-client] Bump kotlin, spotless, and reactor versions
* [kotlin-client] Generated code
* [kotlin-client] Missed a generated sample
* [kotlin-client] Bumped gradle and java version in kotlin-client workflows
* [kotlin-client] First attempt to fix jvm-volley
* [kotlin-client] Use standard gradle action instead of custom one
* [kotlin-client] Use original gradlew action but without specific version
* [kotlin-client] Moved sample kotlin-spring-cloud to servers instead of clients
* [kotlin-client] Added previously missing generated file
* [kotlin-client] Corrected sample path
* feat (JAVA SPRING RESTTEMPLATE) 17571: initial commit for Spring RestClient
* feat (JAVA SPRING RESTTEMPLATE) 17571: Copied and changed the webclient mustache files
The RestClient API is oriented on the WebClient API so many parts of the templates can be the same
* fix (JAVA SPRING RESTTEMPLATE) 17571: Renaming error & add README template
The README must be changed because the minimal Java Version for this client is 17
* fix (JAVA SPRING RESTTEMPLATE) 17571: Imports, compile errors and cookie setting
* feat (JAVA SPRING RESTTEMPLATE) 17571: Add generated samples
* test (JAVA SPRING RESTTEMPLATE) 17571: Add tests
* feat (JAVA SPRING RESTTEMPLATE) 17571: Update doc
* Add the restcilent to samples-java-client-jdk17.yam
The minimum Java version of the used Spring Version is 17
* fix (JAVA SPRING RESTTEMPLATE) 17571: Workflow paths to petstore samples
* fix (JAVA SPRING RESTTEMPLATE) 17571: Regenerated samples
* feat (JAVA SPRING RESTTEMPLATE) 17571: Generated echo-api sample for RestClient
* fix (JAVA SPRING RESTTEMPLATE) 17571: Missing import
* fix (JAVA SPRING RESTTEMPLATE) 17571: Missing body class exception when null body is set
* test (JAVA SPRING RESTTEMPLATE) 17571: Add echo-api Auth test
* fix (JAVA SPRING RESTTEMPLATE) 17571: Gradlew file permissions
* feat (JAVA SPRING RESTTEMPLATE) 17571: Reggenerate samples after rebase
* test (JAVA SPRING RESTTEMPLATE) 17571: Add echo-api Body gif test
* test (JAVA SPRING RESTTEMPLATE) 17571: Add echo-api octet stream body test
* test (JAVA SPRING RESTTEMPLATE) 17571: Add echo-api multipart form data test
* fix (JAVA SPRING RESTTEMPLATE) 17571: Form as body when body is null
Also regenerated the restclient samples
This allows users to use APIs that require booleans in query params not to be cast to int, e.g. `&foo=true`. Currently, `true` is cast to `1` so it's passed as `&foo=1`. That might not be supported by the target API.
The fix contains copy-pasted function from guzzlehttp/psr7 `Query::build()` with minor tweak.
* Update Java version in Github actions
* Generate samples
* [java] Upgrade Gradle wrapper to 8.7
* Generate samples
* [Java] Add resttemplate-jakarta to CI
* Upgrade CI machines to ubuntu-2204:2024.04.4 which use Java 21
* Change CI machines to ubuntu-2204:2024.01.1 which use Java 17
* Change CI machines to ubuntu-2004:2024.01.1
* [ruby] Update Gemfile.locks
* Use gradle wrapper for samples-java-client-jdk17
* Update Python mustache templates to fix _form_ typo and correct casing for class name when calling from_dict()
* Results of 'build the project' checklist step