* 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
* Add support for Helidon 4 MP client and server generation
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Rerun samples generation trying to fix spring jobs
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Update copyright
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Correct the copyright notice
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
---------
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* 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
* fix: Respect `disableValidator` CLI option
Setting the `disableValidator` option to `true` used to generate
validation code but avoid calling it from the route handlers.
This generated invalid code in some cases.
This commit renders the `server-operation-validate` only, when the
`disableValidator` option is set to false (the default value).
* test: Update examples and run integration test
The generated samples are updated with:
`./bin/generate-samples.sh ./bin/configs/manual/*.yaml`
The relevant integration test
`mvn integration-test -f samples/server/petstore/rust-axum/pom.xml`
passes.
* test: Add integration test
This integration tests provokes the generation of code that would
not compile (see #18580). The new change that makes sure validation
logic is not rendered when disabled, makes sure the faulty code is not
generated and therefore the project compiles.
* test: Update examples and run integration test
The generated samples are updated with:
`./bin/generate-samples.sh ./bin/configs/manual/*.yaml`
The relevant integration test
`mvn integration-test -f samples/server/petstore/rust-axum/pom.xml`
passes.
* fix: Fix uuid in header params causing errors
Routes with header parameters with a `format` of `uuid` in the openAPI
specification used to cause a compilation error in the resulting
Rust Axum code.
This commit fixes the issue by including the correct conversion trait
implementation on the condition that at least one header parameter of
`format` `uuid` is included in the specification.
* refactor: Add final to boolean
* fix: Bring str::FromStr optionally into scope
The trait needs to be in scope for the TryFrom implementation:
`TryFrom<HeaderValue> for IntoHeaderValue<uuid::Uuid> `
It will only be brought into scope when the implementation is rendered.
* test: Add integration test and its specification
This commit adds an integration test that tests the bug fix for #18554.
A header parameter of `format: uuid` is included in one route.
This makes the example create a route handler that tries to extract a
Rust `uuid::Uuid` type from the header. The integration test will check
that the generated code compiles.
* test: Update examples and run integration test
The generated samples are updated with:
`./bin/generate-samples.sh ./bin/configs/manual/*.yaml`
Most example projects have their version numbers bumped. Some changes
show, that there are some other unrelated changes to the files, which
indicates that some prior commit did not update the samples accordingly.
The relevant integration test
`mvn integration-test -f samples/server/petstore/rust-axum/pom.xml`
passes.
When components/schema/<object> reference other objects, validate() was
getting called on the referenced objects with no arguments. The return
value was void, but checked as if it was a boolean value.
* [Java/Microprofile] Add support for Jackson serialization & async interfaces using Mutiny in Java Microprofile library
* Regenerate samples & docs
* Add server generator
* Update client to set configKey by classname
* Remove debug remains and comments
* Adapt method override to upstream changes
* Regenerate samples
* Revert "Regenerate samples"
This reverts commit b5bcbdea90c71a2819a3ea6339c3878f249f97b4.
* Move additional 2xx response to dedicated OpenAPI document
Some other generators than those for Micronaut don't seem to be able to
handle this case, so we don't add it to the general pet store document.
* Make filename consistent with other files in the folder
* Regenerate Microprofile client and server samples
* Generate samples
* Update documentation
* Generate samples
* Remove left-over `*.orig` files from Git merges
* Regenerate samples
* Regenerated samples
* changed generator name to "java-microprofile"
* added the new folder to .github/workflows/samples-java-server-jdk8.yaml so that CI will test it moving forward
* Renamed JavaMicroprofileServerCodegen.java
* regenerated samples
* only enable configKeyFromClassName if configKey is not set
* Updated documentation
* Change samples to use junit 4
* Fix junit 4 test classes
* run ensure up-to-date script
* fix kotlin test errors
---------
Co-authored-by: pravussum <pravussum@users.noreply.github.com>
Co-authored-by: frank <frank.buechel@kiwigrid.com>
Co-authored-by: Oscar <oscar.obrien@kiwigrid.com>
Co-authored-by: oscarobr <133783370+oscarobr@users.noreply.github.com>
* Fix generation of remove method for map entries
Map::remove in java removes entries by key, therefore the key must be used as parameter.
* Fix generation of remove method for map entries
Map::remove in java removes entries by key, therefore the key must be used as parameter.
---------
Co-authored-by: Reinhard Handler <reinhard.handler@ssi-schaefer.com>
* refactor: move closure definition to own statement
A clippy lint recommends not using a closure inside of a statement.
The code generation used to produce code that triggered this warning,
which caused the rust-server integration test to fail because clippy is
configured to return lint violations as errors.
For details for the lint see:
https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions
* refactor: Remove unnecessary qualification
A GitHub action test used to fail because of a clippy warning that was
emitted due to not using an imported symbol but qualifying its use.
A failed test can be seen here:
https://github.com/OpenAPITools/openapi-generator/actions/runs/8958257509/job/24603984954?pr=18563
With the relevant error being:
error: unnecessary qualification
--> output/openapi-v3/src/client/callbacks.rs:88:9
|
88 | futures::future::ok(Service::new(
This commit simply removes the qualification.
* test: Update examples and run integration test.
Updated examples by running
`./bin/generate-samples.sh ./bin/configs/rust-server-*`
The integration test with the following command passes:
`mvn integration-test -f samples/server/petstore/rust-server/pom.xml`
* [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
* [BUG] [C++][Pistache] cpp-pistache-server generating API include undefined "Object.h" (#2769)
Should handle Object.h, AnyType.h correctly. Set.h also tested.
- #include Object.h removed and replaced by a typeMapping.put(object, nlohmann::json) like suggested in other issues
- object had an invalid syntax: ':' instead of '::' in types with namespace
- extra include of #include nlohmann/json.h removed when there's already #include <nlohmann/json.hpp>
- nlohmann::json is excluded from model namespace
Tested with custom petstore played, with suggested openapi specs coming from issues #2769, #10266, #14234
```bash
rm -rf samples/server/petstore/cpp-pistache-everything/ && ./bin/generate-samples.sh ./bin/configs/cpp-pistache-server-cpp-pistache-everything.yaml && cd samples/server/petstore/cpp-pistache-everything/ && mkdir build && cd build && cmake .. && cmake --build . --parallel
```
* - Adding to samples/server/petstore cpp-pistache-everything
* - .md and FILES missing
Using archive.org snapshots in case the URLs change again, like they
apparently have in the past.
Also fixing formal JavaDoc error, which does not allow bare URLs.