* Fix#16362
* Update samples
* Undo formatting changes
* Revert whitespace changes in samples
* make it work
---------
Co-authored-by: Jason Boileau <jason@boileau.dk>
Co-authored-by: Jason Boileau <spraot@users.noreply.github.com>
* test (JAVA SPRING RESTTEMPLATE) 17571: Add echo-api multipart form single file test
* feat (JAVA SPRING RESTCLIENT) 18522: Add RestClient to README
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo all of Pet test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body free form object response string test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body pet test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body pet response string test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body string enum test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo body tag response test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo form tests
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo header test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo path test
* test (JAVA SPRING RESTCLIENT) 18522: Add RestClient echo query tests
* feat (JAVA SPRING RESTCLIENT) 18522: Regenerasted API Clients for RestClient with fixed import indentation
* javax.ws.rs:javax.ws.rs-api package was renamed on maven
* update dependencies for java okhttp pom, build.sbt
* update
* update dep
---------
Co-authored-by: Andres Aguilar <andresesfm@gmail.com>
* remove thread unsafe statusCode and responseHeaders instance variables
* re-add status code and header getters for backwards compatibility
* add import
* whitespace cleanup
* use deprecated thread id getter for backwards compatibility with pre-19 java
* 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>
* 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
* 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
* 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
* 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
* #18058 Fix AbstractJavaCodegen.getAccepts() so it returns a String array instead of a comma-separated string, and fixed api.mustache so the @RequestMapping annotation generated produces for x-accepts as a parameter list instead of a (single) string.
* #18058 Updated test case to accept a string array instead of a comma-separated list.
* #18058 Reverted changes on imported compared to the main branch.
* #18058 getAccepts() is now hybrid, and can return both a single String or a String[].
* #18058 Rolled back the hybrid getAccepts(), so it only returns a String array.
* #18058 Updated mustache files to cope with vendorExtensions.x-accepts being a string array instead of a comma-separated string.
* #18058 Generated new sample files with by running `./bin/generate-samples.sh ./bin/configs/*.yaml`
* #18058 Optimization of getAccepts()
* #18058 Regenerated scripts that got broken after resolving conflicts on GitHub
* #18058 Fixed introduced issue with api.mustache causing a redundant accept with @HttpExchange with the PetApi.java, StoreApi.java, and UserApi.java.
* add direct invocation methods for java (httpclient)
* add direct invocation methods for java (resttemplate)
* handle methods only if endpoints exist for api client
* preserve previous newline to minimize changes
* update httpclient/resttemplate samples
* add common methods in base class
* regenerate samples with base class
* add initial openapi config and java generated files
* add java implementation for adding generator version
* regenerate sample client files
* remove tabs
* only show generated version if build info exists
* set build info for batch generation
* update generator doc for new global flag
* use existing property for generator version
* update templates to include generator version
* update templates for better generator version syntax
* revert undesired changes
* regenerate samples for openapi client
* update templates to correct formatting/newlines
* correct description text and add to usage doc
* add generator cli option for all codegen types
* use more concise version info; update existing codegens to support new prop
* correct wrong prop reference
* add initial test coverage for new prop
* update last (scala) templates with new prop
* update samples after upstream merge
* use consistent version output
* use better sample project id/name
* revert using option for generator version in templates
``EntityUtils#toString`` automatically selects the correct encoding based on the received request.
Scanner currently uses the JVM default encoding, which doesn't always work.