diff --git a/bin/configs/jaxrs-spec-quarkus-mutiny.yaml b/bin/configs/jaxrs-spec-quarkus-mutiny.yaml new file mode 100644 index 000000000000..5620523e027f --- /dev/null +++ b/bin/configs/jaxrs-spec-quarkus-mutiny.yaml @@ -0,0 +1,15 @@ +generatorName: jaxrs-spec +outputDir: samples/server/petstore/jaxrs-spec-quarkus-mutiny +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml +templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/spec +additionalProperties: + artifactId: jaxrs-spec-petstore-server + serializableModel: "true" + hideGenerationTimestamp: "true" + implicitHeadersRegex: (api_key|enum_header_string) + generateBuilders: "true" + useMicroProfileOpenAPIAnnotations: "true" + useAsync: "true" + useMutiny: "true" + library: "quarkus" + dateLibrary: "java8-localdatetime" diff --git a/docs/generators/jaxrs-cxf-cdi.md b/docs/generators/jaxrs-cxf-cdi.md index 82b1b863e73c..1de80c28200a 100644 --- a/docs/generators/jaxrs-cxf-cdi.md +++ b/docs/generators/jaxrs-cxf-cdi.md @@ -78,6 +78,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |useBeanValidation|Use BeanValidation API annotations| |true| |useJakartaEe|whether to use Jakarta EE namespace instead of javax| |false| |useMicroProfileOpenAPIAnnotations|Whether to generate Microprofile OpenAPI annotations. Only valid when library is set to quarkus.| |false| +|useMutiny|Whether to use Smallrye Mutiny instead of CompletionStage for asynchronous computation. Only valid when library is set to quarkus.| |false| |useOneOfInterfaces|whether to use a java interface to describe a set of oneOf options, where each option is a class that implements the interface| |false| |useSwaggerAnnotations|Whether to generate Swagger annotations.| |true| |useTags|use tags for creating interface and controller classnames| |false| diff --git a/docs/generators/jaxrs-spec.md b/docs/generators/jaxrs-spec.md index 6572bfa72474..87563f7c6bee 100644 --- a/docs/generators/jaxrs-spec.md +++ b/docs/generators/jaxrs-spec.md @@ -78,6 +78,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |useBeanValidation|Use BeanValidation API annotations| |true| |useJakartaEe|whether to use Jakarta EE namespace instead of javax| |false| |useMicroProfileOpenAPIAnnotations|Whether to generate Microprofile OpenAPI annotations. Only valid when library is set to quarkus.| |false| +|useMutiny|Whether to use Smallrye Mutiny instead of CompletionStage for asynchronous computation. Only valid when library is set to quarkus.| |false| |useOneOfInterfaces|whether to use a java interface to describe a set of oneOf options, where each option is a class that implements the interface| |false| |useSwaggerAnnotations|Whether to generate Swagger annotations.| |true| |useTags|use tags for creating interface and controller classnames| |false| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java index 69627170d693..373ac795d862 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java @@ -38,6 +38,7 @@ public class JavaJAXRSSpecServerCodegen extends AbstractJavaJAXRSServerCodegen { public static final String GENERATE_POM = "generatePom"; public static final String USE_SWAGGER_ANNOTATIONS = "useSwaggerAnnotations"; public static final String USE_MICROPROFILE_OPENAPI_ANNOTATIONS = "useMicroProfileOpenAPIAnnotations"; + public static final String USE_MUTINY = "useMutiny"; public static final String OPEN_API_SPEC_FILE_LOCATION = "openApiSpecFileLocation"; public static final String GENERATE_BUILDERS = "generateBuilders"; @@ -53,6 +54,7 @@ public class JavaJAXRSSpecServerCodegen extends AbstractJavaJAXRSServerCodegen { private boolean generateBuilders = false; private boolean useSwaggerAnnotations = true; private boolean useMicroProfileOpenAPIAnnotations = false; + private boolean useMutiny = false; protected boolean useGzipFeature = false; private boolean useJackson = false; @@ -120,6 +122,7 @@ public JavaJAXRSSpecServerCodegen() { cliOptions.add(CliOption.newBoolean(USE_MICROPROFILE_OPENAPI_ANNOTATIONS, "Whether to generate Microprofile OpenAPI annotations. Only valid when library is set to quarkus.", useMicroProfileOpenAPIAnnotations)); cliOptions.add(CliOption.newString(OPEN_API_SPEC_FILE_LOCATION, "Location where the file containing the spec will be generated in the output folder. No file generated when set to null or empty string.")); cliOptions.add(CliOption.newBoolean(SUPPORT_ASYNC, "Wrap responses in CompletionStage type, allowing asynchronous computation (requires JAX-RS 2.1).", supportAsync)); + cliOptions.add(CliOption.newBoolean(USE_MUTINY, "Whether to use Smallrye Mutiny instead of CompletionStage for asynchronous computation. Only valid when library is set to quarkus.", useMutiny)); } @Override @@ -167,6 +170,12 @@ public void processOpts() { writePropertyBack(USE_MICROPROFILE_OPENAPI_ANNOTATIONS, useMicroProfileOpenAPIAnnotations); } + if (QUARKUS_LIBRARY.equals(library)) { + if (additionalProperties.containsKey(USE_MUTINY)) { + useMutiny = Boolean.parseBoolean(additionalProperties.get(USE_MUTINY).toString()); + } + writePropertyBack(USE_MUTINY, useMutiny); + } if (additionalProperties.containsKey(GENERATE_BUILDERS)) { generateBuilders = Boolean.parseBoolean(additionalProperties.get(GENERATE_BUILDERS).toString()); diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/api.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/api.mustache index d45774cacc21..8f40dc3a9e7f 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/api.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/api.mustache @@ -15,8 +15,13 @@ import io.swagger.annotations.*; {{/useSwaggerAnnotations}} {{#supportAsync}} +{{#useMutiny}} +import io.smallrye.mutiny.Uni; +{{/useMutiny}} +{{^useMutiny}} import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletableFuture; +{{/useMutiny}} {{/supportAsync}} import java.io.InputStream; diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/apiMethod.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/apiMethod.mustache index 96c81be32634..5bd7a3e4e607 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/apiMethod.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/apiMethod.mustache @@ -40,6 +40,6 @@ {{^vendorExtensions.x-java-is-response-void}}@org.eclipse.microprofile.openapi.annotations.media.Content(schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = {{{baseType}}}.class{{#vendorExtensions.x-microprofile-open-api-return-schema-container}}, type = {{{.}}} {{/vendorExtensions.x-microprofile-open-api-return-schema-container}}{{#vendorExtensions.x-microprofile-open-api-return-unique-items}}, uniqueItems = true {{/vendorExtensions.x-microprofile-open-api-return-unique-items}})){{/vendorExtensions.x-java-is-response-void}} }){{^-last}},{{/-last}}{{/responses}} }){{/hasProduces}}{{/useMicroProfileOpenAPIAnnotations}} - public {{#supportAsync}}CompletionStage<{{/supportAsync}}Response{{#supportAsync}}>{{/supportAsync}} {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>cookieParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}},{{/-last}}{{/allParams}}) { - return {{#supportAsync}}CompletableFuture.supplyAsync(() -> {{/supportAsync}}Response.ok().entity("magic!").build(){{#supportAsync}}){{/supportAsync}}; + public {{#supportAsync}}{{#useMutiny}}Uni{{/useMutiny}}{{^useMutiny}}CompletionStage{{/useMutiny}}<{{/supportAsync}}Response{{#supportAsync}}>{{/supportAsync}} {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>cookieParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}},{{/-last}}{{/allParams}}) { + return {{#supportAsync}}{{#useMutiny}}Uni.createFrom().item({{/useMutiny}}{{^useMutiny}}CompletableFuture.supplyAsync(() -> {{/useMutiny}}{{/supportAsync}}Response.ok().entity("magic!").build(){{#supportAsync}}){{/supportAsync}}; } \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/pom.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/pom.mustache index d8fffd4846f9..ef91cc3dfb27 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/pom.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/pom.mustache @@ -44,6 +44,9 @@ {{#useSwaggerAnnotations}} 1.6.10 {{/useSwaggerAnnotations}} +{{#useMutiny}} + 1.2.1 +{{/useMutiny}} @@ -109,6 +112,14 @@ provided {{/useSwaggerAnnotations}} +{{#useMutiny}} + + io.smallrye + smallrye-rest-client + ${smallrye.rest.client.version} + test + +{{/useMutiny}} diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/returnAsyncTypeInterface.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/returnAsyncTypeInterface.mustache new file mode 100644 index 000000000000..93f1098e48da --- /dev/null +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/returnAsyncTypeInterface.mustache @@ -0,0 +1 @@ +{{#useMutiny}}Uni{{/useMutiny}}{{^useMutiny}}CompletionStage{{/useMutiny}}<{{#returnResponse}}Response{{/returnResponse}}{{^returnResponse}}{{#returnContainer}}{{#isMap}}Map{{/isMap}}{{#isArray}}{{{returnContainer}}}<{{{returnBaseType}}}>{{/isArray}}{{/returnContainer}}{{^returnContainer}}{{{returnBaseType}}}{{/returnContainer}}{{/returnResponse}}> \ No newline at end of file diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJAXRSSpecServerCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJAXRSSpecServerCodegenTest.java index c11931e8a4fd..d63754a27470 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJAXRSSpecServerCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJAXRSSpecServerCodegenTest.java @@ -808,6 +808,103 @@ public void generateApiForQuarkusWithGzipFeature() throws Exception { ); } + @Test + public void generateApiForQuarkusWithoutMutiny() throws Exception { + final File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + final OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/3_0/issue_4832.yaml", null, new ParseOptions()).getOpenAPI(); + + codegen.setOutputDir(output.getAbsolutePath()); + codegen.setLibrary(QUARKUS_LIBRARY); + codegen.additionalProperties().put(SUPPORT_ASYNC, true); + codegen.additionalProperties().put(USE_TAGS, true); //And use tags to generate everything in PingApi.java + + final ClientOptInput input = new ClientOptInput() + .openAPI(openAPI) + .config(codegen); //Using JavaJAXRSSpecServerCodegen + + final DefaultGenerator generator = new DefaultGenerator(); + final List files = generator.opts(input).generate(); //When generating files + + //Then the java files are compilable + validateJavaSourceFiles(files); + + //And the generated class contains CompletionStage + TestUtils.ensureContainsFile(files, output, "src/gen/java/org/openapitools/api/PingApi.java"); + TestUtils.assertFileContains(output.toPath().resolve("src/gen/java/org/openapitools/api/PingApi.java"), + "CompletionStage pingGetBoolean", //Support primitive types response + "CompletionStage pingGetInteger" //Support primitive types response + ); + } + + @Test + public void generateApiForQuarkusWithMutinyApi() throws Exception { + final File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + final OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/3_0/issue_4832.yaml", null, new ParseOptions()).getOpenAPI(); + + codegen.setOutputDir(output.getAbsolutePath()); + codegen.setLibrary(QUARKUS_LIBRARY); + codegen.additionalProperties().put(USE_TAGS, true); //And use tags to generate everything in PingApi.java + codegen.additionalProperties().put(SUPPORT_ASYNC, true); + codegen.additionalProperties().put(INTERFACE_ONLY, true); + codegen.additionalProperties().put(USE_MUTINY, true); + + final ClientOptInput input = new ClientOptInput() + .openAPI(openAPI) + .config(codegen); //Using JavaJAXRSSpecServerCodegen + + final DefaultGenerator generator = new DefaultGenerator(); + final List files = generator.opts(input).generate(); //When generating files + + //Then the java files are compilable + validateJavaSourceFiles(files); + + //And the generated class contains CompletionStage + TestUtils.ensureContainsFile(files, output, "src/gen/java/org/openapitools/api/PingApi.java"); + TestUtils.assertFileContains(output.toPath().resolve("src/gen/java/org/openapitools/api/PingApi.java"), + "Uni pingGetBoolean", //Support primitive types response + "Uni pingGetInteger" //Support primitive types response + ); + } + + + @Test + public void generateApiForQuarkusWithMutinyImpl() throws Exception { + final File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + final OpenAPI openAPI = new OpenAPIParser() + .readLocation("src/test/resources/3_0/issue_4832.yaml", null, new ParseOptions()).getOpenAPI(); + + codegen.setOutputDir(output.getAbsolutePath()); + codegen.setLibrary(QUARKUS_LIBRARY); + codegen.additionalProperties().put(USE_TAGS, true); //And use tags to generate everything in PingApi.java + codegen.additionalProperties().put(SUPPORT_ASYNC, true); + codegen.additionalProperties().put(USE_MUTINY, true); + + final ClientOptInput input = new ClientOptInput() + .openAPI(openAPI) + .config(codegen); //Using JavaJAXRSSpecServerCodegen + + final DefaultGenerator generator = new DefaultGenerator(); + final List files = generator.opts(input).generate(); //When generating files + + //Then the java files are compilable + validateJavaSourceFiles(files); + + //And the generated class contains CompletionStage + TestUtils.ensureContainsFile(files, output, "src/gen/java/org/openapitools/api/PingApi.java"); + TestUtils.assertFileContains(output.toPath().resolve("src/gen/java/org/openapitools/api/PingApi.java"), + "Uni pingGetBoolean", //Support primitive types response + "Uni pingGetInteger" //Support primitive types response + ); + } + @Test public void testHandleRequiredAndReadOnlyPropertiesCorrectly() throws Exception { File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.dockerignore b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.dockerignore new file mode 100644 index 000000000000..b86c7ac34057 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.dockerignore @@ -0,0 +1,4 @@ +* +!target/*-runner +!target/*-runner.jar +!target/lib/* \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator-ignore b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator-ignore new file mode 100644 index 000000000000..7484ee590a38 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator/FILES b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator/FILES new file mode 100644 index 000000000000..5b0d5374cd44 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator/FILES @@ -0,0 +1,66 @@ +.dockerignore +README.md +pom.xml +src/gen/java/org/openapitools/api/AnotherFakeApi.java +src/gen/java/org/openapitools/api/FakeApi.java +src/gen/java/org/openapitools/api/FakeClassnameTestApi.java +src/gen/java/org/openapitools/api/FooApi.java +src/gen/java/org/openapitools/api/PetApi.java +src/gen/java/org/openapitools/api/RestApplication.java +src/gen/java/org/openapitools/api/RestResourceRoot.java +src/gen/java/org/openapitools/api/StoreApi.java +src/gen/java/org/openapitools/api/UserApi.java +src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java +src/gen/java/org/openapitools/model/AllOfWithSingleRef.java +src/gen/java/org/openapitools/model/Animal.java +src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java +src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java +src/gen/java/org/openapitools/model/ArrayTest.java +src/gen/java/org/openapitools/model/Capitalization.java +src/gen/java/org/openapitools/model/Cat.java +src/gen/java/org/openapitools/model/Category.java +src/gen/java/org/openapitools/model/ChildWithNullable.java +src/gen/java/org/openapitools/model/ClassModel.java +src/gen/java/org/openapitools/model/Client.java +src/gen/java/org/openapitools/model/DeprecatedObject.java +src/gen/java/org/openapitools/model/Dog.java +src/gen/java/org/openapitools/model/EnumArrays.java +src/gen/java/org/openapitools/model/EnumClass.java +src/gen/java/org/openapitools/model/EnumTest.java +src/gen/java/org/openapitools/model/FakeBigDecimalMap200Response.java +src/gen/java/org/openapitools/model/FileSchemaTestClass.java +src/gen/java/org/openapitools/model/Foo.java +src/gen/java/org/openapitools/model/FooGetDefaultResponse.java +src/gen/java/org/openapitools/model/FormatTest.java +src/gen/java/org/openapitools/model/HasOnlyReadOnly.java +src/gen/java/org/openapitools/model/HealthCheckResult.java +src/gen/java/org/openapitools/model/MapTest.java +src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java +src/gen/java/org/openapitools/model/Model200Response.java +src/gen/java/org/openapitools/model/ModelApiResponse.java +src/gen/java/org/openapitools/model/ModelFile.java +src/gen/java/org/openapitools/model/ModelList.java +src/gen/java/org/openapitools/model/ModelReturn.java +src/gen/java/org/openapitools/model/Name.java +src/gen/java/org/openapitools/model/NullableClass.java +src/gen/java/org/openapitools/model/NumberOnly.java +src/gen/java/org/openapitools/model/ObjectWithDeprecatedFields.java +src/gen/java/org/openapitools/model/Order.java +src/gen/java/org/openapitools/model/OuterComposite.java +src/gen/java/org/openapitools/model/OuterEnum.java +src/gen/java/org/openapitools/model/OuterEnumDefaultValue.java +src/gen/java/org/openapitools/model/OuterEnumInteger.java +src/gen/java/org/openapitools/model/OuterEnumIntegerDefaultValue.java +src/gen/java/org/openapitools/model/OuterObjectWithEnumProperty.java +src/gen/java/org/openapitools/model/ParentWithNullable.java +src/gen/java/org/openapitools/model/Pet.java +src/gen/java/org/openapitools/model/ReadOnlyFirst.java +src/gen/java/org/openapitools/model/SingleRefType.java +src/gen/java/org/openapitools/model/SpecialModelName.java +src/gen/java/org/openapitools/model/Tag.java +src/gen/java/org/openapitools/model/TestInlineFreeformAdditionalPropertiesRequest.java +src/gen/java/org/openapitools/model/User.java +src/main/docker/Dockerfile.jvm +src/main/docker/Dockerfile.native +src/main/resources/META-INF/openapi.yaml +src/main/resources/application.properties diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator/VERSION new file mode 100644 index 000000000000..08bfd0643b8c --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.5.0-SNAPSHOT diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/README.md b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/README.md new file mode 100644 index 000000000000..929e2bbe4b9d --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/README.md @@ -0,0 +1,33 @@ +# JAX-RS server with OpenAPI using Quarkus + +## Overview +This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using an +[OpenAPI-Spec](https://openapis.org), you can easily generate a server stub. + +This is an example of building a OpenAPI-enabled JAX-RS server. +This example uses the [JAX-RS](https://jax-rs-spec.java.net/) framework and +the [Eclipse-MicroProfile-OpenAPI](https://github.com/eclipse/microprofile-open-api) addition. + +The pom file is configured to use [Quarkus](https://quarkus.io/) as application server. + + +To start the server in dev mode, run this maven command: + +```bash +mvn compile quarkus:dev +``` + +You can then call your server endpoints under: + +``` +http://localhost:8080/ +``` + +In dev-mode, you can open Swagger-UI at: + +``` +http://localhost:8080/swagger-ui/ +``` + +Read more in the [Quarkus OpenAPI guide](https://quarkus.io/guides/openapi-swaggerui-guide). + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/pom.xml b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/pom.xml new file mode 100644 index 000000000000..eb5c42b58b7c --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/pom.xml @@ -0,0 +1,157 @@ + + + 4.0.0 + org.openapitools + jaxrs-spec-petstore-server + jaxrs-spec-petstore-server + 1.0.0 + + + + 3.8.1 + true + 1.8 + 1.8 + UTF-8 + UTF-8 + 1.13.7.Final + 1.13.7.Final + quarkus-universe-bom + io.quarkus + 2.22.1 + 2.1.1 + 1.3.2 + 1.2.1 + + + + + ${quarkus.platform.group-id} + ${quarkus.platform.artifact-id} + ${quarkus.platform.version} + pom + import + + + + + + io.quarkus + quarkus-resteasy + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + io.quarkus + quarkus-smallrye-openapi + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-version} + provided + + + javax.annotation + javax.annotation-api + ${javax.annotation-api-version} + + + io.smallrye + smallrye-rest-client + ${smallrye.rest.client.version} + test + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + add-source + generate-sources + + add-source + + + + src/gen/java + + + + + + + io.quarkus + quarkus-maven-plugin + ${quarkus-plugin.version} + + + + build + + + + + + maven-compiler-plugin + ${compiler-plugin.version} + + + maven-surefire-plugin + ${surefire-plugin.version} + + + org.jboss.logmanager.LogManager + + + + + + + + native + + + native + + + + + + maven-failsafe-plugin + ${surefire-plugin.version} + + + + integration-test + verify + + + + ${project.build.directory}/${project.build.finalName}-runner + + + + + + + + + native + + + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/AnotherFakeApi.java new file mode 100644 index 000000000000..42c546afd776 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/AnotherFakeApi.java @@ -0,0 +1,80 @@ +package org.openapitools.api; + +import org.openapitools.model.Client; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "", version="1.0.0", description="", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/another-fake/dummy") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AnotherFakeApi { + + @PATCH + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "call123testSpecialTags", summary = "To test special tags", description = "To test special tags and operation ID starting with number") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="$another-fake?") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Client.class)) + }) + }) + public Response call123testSpecialTags(@Valid @NotNull Client client) { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FakeApi.java new file mode 100644 index 000000000000..05d3d47fb409 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FakeApi.java @@ -0,0 +1,441 @@ +package org.openapitools.api; + +import java.math.BigDecimal; +import org.openapitools.model.ChildWithNullable; +import org.openapitools.model.Client; +import org.openapitools.model.EnumClass; +import org.openapitools.model.FakeBigDecimalMap200Response; +import java.io.File; +import org.openapitools.model.FileSchemaTestClass; +import org.openapitools.model.HealthCheckResult; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Map; +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.OuterComposite; +import org.openapitools.model.OuterObjectWithEnumProperty; +import org.openapitools.model.Pet; +import org.openapitools.model.TestInlineFreeformAdditionalPropertiesRequest; +import org.openapitools.model.User; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "", version="1.0.0", description="", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/fake") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FakeApi { + + @GET + @Path("/BigDecimalMap") + @Produces({ "*/*" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeBigDecimalMap", summary = "", description = "for Java apache and Java native, test toUrlQueryString for maps with BegDecimal keys") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="*/*", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = FakeBigDecimalMap200Response.class)) + }) + }) + public Response fakeBigDecimalMap() { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/health") + @Produces({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeHealthGet", summary = "Health check endpoint", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "The instance started successfully", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = HealthCheckResult.class)) + }) + }) + public Response fakeHealthGet() { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/http-signature-test") + @Consumes({ "application/json", "application/xml" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "http_signature_test") + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeHttpSignatureTest", summary = "test http signature authentication", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "The instance started successfully", content = { + + }) + }) + public Response fakeHttpSignatureTest(@Valid @NotNull Pet pet,@QueryParam("query_1") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="query parameter") String query1,@HeaderParam("header_1") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="header parameter") String header1) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/outer/boolean") + @Consumes({ "application/json" }) + @Produces({ "*/*" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeOuterBooleanSerialize", summary = "", description = "Test serialization of outer boolean types") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Output boolean", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="*/*", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Boolean.class)) + }) + }) + public Response fakeOuterBooleanSerialize(@Valid Boolean body) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/outer/composite") + @Consumes({ "application/json" }) + @Produces({ "*/*" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeOuterCompositeSerialize", summary = "", description = "Test serialization of object with outer number type") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Output composite", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="*/*", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = OuterComposite.class)) + }) + }) + public Response fakeOuterCompositeSerialize(@Valid OuterComposite outerComposite) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/outer/number") + @Consumes({ "application/json" }) + @Produces({ "*/*" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeOuterNumberSerialize", summary = "", description = "Test serialization of outer number types") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Output number", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="*/*", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = BigDecimal.class)) + }) + }) + public Response fakeOuterNumberSerialize(@Valid BigDecimal body) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/outer/string") + @Consumes({ "application/json" }) + @Produces({ "*/*" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakeOuterStringSerialize", summary = "", description = "Test serialization of outer string types") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Output string", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="*/*", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = String.class)) + }) + }) + public Response fakeOuterStringSerialize(@Valid String body) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/property/enum-int") + @Consumes({ "application/json" }) + @Produces({ "*/*" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fakePropertyEnumIntegerSerialize", summary = "", description = "Test serialization of enum (int) properties with examples") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Output enum (int)", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="*/*", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = OuterObjectWithEnumProperty.class)) + }) + }) + public Response fakePropertyEnumIntegerSerialize(@Valid @NotNull OuterObjectWithEnumProperty outerObjectWithEnumProperty) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/additionalProperties-reference") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testAdditionalPropertiesReference", summary = "test referenced additionalProperties", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response testAdditionalPropertiesReference(@Valid @NotNull Map requestBody) { + return Response.ok().entity("magic!").build(); + } + + @PUT + @Path("/body-with-binary") + @Consumes({ "image/png" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testBodyWithBinary", summary = "", description = "For this test, the body has to be a binary file.") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Success", content = { + + }) + }) + public Response testBodyWithBinary(@Valid File body) { + return Response.ok().entity("magic!").build(); + } + + @PUT + @Path("/body-with-file-schema") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testBodyWithFileSchema", summary = "", description = "For this test, the body for this request must reference a schema named `File`.") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Success", content = { + + }) + }) + public Response testBodyWithFileSchema(@Valid @NotNull FileSchemaTestClass fileSchemaTestClass) { + return Response.ok().entity("magic!").build(); + } + + @PUT + @Path("/body-with-query-params") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testBodyWithQueryParams", summary = "", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Success", content = { + + }) + }) + public Response testBodyWithQueryParams(@QueryParam("query") @NotNull String query,@Valid @NotNull User user) { + return Response.ok().entity("magic!").build(); + } + + @PATCH + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testClientModel", summary = "To test \"client\" model", description = "To test \"client\" model") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Client.class)) + }) + }) + public Response testClientModel(@Valid @NotNull Client client) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Consumes({ "application/x-www-form-urlencoded" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "http_basic_test") + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testEndpointParameters", summary = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ", description = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid username supplied", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "User not found", content = { + + }) + }) + public Response testEndpointParameters(@FormParam(value = "number") BigDecimal number,@FormParam(value = "double") Double _double,@FormParam(value = "pattern_without_delimiter") String patternWithoutDelimiter,@FormParam(value = "byte") byte[] _byte,@FormParam(value = "integer") Integer integer,@FormParam(value = "int32") Integer int32,@FormParam(value = "int64") Long int64,@FormParam(value = "float") Float _float,@FormParam(value = "string") String string, @FormParam(value = "binary") InputStream binaryInputStream,@FormParam(value = "date") LocalDate date,@FormParam(value = "dateTime") LocalDateTime dateTime,@FormParam(value = "password") String password,@FormParam(value = "callback") String paramCallback) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Consumes({ "application/x-www-form-urlencoded" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testEnumParameters", summary = "To test enum parameters", description = "To test enum parameters") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid request", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "Not found", content = { + + }) + }) + public Response testEnumParameters(@HeaderParam("enum_header_string_array") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Header parameter enum test (string array)") List enumHeaderStringArray,@QueryParam("enum_query_string_array") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Query parameter enum test (string array)") List enumQueryStringArray,@QueryParam("enum_query_string") @DefaultValue("-efg") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Query parameter enum test (string)") String enumQueryString,@QueryParam("enum_query_integer") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Query parameter enum test (double)") Integer enumQueryInteger,@QueryParam("enum_query_double") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Query parameter enum test (double)") Double enumQueryDouble,@QueryParam("enum_query_model_array") List enumQueryModelArray,@FormParam(value = "enum_form_string_array") List enumFormStringArray,@FormParam(value = "enum_form_string") String enumFormString) { + return Response.ok().entity("magic!").build(); + } + + @DELETE + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "bearer_test") + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testGroupParameters", summary = "Fake endpoint to test group parameters (optional)", description = "Fake endpoint to test group parameters (optional)") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Something wrong", content = { + + }) + }) + public Response testGroupParameters(@QueryParam("required_string_group") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Required String in group parameters") Integer requiredStringGroup,@HeaderParam("required_boolean_group") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Required Boolean in group parameters") Boolean requiredBooleanGroup,@QueryParam("required_int64_group") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Required Integer in group parameters") Long requiredInt64Group,@QueryParam("string_group") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="String in group parameters") Integer stringGroup,@HeaderParam("boolean_group") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Boolean in group parameters") Boolean booleanGroup,@QueryParam("int64_group") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Integer in group parameters") Long int64Group) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/inline-additionalProperties") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testInlineAdditionalProperties", summary = "test inline additionalProperties", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response testInlineAdditionalProperties(@Valid @NotNull Map requestBody) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/inline-freeform-additionalProperties") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testInlineFreeformAdditionalProperties", summary = "test inline free-form additionalProperties", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response testInlineFreeformAdditionalProperties(@Valid @NotNull TestInlineFreeformAdditionalPropertiesRequest testInlineFreeformAdditionalPropertiesRequest) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/jsonFormData") + @Consumes({ "application/x-www-form-urlencoded" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testJsonFormData", summary = "test json serialization of form data", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response testJsonFormData(@FormParam(value = "param") String param,@FormParam(value = "param2") String param2) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/nullable") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testNullable", summary = "test nullable parent property", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response testNullable(@Valid @NotNull ChildWithNullable childWithNullable) { + return Response.ok().entity("magic!").build(); + } + + @PUT + @Path("/test-query-parameters") + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testQueryParameterCollectionFormat", summary = "", description = "To test the collection format in query parameters") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Success", content = { + + }) + }) + public Response testQueryParameterCollectionFormat(@QueryParam("pipe") @NotNull List pipe,@QueryParam("ioutil") @NotNull List ioutil,@QueryParam("http") @NotNull List http,@QueryParam("url") @NotNull List url,@QueryParam("context") @NotNull List context,@QueryParam("allowEmpty") @NotNull String allowEmpty,@QueryParam("language") Map language) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/stringMap-reference") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testStringMapReference", summary = "test referenced string map", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response testStringMapReference(@Valid @NotNull Map requestBody) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/{petId}/uploadImageWithRequiredFile") + @Consumes({ "multipart/form-data" }) + @Produces({ "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "uploadFileWithRequiredFile", summary = "uploads an image (required)", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = ModelApiResponse.class)) + }) + }) + public Response uploadFileWithRequiredFile(@PathParam("petId") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="ID of pet to update") Long petId, @FormParam(value = "requiredFile") InputStream requiredFileInputStream,@FormParam(value = "additionalMetadata") String additionalMetadata) { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java new file mode 100644 index 000000000000..454b3f0fbece --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java @@ -0,0 +1,82 @@ +package org.openapitools.api; + +import org.openapitools.model.Client; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "", version="1.0.0", description="", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/fake_classname_test") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FakeClassnameTestApi { + + @PATCH + @Consumes({ "application/json" }) + @Produces({ "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "api_key_query") + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "testClassname", summary = "To test class name in snake case", description = "To test class name in snake case") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="fake_classname_tags 123#$%^") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Client.class)) + }) + }) + public Response testClassname(@Valid @NotNull Client client) { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FooApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FooApi.java new file mode 100644 index 000000000000..3a62fc0430eb --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/FooApi.java @@ -0,0 +1,79 @@ +package org.openapitools.api; + +import org.openapitools.model.FooGetDefaultResponse; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "", version="1.0.0", description="", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="", description="") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/foo") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FooApi { + + @GET + @Produces({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "fooGet", summary = "", description = "") + + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "response", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = FooGetDefaultResponse.class)) + }) + }) + public Response fooGet() { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/PetApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/PetApi.java new file mode 100644 index 000000000000..85710bc751d5 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/PetApi.java @@ -0,0 +1,239 @@ +package org.openapitools.api; + +import java.io.File; +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; +import java.util.Set; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "pet", version="1.0.0", description="Everything about your Pets", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet", description="Everything about your Pets") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet", description="Everything about your Pets") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/pet") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class PetApi { + + @POST + @Consumes({ "application/json", "application/xml" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "addPet", summary = "Add a new pet to the store", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Successful operation", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "405", description = "Invalid input", content = { + + }) + }) + public Response addPet(@Valid @NotNull Pet pet) { + return Response.ok().entity("magic!").build(); + } + + @DELETE + @Path("/{petId}") + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "deletePet", summary = "Deletes a pet", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Successful operation", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid pet value", content = { + + }) + }) + public Response deletePet(@PathParam("petId") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Pet id to delete") Long petId) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/findByStatus") + @Produces({ "application/xml", "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "findPetsByStatus", summary = "Finds Pets by status", description = "Multiple status values can be provided with comma separated strings") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Pet.class, type = org.eclipse.microprofile.openapi.annotations.enums.SchemaType.ARRAY )), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Pet.class, type = org.eclipse.microprofile.openapi.annotations.enums.SchemaType.ARRAY )) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid status value", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response findPetsByStatus(@QueryParam("status") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Status values that need to be considered for filter") List status) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/findByTags") + @Produces({ "application/xml", "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "findPetsByTags", summary = "Finds Pets by tags", description = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Pet.class, type = org.eclipse.microprofile.openapi.annotations.enums.SchemaType.ARRAY , uniqueItems = true )), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Pet.class, type = org.eclipse.microprofile.openapi.annotations.enums.SchemaType.ARRAY , uniqueItems = true )) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid tag value", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response findPetsByTags(@QueryParam("tags") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="Tags to filter by") Set tags) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/{petId}") + @Produces({ "application/xml", "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "api_key") + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "getPetById", summary = "Find pet by ID", description = "Returns a single pet") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Pet.class)), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Pet.class)) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid ID supplied", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "Pet not found", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response getPetById(@PathParam("petId") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="ID of pet to return") Long petId) { + return Response.ok().entity("magic!").build(); + } + + @PUT + @Consumes({ "application/json", "application/xml" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "updatePet", summary = "Update an existing pet", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Successful operation", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid ID supplied", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "Pet not found", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "405", description = "Validation exception", content = { + + }) + }) + public Response updatePet(@Valid @NotNull Pet pet) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/{petId}") + @Consumes({ "application/x-www-form-urlencoded" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "updatePetWithForm", summary = "Updates a pet in the store with form data", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "Successful operation", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "405", description = "Invalid input", content = { + + }) + }) + public Response updatePetWithForm(@PathParam("petId") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="ID of pet that needs to be updated") Long petId,@FormParam(value = "name") String name,@FormParam(value = "status") String status) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/{petId}/uploadImage") + @Consumes({ "multipart/form-data" }) + @Produces({ "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "petstore_auth", scopes = { "write:pets", "read:pets" }) + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "uploadFile", summary = "uploads an image", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="pet") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = ModelApiResponse.class)) + }) + }) + public Response uploadFile(@PathParam("petId") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="ID of pet to update") Long petId,@FormParam(value = "additionalMetadata") String additionalMetadata, @FormParam(value = "file") InputStream _fileInputStream) { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/RestApplication.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/RestApplication.java new file mode 100644 index 000000000000..a0a2d08f9640 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/RestApplication.java @@ -0,0 +1,17 @@ +package org.openapitools.api; + +import javax.ws.rs.ApplicationPath; +import javax.ws.rs.core.Application; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + version="1.0.0" + ,title = "OpenAPI Petstore" + ,description = "This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\" + ,license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + +)) +@ApplicationPath(RestResourceRoot.APPLICATION_PATH) +public class RestApplication extends Application { + +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/RestResourceRoot.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/RestResourceRoot.java new file mode 100644 index 000000000000..96ba6c8d8e40 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/RestResourceRoot.java @@ -0,0 +1,5 @@ +package org.openapitools.api; + +public class RestResourceRoot { + public static final String APPLICATION_PATH = "/v2"; +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/StoreApi.java new file mode 100644 index 000000000000..0a35dda15643 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/StoreApi.java @@ -0,0 +1,145 @@ +package org.openapitools.api; + +import java.util.Map; +import org.openapitools.model.Order; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "store", version="1.0.0", description="Access to Petstore orders", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="store", description="Access to Petstore orders") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="store", description="Access to Petstore orders") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/store") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class StoreApi { + + @DELETE + @Path("/order/{order_id}") + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "deleteOrder", summary = "Delete purchase order by ID", description = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="store") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid ID supplied", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "Order not found", content = { + + }) + }) + public Response deleteOrder(@PathParam("order_id") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="ID of the order that needs to be deleted") String orderId) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/inventory") + @Produces({ "application/json" }) + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirements(value={ + @org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement(name = "api_key") + }) + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "getInventory", summary = "Returns pet inventories by status", description = "Returns a map of status codes to quantities") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="store") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Map.class)) + }) + }) + public Response getInventory() { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/order/{order_id}") + @Produces({ "application/xml", "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "getOrderById", summary = "Find purchase order by ID", description = "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="store") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Order.class)), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Order.class)) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid ID supplied", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "Order not found", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response getOrderById(@PathParam("order_id") @Min(1L) @Max(5L) @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="ID of pet that needs to be fetched") Long orderId) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/order") + @Consumes({ "application/json" }) + @Produces({ "application/xml", "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "placeOrder", summary = "Place an order for a pet", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="store") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Order.class)), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = Order.class)) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid Order", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response placeOrder(@Valid @NotNull Order order) { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/UserApi.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/UserApi.java new file mode 100644 index 000000000000..bdab6a9c59b0 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/api/UserApi.java @@ -0,0 +1,206 @@ +package org.openapitools.api; + +import java.time.LocalDateTime; +import org.openapitools.model.User; + +import javax.ws.rs.*; +import javax.ws.rs.core.Response; + + + + +import java.io.InputStream; +import java.util.Map; +import java.util.List; +import javax.validation.constraints.*; +import javax.validation.Valid; + +@org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition( + info = @org.eclipse.microprofile.openapi.annotations.info.Info( + title = "user", version="1.0.0", description="Operations about user", + license = @org.eclipse.microprofile.openapi.annotations.info.License(name = "Apache-2.0", url = "https://www.apache.org/licenses/LICENSE-2.0.html") + ), + tags = @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user", description="Operations about user") +) +@org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user", description="Operations about user") +@org.eclipse.microprofile.openapi.annotations.security.SecuritySchemes(value = { + @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "petstore_auth", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.OAUTH2, + description = "", + flows = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlows( + implicit = @org.eclipse.microprofile.openapi.annotations.security.OAuthFlow(authorizationUrl = "http://petstore.swagger.io/api/oauth/dialog", + tokenUrl = "", + refreshUrl = "", + scopes = { + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "write:pets", description = "modify pets in your account"), + @org.eclipse.microprofile.openapi.annotations.security.OAuthScope(name = "read:pets", description = "read your pets") + })) + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.HEADER + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "api_key_query", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.APIKEY, + description = "", + apiKeyName = "api_key_query", + in = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn.QUERY + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "http_basic_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "basic" + ), @org.eclipse.microprofile.openapi.annotations.security.SecurityScheme( + securitySchemeName = "bearer_test", + type = org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType.HTTP, + description = "", + scheme = "bearer", bearerFormat = "JWT" + ), +}) +@Path("/user") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class UserApi { + + @POST + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "createUser", summary = "Create user", description = "This can only be done by the logged in user.") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response createUser(@Valid @NotNull User user) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/createWithArray") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "createUsersWithArrayInput", summary = "Creates list of users with given input array", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response createUsersWithArrayInput(@Valid @NotNull List<@Valid User> user) { + return Response.ok().entity("magic!").build(); + } + + @POST + @Path("/createWithList") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "createUsersWithListInput", summary = "Creates list of users with given input array", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response createUsersWithListInput(@Valid @NotNull List<@Valid User> user) { + return Response.ok().entity("magic!").build(); + } + + @DELETE + @Path("/{username}") + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "deleteUser", summary = "Delete user", description = "This can only be done by the logged in user.") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid username supplied", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "User not found", content = { + + }) + }) + public Response deleteUser(@PathParam("username") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="The name that needs to be deleted") String username) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/{username}") + @Produces({ "application/xml", "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "getUserByName", summary = "Get user by user name", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = User.class)), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = User.class)) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid username supplied", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "User not found", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response getUserByName(@PathParam("username") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="The name that needs to be fetched. Use user1 for testing.") String username) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/login") + @Produces({ "application/xml", "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "loginUser", summary = "Logs user into the system", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", headers = { + @org.eclipse.microprofile.openapi.annotations.headers.Header(name = "X-Rate-Limit", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(type = org.eclipse.microprofile.openapi.annotations.enums.SchemaType.INTEGER), description = "calls per hour allowed by the user"), + @org.eclipse.microprofile.openapi.annotations.headers.Header(name = "X-Expires-After", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(type = org.eclipse.microprofile.openapi.annotations.enums.SchemaType.STRING), description = "date in UTC when token expires") + }, content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = String.class)), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json", schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = String.class)) + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid username/password supplied", content = { + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/xml"), + @org.eclipse.microprofile.openapi.annotations.media.Content(mediaType="application/json") + }) + }) + public Response loginUser(@QueryParam("username") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="The user name for login") String username,@QueryParam("password") @NotNull @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="The password for login in clear text") String password) { + return Response.ok().entity("magic!").build(); + } + + @GET + @Path("/logout") + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "logoutUser", summary = "Logs out current logged in user session", description = "") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "200", description = "successful operation", content = { + + }) + }) + public Response logoutUser() { + return Response.ok().entity("magic!").build(); + } + + @PUT + @Path("/{username}") + @Consumes({ "application/json" }) + + @org.eclipse.microprofile.openapi.annotations.Operation(operationId = "updateUser", summary = "Updated user", description = "This can only be done by the logged in user.") + @org.eclipse.microprofile.openapi.annotations.tags.Tag(name="user") + @org.eclipse.microprofile.openapi.annotations.responses.APIResponses(value = { + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "400", description = "Invalid user supplied", content = { + + }), + @org.eclipse.microprofile.openapi.annotations.responses.APIResponse(responseCode = "404", description = "User not found", content = { + + }) + }) + public Response updateUser(@PathParam("username") @org.eclipse.microprofile.openapi.annotations.parameters.Parameter(description="name that need to be deleted") String username,@Valid @NotNull User user) { + return Response.ok().entity("magic!").build(); + } +} diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java new file mode 100644 index 000000000000..1f1eef4714bf --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java @@ -0,0 +1,84 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesAnyType") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesAnyType extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesAnyType name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesAnyType additionalPropertiesAnyType = (AdditionalPropertiesAnyType) o; + return Objects.equals(this.name, additionalPropertiesAnyType.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesAnyType {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java new file mode 100644 index 000000000000..99b8f6b76e6b --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java @@ -0,0 +1,85 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesArray") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesArray extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesArray name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesArray additionalPropertiesArray = (AdditionalPropertiesArray) o; + return Objects.equals(this.name, additionalPropertiesArray.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesArray {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java new file mode 100644 index 000000000000..bb34e58e817a --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java @@ -0,0 +1,84 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesBoolean") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesBoolean extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesBoolean name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesBoolean additionalPropertiesBoolean = (AdditionalPropertiesBoolean) o; + return Objects.equals(this.name, additionalPropertiesBoolean.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesBoolean {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java new file mode 100644 index 000000000000..2f9f9db99b96 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java @@ -0,0 +1,178 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesClass") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesClass implements Serializable { + private @Valid Map mapProperty = new HashMap<>(); + private @Valid Map> mapOfMapProperty = new HashMap<>(); + + protected AdditionalPropertiesClass(AdditionalPropertiesClassBuilder b) { + this.mapProperty = b.mapProperty; + this.mapOfMapProperty = b.mapOfMapProperty; + } + + public AdditionalPropertiesClass() { + } + + /** + **/ + public AdditionalPropertiesClass mapProperty(Map mapProperty) { + this.mapProperty = mapProperty; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("map_property") + public Map getMapProperty() { + return mapProperty; + } + + @JsonProperty("map_property") + public void setMapProperty(Map mapProperty) { + this.mapProperty = mapProperty; + } + + public AdditionalPropertiesClass putMapPropertyItem(String key, String mapPropertyItem) { + if (this.mapProperty == null) { + this.mapProperty = new HashMap<>(); + } + + this.mapProperty.put(key, mapPropertyItem); + return this; + } + + public AdditionalPropertiesClass removeMapPropertyItem(String mapPropertyItem) { + if (mapPropertyItem != null && this.mapProperty != null) { + this.mapProperty.remove(mapPropertyItem); + } + + return this; + } + /** + **/ + public AdditionalPropertiesClass mapOfMapProperty(Map> mapOfMapProperty) { + this.mapOfMapProperty = mapOfMapProperty; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("map_of_map_property") + @Valid public Map> getMapOfMapProperty() { + return mapOfMapProperty; + } + + @JsonProperty("map_of_map_property") + public void setMapOfMapProperty(Map> mapOfMapProperty) { + this.mapOfMapProperty = mapOfMapProperty; + } + + public AdditionalPropertiesClass putMapOfMapPropertyItem(String key, Map mapOfMapPropertyItem) { + if (this.mapOfMapProperty == null) { + this.mapOfMapProperty = new HashMap<>(); + } + + this.mapOfMapProperty.put(key, mapOfMapPropertyItem); + return this; + } + + public AdditionalPropertiesClass removeMapOfMapPropertyItem(Map mapOfMapPropertyItem) { + if (mapOfMapPropertyItem != null && this.mapOfMapProperty != null) { + this.mapOfMapProperty.remove(mapOfMapPropertyItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesClass additionalPropertiesClass = (AdditionalPropertiesClass) o; + return Objects.equals(this.mapProperty, additionalPropertiesClass.mapProperty) && + Objects.equals(this.mapOfMapProperty, additionalPropertiesClass.mapOfMapProperty); + } + + @Override + public int hashCode() { + return Objects.hash(mapProperty, mapOfMapProperty); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesClass {\n"); + + sb.append(" mapProperty: ").append(toIndentedString(mapProperty)).append("\n"); + sb.append(" mapOfMapProperty: ").append(toIndentedString(mapOfMapProperty)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static AdditionalPropertiesClassBuilder builder() { + return new AdditionalPropertiesClassBuilderImpl(); + } + + private static final class AdditionalPropertiesClassBuilderImpl extends AdditionalPropertiesClassBuilder { + + @Override + protected AdditionalPropertiesClassBuilderImpl self() { + return this; + } + + @Override + public AdditionalPropertiesClass build() { + return new AdditionalPropertiesClass(this); + } + } + + public static abstract class AdditionalPropertiesClassBuilder> { + private Map mapProperty = new HashMap<>(); + private Map> mapOfMapProperty = new HashMap<>(); + protected abstract B self(); + + public abstract C build(); + + public B mapProperty(Map mapProperty) { + this.mapProperty = mapProperty; + return self(); + } + public B mapOfMapProperty(Map> mapOfMapProperty) { + this.mapOfMapProperty = mapOfMapProperty; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java new file mode 100644 index 000000000000..2d7961459872 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesInteger.java @@ -0,0 +1,84 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesInteger") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesInteger extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesInteger name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesInteger additionalPropertiesInteger = (AdditionalPropertiesInteger) o; + return Objects.equals(this.name, additionalPropertiesInteger.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesInteger {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java new file mode 100644 index 000000000000..97ade36b064b --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesNumber.java @@ -0,0 +1,85 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesNumber") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesNumber extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesNumber name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesNumber additionalPropertiesNumber = (AdditionalPropertiesNumber) o; + return Objects.equals(this.name, additionalPropertiesNumber.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesNumber {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java new file mode 100644 index 000000000000..ce2afb15ef74 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesObject.java @@ -0,0 +1,84 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesObject") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesObject extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesObject name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesObject additionalPropertiesObject = (AdditionalPropertiesObject) o; + return Objects.equals(this.name, additionalPropertiesObject.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesObject {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java new file mode 100644 index 000000000000..1fda37af1587 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AdditionalPropertiesString.java @@ -0,0 +1,84 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AdditionalPropertiesString") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AdditionalPropertiesString extends HashMap implements Serializable { + private String name; + + /** + **/ + public AdditionalPropertiesString name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdditionalPropertiesString additionalPropertiesString = (AdditionalPropertiesString) o; + return Objects.equals(this.name, additionalPropertiesString.name) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(name, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AdditionalPropertiesString {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AllOfWithSingleRef.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AllOfWithSingleRef.java new file mode 100644 index 000000000000..4e551e256c65 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/AllOfWithSingleRef.java @@ -0,0 +1,145 @@ +package org.openapitools.model; + +import org.openapitools.model.SingleRefType; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("AllOfWithSingleRef") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class AllOfWithSingleRef implements Serializable { + private String username; + private SingleRefType singleRefType; + + protected AllOfWithSingleRef(AllOfWithSingleRefBuilder b) { + this.username = b.username; + this.singleRefType = b.singleRefType; + } + + public AllOfWithSingleRef() { + } + + /** + **/ + public AllOfWithSingleRef username(String username) { + this.username = username; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("username") + public String getUsername() { + return username; + } + + @JsonProperty("username") + public void setUsername(String username) { + this.username = username; + } + + /** + **/ + public AllOfWithSingleRef singleRefType(SingleRefType singleRefType) { + this.singleRefType = singleRefType; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("SingleRefType") + @Valid public SingleRefType getSingleRefType() { + return singleRefType; + } + + @JsonProperty("SingleRefType") + public void setSingleRefType(SingleRefType singleRefType) { + this.singleRefType = singleRefType; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AllOfWithSingleRef allOfWithSingleRef = (AllOfWithSingleRef) o; + return Objects.equals(this.username, allOfWithSingleRef.username) && + Objects.equals(this.singleRefType, allOfWithSingleRef.singleRefType); + } + + @Override + public int hashCode() { + return Objects.hash(username, singleRefType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AllOfWithSingleRef {\n"); + + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" singleRefType: ").append(toIndentedString(singleRefType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static AllOfWithSingleRefBuilder builder() { + return new AllOfWithSingleRefBuilderImpl(); + } + + private static final class AllOfWithSingleRefBuilderImpl extends AllOfWithSingleRefBuilder { + + @Override + protected AllOfWithSingleRefBuilderImpl self() { + return this; + } + + @Override + public AllOfWithSingleRef build() { + return new AllOfWithSingleRef(this); + } + } + + public static abstract class AllOfWithSingleRefBuilder> { + private String username; + private SingleRefType singleRefType; + protected abstract B self(); + + public abstract C build(); + + public B username(String username) { + this.username = username; + return self(); + } + public B singleRefType(SingleRefType singleRefType) { + this.singleRefType = singleRefType; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Animal.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Animal.java new file mode 100644 index 000000000000..59ee072684fc --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Animal.java @@ -0,0 +1,152 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "className", visible = true) +@JsonSubTypes({ + @JsonSubTypes.Type(value = Cat.class, name = "CAT"), + @JsonSubTypes.Type(value = Dog.class, name = "DOG"), +}) + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Animal") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Animal implements Serializable { + private String className; + private String color = "red"; + + protected Animal(AnimalBuilder b) { + this.className = b.className; + this.color = b.color; + } + + public Animal() { + } + + /** + **/ + public Animal className(String className) { + this.className = className; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("className") + @NotNull public String getClassName() { + return className; + } + + @JsonProperty("className") + public void setClassName(String className) { + this.className = className; + } + + /** + **/ + public Animal color(String color) { + this.color = color; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("color") + public String getColor() { + return color; + } + + @JsonProperty("color") + public void setColor(String color) { + this.color = color; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Animal animal = (Animal) o; + return Objects.equals(this.className, animal.className) && + Objects.equals(this.color, animal.color); + } + + @Override + public int hashCode() { + return Objects.hash(className, color); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Animal {\n"); + + sb.append(" className: ").append(toIndentedString(className)).append("\n"); + sb.append(" color: ").append(toIndentedString(color)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static AnimalBuilder builder() { + return new AnimalBuilderImpl(); + } + + private static final class AnimalBuilderImpl extends AnimalBuilder { + + @Override + protected AnimalBuilderImpl self() { + return this; + } + + @Override + public Animal build() { + return new Animal(this); + } + } + + public static abstract class AnimalBuilder> { + private String className; + private String color = "red"; + protected abstract B self(); + + public abstract C build(); + + public B className(String className) { + this.className = className; + return self(); + } + public B color(String color) { + this.color = color; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java new file mode 100644 index 000000000000..c88ada708f52 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java @@ -0,0 +1,136 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ArrayOfArrayOfNumberOnly") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ArrayOfArrayOfNumberOnly implements Serializable { + private @Valid List> arrayArrayNumber = new ArrayList<>(); + + protected ArrayOfArrayOfNumberOnly(ArrayOfArrayOfNumberOnlyBuilder b) { + this.arrayArrayNumber = b.arrayArrayNumber; + } + + public ArrayOfArrayOfNumberOnly() { + } + + /** + **/ + public ArrayOfArrayOfNumberOnly arrayArrayNumber(List> arrayArrayNumber) { + this.arrayArrayNumber = arrayArrayNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("ArrayArrayNumber") + @Valid public List<@Valid List<@Valid BigDecimal>> getArrayArrayNumber() { + return arrayArrayNumber; + } + + @JsonProperty("ArrayArrayNumber") + public void setArrayArrayNumber(List> arrayArrayNumber) { + this.arrayArrayNumber = arrayArrayNumber; + } + + public ArrayOfArrayOfNumberOnly addArrayArrayNumberItem(List arrayArrayNumberItem) { + if (this.arrayArrayNumber == null) { + this.arrayArrayNumber = new ArrayList<>(); + } + + this.arrayArrayNumber.add(arrayArrayNumberItem); + return this; + } + + public ArrayOfArrayOfNumberOnly removeArrayArrayNumberItem(List arrayArrayNumberItem) { + if (arrayArrayNumberItem != null && this.arrayArrayNumber != null) { + this.arrayArrayNumber.remove(arrayArrayNumberItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayOfArrayOfNumberOnly arrayOfArrayOfNumberOnly = (ArrayOfArrayOfNumberOnly) o; + return Objects.equals(this.arrayArrayNumber, arrayOfArrayOfNumberOnly.arrayArrayNumber); + } + + @Override + public int hashCode() { + return Objects.hash(arrayArrayNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ArrayOfArrayOfNumberOnly {\n"); + + sb.append(" arrayArrayNumber: ").append(toIndentedString(arrayArrayNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ArrayOfArrayOfNumberOnlyBuilder builder() { + return new ArrayOfArrayOfNumberOnlyBuilderImpl(); + } + + private static final class ArrayOfArrayOfNumberOnlyBuilderImpl extends ArrayOfArrayOfNumberOnlyBuilder { + + @Override + protected ArrayOfArrayOfNumberOnlyBuilderImpl self() { + return this; + } + + @Override + public ArrayOfArrayOfNumberOnly build() { + return new ArrayOfArrayOfNumberOnly(this); + } + } + + public static abstract class ArrayOfArrayOfNumberOnlyBuilder> { + private List> arrayArrayNumber = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B arrayArrayNumber(List> arrayArrayNumber) { + this.arrayArrayNumber = arrayArrayNumber; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java new file mode 100644 index 000000000000..eded2af23bc0 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java @@ -0,0 +1,136 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ArrayOfNumberOnly") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ArrayOfNumberOnly implements Serializable { + private @Valid List arrayNumber = new ArrayList<>(); + + protected ArrayOfNumberOnly(ArrayOfNumberOnlyBuilder b) { + this.arrayNumber = b.arrayNumber; + } + + public ArrayOfNumberOnly() { + } + + /** + **/ + public ArrayOfNumberOnly arrayNumber(List arrayNumber) { + this.arrayNumber = arrayNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("ArrayNumber") + @Valid public List<@Valid BigDecimal> getArrayNumber() { + return arrayNumber; + } + + @JsonProperty("ArrayNumber") + public void setArrayNumber(List arrayNumber) { + this.arrayNumber = arrayNumber; + } + + public ArrayOfNumberOnly addArrayNumberItem(BigDecimal arrayNumberItem) { + if (this.arrayNumber == null) { + this.arrayNumber = new ArrayList<>(); + } + + this.arrayNumber.add(arrayNumberItem); + return this; + } + + public ArrayOfNumberOnly removeArrayNumberItem(BigDecimal arrayNumberItem) { + if (arrayNumberItem != null && this.arrayNumber != null) { + this.arrayNumber.remove(arrayNumberItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayOfNumberOnly arrayOfNumberOnly = (ArrayOfNumberOnly) o; + return Objects.equals(this.arrayNumber, arrayOfNumberOnly.arrayNumber); + } + + @Override + public int hashCode() { + return Objects.hash(arrayNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ArrayOfNumberOnly {\n"); + + sb.append(" arrayNumber: ").append(toIndentedString(arrayNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ArrayOfNumberOnlyBuilder builder() { + return new ArrayOfNumberOnlyBuilderImpl(); + } + + private static final class ArrayOfNumberOnlyBuilderImpl extends ArrayOfNumberOnlyBuilder { + + @Override + protected ArrayOfNumberOnlyBuilderImpl self() { + return this; + } + + @Override + public ArrayOfNumberOnly build() { + return new ArrayOfNumberOnly(this); + } + } + + public static abstract class ArrayOfNumberOnlyBuilder> { + private List arrayNumber = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B arrayNumber(List arrayNumber) { + this.arrayNumber = arrayNumber; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayTest.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayTest.java new file mode 100644 index 000000000000..17f086ea6f24 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ArrayTest.java @@ -0,0 +1,224 @@ +package org.openapitools.model; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.model.ReadOnlyFirst; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ArrayTest") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ArrayTest implements Serializable { + private @Valid List arrayOfString = new ArrayList<>(); + private @Valid List> arrayArrayOfInteger = new ArrayList<>(); + private @Valid List> arrayArrayOfModel = new ArrayList<>(); + + protected ArrayTest(ArrayTestBuilder b) { + this.arrayOfString = b.arrayOfString; + this.arrayArrayOfInteger = b.arrayArrayOfInteger; + this.arrayArrayOfModel = b.arrayArrayOfModel; + } + + public ArrayTest() { + } + + /** + **/ + public ArrayTest arrayOfString(List arrayOfString) { + this.arrayOfString = arrayOfString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_of_string") + @Size(min=0,max=3)public List getArrayOfString() { + return arrayOfString; + } + + @JsonProperty("array_of_string") + public void setArrayOfString(List arrayOfString) { + this.arrayOfString = arrayOfString; + } + + public ArrayTest addArrayOfStringItem(String arrayOfStringItem) { + if (this.arrayOfString == null) { + this.arrayOfString = new ArrayList<>(); + } + + this.arrayOfString.add(arrayOfStringItem); + return this; + } + + public ArrayTest removeArrayOfStringItem(String arrayOfStringItem) { + if (arrayOfStringItem != null && this.arrayOfString != null) { + this.arrayOfString.remove(arrayOfStringItem); + } + + return this; + } + /** + **/ + public ArrayTest arrayArrayOfInteger(List> arrayArrayOfInteger) { + this.arrayArrayOfInteger = arrayArrayOfInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_array_of_integer") + @Valid public List> getArrayArrayOfInteger() { + return arrayArrayOfInteger; + } + + @JsonProperty("array_array_of_integer") + public void setArrayArrayOfInteger(List> arrayArrayOfInteger) { + this.arrayArrayOfInteger = arrayArrayOfInteger; + } + + public ArrayTest addArrayArrayOfIntegerItem(List arrayArrayOfIntegerItem) { + if (this.arrayArrayOfInteger == null) { + this.arrayArrayOfInteger = new ArrayList<>(); + } + + this.arrayArrayOfInteger.add(arrayArrayOfIntegerItem); + return this; + } + + public ArrayTest removeArrayArrayOfIntegerItem(List arrayArrayOfIntegerItem) { + if (arrayArrayOfIntegerItem != null && this.arrayArrayOfInteger != null) { + this.arrayArrayOfInteger.remove(arrayArrayOfIntegerItem); + } + + return this; + } + /** + **/ + public ArrayTest arrayArrayOfModel(List> arrayArrayOfModel) { + this.arrayArrayOfModel = arrayArrayOfModel; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_array_of_model") + @Valid public List<@Valid List<@Valid ReadOnlyFirst>> getArrayArrayOfModel() { + return arrayArrayOfModel; + } + + @JsonProperty("array_array_of_model") + public void setArrayArrayOfModel(List> arrayArrayOfModel) { + this.arrayArrayOfModel = arrayArrayOfModel; + } + + public ArrayTest addArrayArrayOfModelItem(List<@Valid ReadOnlyFirst> arrayArrayOfModelItem) { + if (this.arrayArrayOfModel == null) { + this.arrayArrayOfModel = new ArrayList<>(); + } + + this.arrayArrayOfModel.add(arrayArrayOfModelItem); + return this; + } + + public ArrayTest removeArrayArrayOfModelItem(List<@Valid ReadOnlyFirst> arrayArrayOfModelItem) { + if (arrayArrayOfModelItem != null && this.arrayArrayOfModel != null) { + this.arrayArrayOfModel.remove(arrayArrayOfModelItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayTest arrayTest = (ArrayTest) o; + return Objects.equals(this.arrayOfString, arrayTest.arrayOfString) && + Objects.equals(this.arrayArrayOfInteger, arrayTest.arrayArrayOfInteger) && + Objects.equals(this.arrayArrayOfModel, arrayTest.arrayArrayOfModel); + } + + @Override + public int hashCode() { + return Objects.hash(arrayOfString, arrayArrayOfInteger, arrayArrayOfModel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ArrayTest {\n"); + + sb.append(" arrayOfString: ").append(toIndentedString(arrayOfString)).append("\n"); + sb.append(" arrayArrayOfInteger: ").append(toIndentedString(arrayArrayOfInteger)).append("\n"); + sb.append(" arrayArrayOfModel: ").append(toIndentedString(arrayArrayOfModel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ArrayTestBuilder builder() { + return new ArrayTestBuilderImpl(); + } + + private static final class ArrayTestBuilderImpl extends ArrayTestBuilder { + + @Override + protected ArrayTestBuilderImpl self() { + return this; + } + + @Override + public ArrayTest build() { + return new ArrayTest(this); + } + } + + public static abstract class ArrayTestBuilder> { + private List arrayOfString = new ArrayList<>(); + private List> arrayArrayOfInteger = new ArrayList<>(); + private List> arrayArrayOfModel = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B arrayOfString(List arrayOfString) { + this.arrayOfString = arrayOfString; + return self(); + } + public B arrayArrayOfInteger(List> arrayArrayOfInteger) { + this.arrayArrayOfInteger = arrayArrayOfInteger; + return self(); + } + public B arrayArrayOfModel(List> arrayArrayOfModel) { + this.arrayArrayOfModel = arrayArrayOfModel; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/BigCat.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/BigCat.java new file mode 100644 index 000000000000..47842269e44c --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/BigCat.java @@ -0,0 +1,163 @@ +package org.openapitools.model; + +import org.openapitools.model.Cat; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("BigCat") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class BigCat extends Cat implements Serializable { + public enum KindEnum { + + LIONS(String.valueOf("lions")), TIGERS(String.valueOf("tigers")), LEOPARDS(String.valueOf("leopards")), JAGUARS(String.valueOf("jaguars")); + + + private String value; + + KindEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static KindEnum fromString(String s) { + for (KindEnum b : KindEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private KindEnum kind; + + protected BigCat(BigCatBuilder b) { + super(b); + this.kind = b.kind; + } + + public BigCat() { + } + + /** + **/ + public BigCat kind(KindEnum kind) { + this.kind = kind; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("kind") + public KindEnum getKind() { + return kind; + } + + @JsonProperty("kind") + public void setKind(KindEnum kind) { + this.kind = kind; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BigCat bigCat = (BigCat) o; + return Objects.equals(this.kind, bigCat.kind) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(kind, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BigCat {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static BigCatBuilder builder() { + return new BigCatBuilderImpl(); + } + + private static final class BigCatBuilderImpl extends BigCatBuilder { + + @Override + protected BigCatBuilderImpl self() { + return this; + } + + @Override + public BigCat build() { + return new BigCat(this); + } + } + + public static abstract class BigCatBuilder> extends CatBuilder { + private KindEnum kind; + + public B kind(KindEnum kind) { + this.kind = kind; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Capitalization.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Capitalization.java new file mode 100644 index 000000000000..6acbf5cedd1e --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Capitalization.java @@ -0,0 +1,257 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Capitalization") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Capitalization implements Serializable { + private String smallCamel; + private String capitalCamel; + private String smallSnake; + private String capitalSnake; + private String scAETHFlowPoints; + private String ATT_NAME; + + protected Capitalization(CapitalizationBuilder b) { + this.smallCamel = b.smallCamel; + this.capitalCamel = b.capitalCamel; + this.smallSnake = b.smallSnake; + this.capitalSnake = b.capitalSnake; + this.scAETHFlowPoints = b.scAETHFlowPoints; + this.ATT_NAME = b.ATT_NAME; + } + + public Capitalization() { + } + + /** + **/ + public Capitalization smallCamel(String smallCamel) { + this.smallCamel = smallCamel; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("smallCamel") + public String getSmallCamel() { + return smallCamel; + } + + @JsonProperty("smallCamel") + public void setSmallCamel(String smallCamel) { + this.smallCamel = smallCamel; + } + + /** + **/ + public Capitalization capitalCamel(String capitalCamel) { + this.capitalCamel = capitalCamel; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("CapitalCamel") + public String getCapitalCamel() { + return capitalCamel; + } + + @JsonProperty("CapitalCamel") + public void setCapitalCamel(String capitalCamel) { + this.capitalCamel = capitalCamel; + } + + /** + **/ + public Capitalization smallSnake(String smallSnake) { + this.smallSnake = smallSnake; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("small_Snake") + public String getSmallSnake() { + return smallSnake; + } + + @JsonProperty("small_Snake") + public void setSmallSnake(String smallSnake) { + this.smallSnake = smallSnake; + } + + /** + **/ + public Capitalization capitalSnake(String capitalSnake) { + this.capitalSnake = capitalSnake; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("Capital_Snake") + public String getCapitalSnake() { + return capitalSnake; + } + + @JsonProperty("Capital_Snake") + public void setCapitalSnake(String capitalSnake) { + this.capitalSnake = capitalSnake; + } + + /** + **/ + public Capitalization scAETHFlowPoints(String scAETHFlowPoints) { + this.scAETHFlowPoints = scAETHFlowPoints; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("SCA_ETH_Flow_Points") + public String getScAETHFlowPoints() { + return scAETHFlowPoints; + } + + @JsonProperty("SCA_ETH_Flow_Points") + public void setScAETHFlowPoints(String scAETHFlowPoints) { + this.scAETHFlowPoints = scAETHFlowPoints; + } + + /** + * Name of the pet + **/ + public Capitalization ATT_NAME(String ATT_NAME) { + this.ATT_NAME = ATT_NAME; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "Name of the pet ") + @JsonProperty("ATT_NAME") + public String getATTNAME() { + return ATT_NAME; + } + + @JsonProperty("ATT_NAME") + public void setATTNAME(String ATT_NAME) { + this.ATT_NAME = ATT_NAME; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Capitalization capitalization = (Capitalization) o; + return Objects.equals(this.smallCamel, capitalization.smallCamel) && + Objects.equals(this.capitalCamel, capitalization.capitalCamel) && + Objects.equals(this.smallSnake, capitalization.smallSnake) && + Objects.equals(this.capitalSnake, capitalization.capitalSnake) && + Objects.equals(this.scAETHFlowPoints, capitalization.scAETHFlowPoints) && + Objects.equals(this.ATT_NAME, capitalization.ATT_NAME); + } + + @Override + public int hashCode() { + return Objects.hash(smallCamel, capitalCamel, smallSnake, capitalSnake, scAETHFlowPoints, ATT_NAME); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Capitalization {\n"); + + sb.append(" smallCamel: ").append(toIndentedString(smallCamel)).append("\n"); + sb.append(" capitalCamel: ").append(toIndentedString(capitalCamel)).append("\n"); + sb.append(" smallSnake: ").append(toIndentedString(smallSnake)).append("\n"); + sb.append(" capitalSnake: ").append(toIndentedString(capitalSnake)).append("\n"); + sb.append(" scAETHFlowPoints: ").append(toIndentedString(scAETHFlowPoints)).append("\n"); + sb.append(" ATT_NAME: ").append(toIndentedString(ATT_NAME)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static CapitalizationBuilder builder() { + return new CapitalizationBuilderImpl(); + } + + private static final class CapitalizationBuilderImpl extends CapitalizationBuilder { + + @Override + protected CapitalizationBuilderImpl self() { + return this; + } + + @Override + public Capitalization build() { + return new Capitalization(this); + } + } + + public static abstract class CapitalizationBuilder> { + private String smallCamel; + private String capitalCamel; + private String smallSnake; + private String capitalSnake; + private String scAETHFlowPoints; + private String ATT_NAME; + protected abstract B self(); + + public abstract C build(); + + public B smallCamel(String smallCamel) { + this.smallCamel = smallCamel; + return self(); + } + public B capitalCamel(String capitalCamel) { + this.capitalCamel = capitalCamel; + return self(); + } + public B smallSnake(String smallSnake) { + this.smallSnake = smallSnake; + return self(); + } + public B capitalSnake(String capitalSnake) { + this.capitalSnake = capitalSnake; + return self(); + } + public B scAETHFlowPoints(String scAETHFlowPoints) { + this.scAETHFlowPoints = scAETHFlowPoints; + return self(); + } + public B ATT_NAME(String ATT_NAME) { + this.ATT_NAME = ATT_NAME; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Cat.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Cat.java new file mode 100644 index 000000000000..9917d941c971 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Cat.java @@ -0,0 +1,116 @@ +package org.openapitools.model; + +import org.openapitools.model.Animal; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Cat") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Cat extends Animal implements Serializable { + private Boolean declawed; + + protected Cat(CatBuilder b) { + super(b); + this.declawed = b.declawed; + } + + public Cat() { + } + + /** + **/ + public Cat declawed(Boolean declawed) { + this.declawed = declawed; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("declawed") + public Boolean getDeclawed() { + return declawed; + } + + @JsonProperty("declawed") + public void setDeclawed(Boolean declawed) { + this.declawed = declawed; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Cat cat = (Cat) o; + return Objects.equals(this.declawed, cat.declawed) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(declawed, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Cat {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" declawed: ").append(toIndentedString(declawed)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static CatBuilder builder() { + return new CatBuilderImpl(); + } + + private static final class CatBuilderImpl extends CatBuilder { + + @Override + protected CatBuilderImpl self() { + return this; + } + + @Override + public Cat build() { + return new Cat(this); + } + } + + public static abstract class CatBuilder> extends AnimalBuilder { + private Boolean declawed; + + public B declawed(Boolean declawed) { + this.declawed = declawed; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Category.java new file mode 100644 index 000000000000..8b56ec044192 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Category.java @@ -0,0 +1,144 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Category") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Category implements Serializable { + private Long id; + private String name = "default-name"; + + protected Category(CategoryBuilder b) { + this.id = b.id; + this.name = b.name; + } + + public Category() { + } + + /** + **/ + public Category id(Long id) { + this.id = id; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + /** + **/ + public Category name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("name") + @NotNull public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Category category = (Category) o; + return Objects.equals(this.id, category.id) && + Objects.equals(this.name, category.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Category {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static CategoryBuilder builder() { + return new CategoryBuilderImpl(); + } + + private static final class CategoryBuilderImpl extends CategoryBuilder { + + @Override + protected CategoryBuilderImpl self() { + return this; + } + + @Override + public Category build() { + return new Category(this); + } + } + + public static abstract class CategoryBuilder> { + private Long id; + private String name = "default-name"; + protected abstract B self(); + + public abstract C build(); + + public B id(Long id) { + this.id = id; + return self(); + } + public B name(String name) { + this.name = name; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ChildWithNullable.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ChildWithNullable.java new file mode 100644 index 000000000000..a28bb86b964d --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ChildWithNullable.java @@ -0,0 +1,117 @@ +package org.openapitools.model; + +import org.openapitools.jackson.nullable.JsonNullable; +import org.openapitools.model.ParentWithNullable; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ChildWithNullable") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ChildWithNullable extends ParentWithNullable implements Serializable { + private String otherProperty; + + protected ChildWithNullable(ChildWithNullableBuilder b) { + super(b); + this.otherProperty = b.otherProperty; + } + + public ChildWithNullable() { + } + + /** + **/ + public ChildWithNullable otherProperty(String otherProperty) { + this.otherProperty = otherProperty; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("otherProperty") + public String getOtherProperty() { + return otherProperty; + } + + @JsonProperty("otherProperty") + public void setOtherProperty(String otherProperty) { + this.otherProperty = otherProperty; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ChildWithNullable childWithNullable = (ChildWithNullable) o; + return Objects.equals(this.otherProperty, childWithNullable.otherProperty) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(otherProperty, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ChildWithNullable {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" otherProperty: ").append(toIndentedString(otherProperty)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ChildWithNullableBuilder builder() { + return new ChildWithNullableBuilderImpl(); + } + + private static final class ChildWithNullableBuilderImpl extends ChildWithNullableBuilder { + + @Override + protected ChildWithNullableBuilderImpl self() { + return this; + } + + @Override + public ChildWithNullable build() { + return new ChildWithNullable(this); + } + } + + public static abstract class ChildWithNullableBuilder> extends ParentWithNullableBuilder { + private String otherProperty; + + public B otherProperty(String otherProperty) { + this.otherProperty = otherProperty; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ClassModel.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ClassModel.java new file mode 100644 index 000000000000..f235033c9a7b --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ClassModel.java @@ -0,0 +1,118 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Model for testing model with \"_class\" property + **/ + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="Model for testing model with \"_class\" property") +@JsonTypeName("ClassModel") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ClassModel implements Serializable { + private String propertyClass; + + protected ClassModel(ClassModelBuilder b) { + this.propertyClass = b.propertyClass; + } + + public ClassModel() { + } + + /** + **/ + public ClassModel propertyClass(String propertyClass) { + this.propertyClass = propertyClass; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("_class") + public String getPropertyClass() { + return propertyClass; + } + + @JsonProperty("_class") + public void setPropertyClass(String propertyClass) { + this.propertyClass = propertyClass; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClassModel classModel = (ClassModel) o; + return Objects.equals(this.propertyClass, classModel.propertyClass); + } + + @Override + public int hashCode() { + return Objects.hash(propertyClass); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClassModel {\n"); + + sb.append(" propertyClass: ").append(toIndentedString(propertyClass)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ClassModelBuilder builder() { + return new ClassModelBuilderImpl(); + } + + private static final class ClassModelBuilderImpl extends ClassModelBuilder { + + @Override + protected ClassModelBuilderImpl self() { + return this; + } + + @Override + public ClassModel build() { + return new ClassModel(this); + } + } + + public static abstract class ClassModelBuilder> { + private String propertyClass; + protected abstract B self(); + + public abstract C build(); + + public B propertyClass(String propertyClass) { + this.propertyClass = propertyClass; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Client.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Client.java new file mode 100644 index 000000000000..270417c29a89 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Client.java @@ -0,0 +1,116 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Client") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Client implements Serializable { + private String client; + + protected Client(ClientBuilder b) { + this.client = b.client; + } + + public Client() { + } + + /** + **/ + public Client client(String client) { + this.client = client; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("client") + public String getClient() { + return client; + } + + @JsonProperty("client") + public void setClient(String client) { + this.client = client; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Client client = (Client) o; + return Objects.equals(this.client, client.client); + } + + @Override + public int hashCode() { + return Objects.hash(client); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Client {\n"); + + sb.append(" client: ").append(toIndentedString(client)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ClientBuilder builder() { + return new ClientBuilderImpl(); + } + + private static final class ClientBuilderImpl extends ClientBuilder { + + @Override + protected ClientBuilderImpl self() { + return this; + } + + @Override + public Client build() { + return new Client(this); + } + } + + public static abstract class ClientBuilder> { + private String client; + protected abstract B self(); + + public abstract C build(); + + public B client(String client) { + this.client = client; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/DeprecatedObject.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/DeprecatedObject.java new file mode 100644 index 000000000000..5140832f3f92 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/DeprecatedObject.java @@ -0,0 +1,116 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("DeprecatedObject") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class DeprecatedObject implements Serializable { + private String name; + + protected DeprecatedObject(DeprecatedObjectBuilder b) { + this.name = b.name; + } + + public DeprecatedObject() { + } + + /** + **/ + public DeprecatedObject name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeprecatedObject deprecatedObject = (DeprecatedObject) o; + return Objects.equals(this.name, deprecatedObject.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeprecatedObject {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static DeprecatedObjectBuilder builder() { + return new DeprecatedObjectBuilderImpl(); + } + + private static final class DeprecatedObjectBuilderImpl extends DeprecatedObjectBuilder { + + @Override + protected DeprecatedObjectBuilderImpl self() { + return this; + } + + @Override + public DeprecatedObject build() { + return new DeprecatedObject(this); + } + } + + public static abstract class DeprecatedObjectBuilder> { + private String name; + protected abstract B self(); + + public abstract C build(); + + public B name(String name) { + this.name = name; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Dog.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Dog.java new file mode 100644 index 000000000000..ea4ed8fc6e8b --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Dog.java @@ -0,0 +1,116 @@ +package org.openapitools.model; + +import org.openapitools.model.Animal; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Dog") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Dog extends Animal implements Serializable { + private String breed; + + protected Dog(DogBuilder b) { + super(b); + this.breed = b.breed; + } + + public Dog() { + } + + /** + **/ + public Dog breed(String breed) { + this.breed = breed; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("breed") + public String getBreed() { + return breed; + } + + @JsonProperty("breed") + public void setBreed(String breed) { + this.breed = breed; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Dog dog = (Dog) o; + return Objects.equals(this.breed, dog.breed) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(breed, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Dog {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" breed: ").append(toIndentedString(breed)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static DogBuilder builder() { + return new DogBuilderImpl(); + } + + private static final class DogBuilderImpl extends DogBuilder { + + @Override + protected DogBuilderImpl self() { + return this; + } + + @Override + public Dog build() { + return new Dog(this); + } + } + + public static abstract class DogBuilder> extends AnimalBuilder { + private String breed; + + public B breed(String breed) { + this.breed = breed; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumArrays.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumArrays.java new file mode 100644 index 000000000000..98c6b9aa6ff0 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumArrays.java @@ -0,0 +1,257 @@ +package org.openapitools.model; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("EnumArrays") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class EnumArrays implements Serializable { + public enum JustSymbolEnum { + + GREATER_THAN_OR_EQUAL_TO(String.valueOf(">=")), DOLLAR(String.valueOf("$")); + + + private String value; + + JustSymbolEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static JustSymbolEnum fromString(String s) { + for (JustSymbolEnum b : JustSymbolEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static JustSymbolEnum fromValue(String value) { + for (JustSymbolEnum b : JustSymbolEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private JustSymbolEnum justSymbol; + public enum ArrayEnumEnum { + + FISH(String.valueOf("fish")), CRAB(String.valueOf("crab")); + + + private String value; + + ArrayEnumEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static ArrayEnumEnum fromString(String s) { + for (ArrayEnumEnum b : ArrayEnumEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static ArrayEnumEnum fromValue(String value) { + for (ArrayEnumEnum b : ArrayEnumEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private @Valid List arrayEnum = new ArrayList<>(); + + protected EnumArrays(EnumArraysBuilder b) { + this.justSymbol = b.justSymbol; + this.arrayEnum = b.arrayEnum; + } + + public EnumArrays() { + } + + /** + **/ + public EnumArrays justSymbol(JustSymbolEnum justSymbol) { + this.justSymbol = justSymbol; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("just_symbol") + public JustSymbolEnum getJustSymbol() { + return justSymbol; + } + + @JsonProperty("just_symbol") + public void setJustSymbol(JustSymbolEnum justSymbol) { + this.justSymbol = justSymbol; + } + + /** + **/ + public EnumArrays arrayEnum(List arrayEnum) { + this.arrayEnum = arrayEnum; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_enum") + public List getArrayEnum() { + return arrayEnum; + } + + @JsonProperty("array_enum") + public void setArrayEnum(List arrayEnum) { + this.arrayEnum = arrayEnum; + } + + public EnumArrays addArrayEnumItem(ArrayEnumEnum arrayEnumItem) { + if (this.arrayEnum == null) { + this.arrayEnum = new ArrayList<>(); + } + + this.arrayEnum.add(arrayEnumItem); + return this; + } + + public EnumArrays removeArrayEnumItem(ArrayEnumEnum arrayEnumItem) { + if (arrayEnumItem != null && this.arrayEnum != null) { + this.arrayEnum.remove(arrayEnumItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnumArrays enumArrays = (EnumArrays) o; + return Objects.equals(this.justSymbol, enumArrays.justSymbol) && + Objects.equals(this.arrayEnum, enumArrays.arrayEnum); + } + + @Override + public int hashCode() { + return Objects.hash(justSymbol, arrayEnum); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EnumArrays {\n"); + + sb.append(" justSymbol: ").append(toIndentedString(justSymbol)).append("\n"); + sb.append(" arrayEnum: ").append(toIndentedString(arrayEnum)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static EnumArraysBuilder builder() { + return new EnumArraysBuilderImpl(); + } + + private static final class EnumArraysBuilderImpl extends EnumArraysBuilder { + + @Override + protected EnumArraysBuilderImpl self() { + return this; + } + + @Override + public EnumArrays build() { + return new EnumArrays(this); + } + } + + public static abstract class EnumArraysBuilder> { + private JustSymbolEnum justSymbol; + private List arrayEnum = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B justSymbol(JustSymbolEnum justSymbol) { + this.justSymbol = justSymbol; + return self(); + } + public B arrayEnum(List arrayEnum) { + this.arrayEnum = arrayEnum; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumClass.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumClass.java new file mode 100644 index 000000000000..089a69da6da5 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumClass.java @@ -0,0 +1,59 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets EnumClass + */ +public enum EnumClass { + + _ABC("_abc"), + + _EFG("-efg"), + + _XYZ_("(xyz)"); + + private String value; + + EnumClass(String value) { + this.value = value; + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static EnumClass fromString(String s) { + for (EnumClass b : EnumClass.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumClass fromValue(String value) { + for (EnumClass b : EnumClass.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumTest.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumTest.java new file mode 100644 index 000000000000..e86af587dafa --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/EnumTest.java @@ -0,0 +1,506 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import org.openapitools.jackson.nullable.JsonNullable; +import org.openapitools.model.OuterEnum; +import org.openapitools.model.OuterEnumDefaultValue; +import org.openapitools.model.OuterEnumInteger; +import org.openapitools.model.OuterEnumIntegerDefaultValue; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Enum_Test") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class EnumTest implements Serializable { + public enum EnumStringEnum { + + UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower")), EMPTY(String.valueOf("")); + + + private String value; + + EnumStringEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static EnumStringEnum fromString(String s) { + for (EnumStringEnum b : EnumStringEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static EnumStringEnum fromValue(String value) { + for (EnumStringEnum b : EnumStringEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private EnumStringEnum enumString; + public enum EnumStringRequiredEnum { + + UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower")), EMPTY(String.valueOf("")); + + + private String value; + + EnumStringRequiredEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static EnumStringRequiredEnum fromString(String s) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String value) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private EnumStringRequiredEnum enumStringRequired; + public enum EnumIntegerEnum { + + NUMBER_1(Integer.valueOf(1)), NUMBER_MINUS_1(Integer.valueOf(-1)); + + + private Integer value; + + EnumIntegerEnum (Integer v) { + value = v; + } + + public Integer value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into Integer, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static EnumIntegerEnum fromString(String s) { + for (EnumIntegerEnum b : EnumIntegerEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static EnumIntegerEnum fromValue(Integer value) { + for (EnumIntegerEnum b : EnumIntegerEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private EnumIntegerEnum enumInteger; + public enum EnumNumberEnum { + + NUMBER_1_DOT_1(Double.valueOf(1.1)), NUMBER_MINUS_1_DOT_2(Double.valueOf(-1.2)); + + + private Double value; + + EnumNumberEnum (Double v) { + value = v; + } + + public Double value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into Double, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static EnumNumberEnum fromString(String s) { + for (EnumNumberEnum b : EnumNumberEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static EnumNumberEnum fromValue(Double value) { + for (EnumNumberEnum b : EnumNumberEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private EnumNumberEnum enumNumber; + private OuterEnum outerEnum; + private OuterEnumInteger outerEnumInteger; + private OuterEnumDefaultValue outerEnumDefaultValue = OuterEnumDefaultValue.PLACED; + private OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue = OuterEnumIntegerDefaultValue.NUMBER_0; + + protected EnumTest(EnumTestBuilder b) { + this.enumString = b.enumString; + this.enumStringRequired = b.enumStringRequired; + this.enumInteger = b.enumInteger; + this.enumNumber = b.enumNumber; + this.outerEnum = b.outerEnum; + this.outerEnumInteger = b.outerEnumInteger; + this.outerEnumDefaultValue = b.outerEnumDefaultValue; + this.outerEnumIntegerDefaultValue = b.outerEnumIntegerDefaultValue; + } + + public EnumTest() { + } + + /** + **/ + public EnumTest enumString(EnumStringEnum enumString) { + this.enumString = enumString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("enum_string") + public EnumStringEnum getEnumString() { + return enumString; + } + + @JsonProperty("enum_string") + public void setEnumString(EnumStringEnum enumString) { + this.enumString = enumString; + } + + /** + **/ + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("enum_string_required") + @NotNull public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + @JsonProperty("enum_string_required") + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + + /** + **/ + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { + this.enumInteger = enumInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("enum_integer") + public EnumIntegerEnum getEnumInteger() { + return enumInteger; + } + + @JsonProperty("enum_integer") + public void setEnumInteger(EnumIntegerEnum enumInteger) { + this.enumInteger = enumInteger; + } + + /** + **/ + public EnumTest enumNumber(EnumNumberEnum enumNumber) { + this.enumNumber = enumNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("enum_number") + public EnumNumberEnum getEnumNumber() { + return enumNumber; + } + + @JsonProperty("enum_number") + public void setEnumNumber(EnumNumberEnum enumNumber) { + this.enumNumber = enumNumber; + } + + /** + **/ + public EnumTest outerEnum(OuterEnum outerEnum) { + this.outerEnum = outerEnum; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("outerEnum") + @Valid public OuterEnum getOuterEnum() { + return outerEnum; + } + + @JsonProperty("outerEnum") + public void setOuterEnum(OuterEnum outerEnum) { + this.outerEnum = outerEnum; + } + + /** + **/ + public EnumTest outerEnumInteger(OuterEnumInteger outerEnumInteger) { + this.outerEnumInteger = outerEnumInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("outerEnumInteger") + @Valid public OuterEnumInteger getOuterEnumInteger() { + return outerEnumInteger; + } + + @JsonProperty("outerEnumInteger") + public void setOuterEnumInteger(OuterEnumInteger outerEnumInteger) { + this.outerEnumInteger = outerEnumInteger; + } + + /** + **/ + public EnumTest outerEnumDefaultValue(OuterEnumDefaultValue outerEnumDefaultValue) { + this.outerEnumDefaultValue = outerEnumDefaultValue; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("outerEnumDefaultValue") + @Valid public OuterEnumDefaultValue getOuterEnumDefaultValue() { + return outerEnumDefaultValue; + } + + @JsonProperty("outerEnumDefaultValue") + public void setOuterEnumDefaultValue(OuterEnumDefaultValue outerEnumDefaultValue) { + this.outerEnumDefaultValue = outerEnumDefaultValue; + } + + /** + **/ + public EnumTest outerEnumIntegerDefaultValue(OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue) { + this.outerEnumIntegerDefaultValue = outerEnumIntegerDefaultValue; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("outerEnumIntegerDefaultValue") + @Valid public OuterEnumIntegerDefaultValue getOuterEnumIntegerDefaultValue() { + return outerEnumIntegerDefaultValue; + } + + @JsonProperty("outerEnumIntegerDefaultValue") + public void setOuterEnumIntegerDefaultValue(OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue) { + this.outerEnumIntegerDefaultValue = outerEnumIntegerDefaultValue; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnumTest enumTest = (EnumTest) o; + return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && + Objects.equals(this.enumInteger, enumTest.enumInteger) && + Objects.equals(this.enumNumber, enumTest.enumNumber) && + Objects.equals(this.outerEnum, enumTest.outerEnum) && + Objects.equals(this.outerEnumInteger, enumTest.outerEnumInteger) && + Objects.equals(this.outerEnumDefaultValue, enumTest.outerEnumDefaultValue) && + Objects.equals(this.outerEnumIntegerDefaultValue, enumTest.outerEnumIntegerDefaultValue); + } + + @Override + public int hashCode() { + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum, outerEnumInteger, outerEnumDefaultValue, outerEnumIntegerDefaultValue); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EnumTest {\n"); + + sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); + sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); + sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); + sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); + sb.append(" outerEnumInteger: ").append(toIndentedString(outerEnumInteger)).append("\n"); + sb.append(" outerEnumDefaultValue: ").append(toIndentedString(outerEnumDefaultValue)).append("\n"); + sb.append(" outerEnumIntegerDefaultValue: ").append(toIndentedString(outerEnumIntegerDefaultValue)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static EnumTestBuilder builder() { + return new EnumTestBuilderImpl(); + } + + private static final class EnumTestBuilderImpl extends EnumTestBuilder { + + @Override + protected EnumTestBuilderImpl self() { + return this; + } + + @Override + public EnumTest build() { + return new EnumTest(this); + } + } + + public static abstract class EnumTestBuilder> { + private EnumStringEnum enumString; + private EnumStringRequiredEnum enumStringRequired; + private EnumIntegerEnum enumInteger; + private EnumNumberEnum enumNumber; + private OuterEnum outerEnum; + private OuterEnumInteger outerEnumInteger; + private OuterEnumDefaultValue outerEnumDefaultValue = OuterEnumDefaultValue.PLACED; + private OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue = OuterEnumIntegerDefaultValue.NUMBER_0; + protected abstract B self(); + + public abstract C build(); + + public B enumString(EnumStringEnum enumString) { + this.enumString = enumString; + return self(); + } + public B enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return self(); + } + public B enumInteger(EnumIntegerEnum enumInteger) { + this.enumInteger = enumInteger; + return self(); + } + public B enumNumber(EnumNumberEnum enumNumber) { + this.enumNumber = enumNumber; + return self(); + } + public B outerEnum(OuterEnum outerEnum) { + this.outerEnum = outerEnum; + return self(); + } + public B outerEnumInteger(OuterEnumInteger outerEnumInteger) { + this.outerEnumInteger = outerEnumInteger; + return self(); + } + public B outerEnumDefaultValue(OuterEnumDefaultValue outerEnumDefaultValue) { + this.outerEnumDefaultValue = outerEnumDefaultValue; + return self(); + } + public B outerEnumIntegerDefaultValue(OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue) { + this.outerEnumIntegerDefaultValue = outerEnumIntegerDefaultValue; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FakeBigDecimalMap200Response.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FakeBigDecimalMap200Response.java new file mode 100644 index 000000000000..9c2267dabc17 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FakeBigDecimalMap200Response.java @@ -0,0 +1,164 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("fakeBigDecimalMap_200_response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FakeBigDecimalMap200Response implements Serializable { + private BigDecimal someId; + private @Valid Map someMap = new HashMap<>(); + + protected FakeBigDecimalMap200Response(FakeBigDecimalMap200ResponseBuilder b) { + this.someId = b.someId; + this.someMap = b.someMap; + } + + public FakeBigDecimalMap200Response() { + } + + /** + **/ + public FakeBigDecimalMap200Response someId(BigDecimal someId) { + this.someId = someId; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("someId") + @Valid public BigDecimal getSomeId() { + return someId; + } + + @JsonProperty("someId") + public void setSomeId(BigDecimal someId) { + this.someId = someId; + } + + /** + **/ + public FakeBigDecimalMap200Response someMap(Map someMap) { + this.someMap = someMap; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("someMap") + @Valid public Map getSomeMap() { + return someMap; + } + + @JsonProperty("someMap") + public void setSomeMap(Map someMap) { + this.someMap = someMap; + } + + public FakeBigDecimalMap200Response putSomeMapItem(String key, BigDecimal someMapItem) { + if (this.someMap == null) { + this.someMap = new HashMap<>(); + } + + this.someMap.put(key, someMapItem); + return this; + } + + public FakeBigDecimalMap200Response removeSomeMapItem(BigDecimal someMapItem) { + if (someMapItem != null && this.someMap != null) { + this.someMap.remove(someMapItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FakeBigDecimalMap200Response fakeBigDecimalMap200Response = (FakeBigDecimalMap200Response) o; + return Objects.equals(this.someId, fakeBigDecimalMap200Response.someId) && + Objects.equals(this.someMap, fakeBigDecimalMap200Response.someMap); + } + + @Override + public int hashCode() { + return Objects.hash(someId, someMap); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FakeBigDecimalMap200Response {\n"); + + sb.append(" someId: ").append(toIndentedString(someId)).append("\n"); + sb.append(" someMap: ").append(toIndentedString(someMap)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static FakeBigDecimalMap200ResponseBuilder builder() { + return new FakeBigDecimalMap200ResponseBuilderImpl(); + } + + private static final class FakeBigDecimalMap200ResponseBuilderImpl extends FakeBigDecimalMap200ResponseBuilder { + + @Override + protected FakeBigDecimalMap200ResponseBuilderImpl self() { + return this; + } + + @Override + public FakeBigDecimalMap200Response build() { + return new FakeBigDecimalMap200Response(this); + } + } + + public static abstract class FakeBigDecimalMap200ResponseBuilder> { + private BigDecimal someId; + private Map someMap = new HashMap<>(); + protected abstract B self(); + + public abstract C build(); + + public B someId(BigDecimal someId) { + this.someId = someId; + return self(); + } + public B someMap(Map someMap) { + this.someMap = someMap; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FileSchemaTestClass.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FileSchemaTestClass.java new file mode 100644 index 000000000000..d5d8a6c538f1 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FileSchemaTestClass.java @@ -0,0 +1,164 @@ +package org.openapitools.model; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.model.ModelFile; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("FileSchemaTestClass") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FileSchemaTestClass implements Serializable { + private ModelFile _file; + private @Valid List<@Valid ModelFile> files = new ArrayList<>(); + + protected FileSchemaTestClass(FileSchemaTestClassBuilder b) { + this._file = b._file; + this.files = b.files; + } + + public FileSchemaTestClass() { + } + + /** + **/ + public FileSchemaTestClass _file(ModelFile _file) { + this._file = _file; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("file") + @Valid public ModelFile getFile() { + return _file; + } + + @JsonProperty("file") + public void setFile(ModelFile _file) { + this._file = _file; + } + + /** + **/ + public FileSchemaTestClass files(List<@Valid ModelFile> files) { + this.files = files; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("files") + @Valid public List<@Valid ModelFile> getFiles() { + return files; + } + + @JsonProperty("files") + public void setFiles(List<@Valid ModelFile> files) { + this.files = files; + } + + public FileSchemaTestClass addFilesItem(ModelFile filesItem) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + + this.files.add(filesItem); + return this; + } + + public FileSchemaTestClass removeFilesItem(ModelFile filesItem) { + if (filesItem != null && this.files != null) { + this.files.remove(filesItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FileSchemaTestClass fileSchemaTestClass = (FileSchemaTestClass) o; + return Objects.equals(this._file, fileSchemaTestClass._file) && + Objects.equals(this.files, fileSchemaTestClass.files); + } + + @Override + public int hashCode() { + return Objects.hash(_file, files); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FileSchemaTestClass {\n"); + + sb.append(" _file: ").append(toIndentedString(_file)).append("\n"); + sb.append(" files: ").append(toIndentedString(files)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static FileSchemaTestClassBuilder builder() { + return new FileSchemaTestClassBuilderImpl(); + } + + private static final class FileSchemaTestClassBuilderImpl extends FileSchemaTestClassBuilder { + + @Override + protected FileSchemaTestClassBuilderImpl self() { + return this; + } + + @Override + public FileSchemaTestClass build() { + return new FileSchemaTestClass(this); + } + } + + public static abstract class FileSchemaTestClassBuilder> { + private ModelFile _file; + private List<@Valid ModelFile> files = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B _file(ModelFile _file) { + this._file = _file; + return self(); + } + public B files(List<@Valid ModelFile> files) { + this.files = files; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Foo.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Foo.java new file mode 100644 index 000000000000..c20b1c5cc633 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Foo.java @@ -0,0 +1,116 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Foo") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Foo implements Serializable { + private String bar = "bar"; + + protected Foo(FooBuilder b) { + this.bar = b.bar; + } + + public Foo() { + } + + /** + **/ + public Foo bar(String bar) { + this.bar = bar; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("bar") + public String getBar() { + return bar; + } + + @JsonProperty("bar") + public void setBar(String bar) { + this.bar = bar; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Foo foo = (Foo) o; + return Objects.equals(this.bar, foo.bar); + } + + @Override + public int hashCode() { + return Objects.hash(bar); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Foo {\n"); + + sb.append(" bar: ").append(toIndentedString(bar)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static FooBuilder builder() { + return new FooBuilderImpl(); + } + + private static final class FooBuilderImpl extends FooBuilder { + + @Override + protected FooBuilderImpl self() { + return this; + } + + @Override + public Foo build() { + return new Foo(this); + } + } + + public static abstract class FooBuilder> { + private String bar = "bar"; + protected abstract B self(); + + public abstract C build(); + + public B bar(String bar) { + this.bar = bar; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FooGetDefaultResponse.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FooGetDefaultResponse.java new file mode 100644 index 000000000000..ea5ad1a733e8 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FooGetDefaultResponse.java @@ -0,0 +1,118 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import org.openapitools.model.Foo; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("_foo_get_default_response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FooGetDefaultResponse implements Serializable { + private Foo string; + + protected FooGetDefaultResponse(FooGetDefaultResponseBuilder b) { + this.string = b.string; + } + + public FooGetDefaultResponse() { + } + + /** + **/ + public FooGetDefaultResponse string(Foo string) { + this.string = string; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("string") + @Valid public Foo getString() { + return string; + } + + @JsonProperty("string") + public void setString(Foo string) { + this.string = string; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FooGetDefaultResponse fooGetDefaultResponse = (FooGetDefaultResponse) o; + return Objects.equals(this.string, fooGetDefaultResponse.string); + } + + @Override + public int hashCode() { + return Objects.hash(string); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FooGetDefaultResponse {\n"); + + sb.append(" string: ").append(toIndentedString(string)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static FooGetDefaultResponseBuilder builder() { + return new FooGetDefaultResponseBuilderImpl(); + } + + private static final class FooGetDefaultResponseBuilderImpl extends FooGetDefaultResponseBuilder { + + @Override + protected FooGetDefaultResponseBuilderImpl self() { + return this; + } + + @Override + public FooGetDefaultResponse build() { + return new FooGetDefaultResponse(this); + } + } + + public static abstract class FooGetDefaultResponseBuilder> { + private Foo string; + protected abstract B self(); + + public abstract C build(); + + public B string(Foo string) { + this.string = string; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FormatTest.java new file mode 100644 index 000000000000..1ec8298c1fd9 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/FormatTest.java @@ -0,0 +1,555 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.File; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.UUID; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("format_test") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class FormatTest implements Serializable { + private Integer integer; + private Integer int32; + private Long int64; + private BigDecimal number; + private Float _float; + private Double _double; + private BigDecimal decimal; + private String string; + private byte[] _byte; + private File binary; + private LocalDate date; + private LocalDateTime dateTime; + private UUID uuid; + private String password; + private String patternWithDigits; + private String patternWithDigitsAndDelimiter; + + protected FormatTest(FormatTestBuilder b) { + this.integer = b.integer; + this.int32 = b.int32; + this.int64 = b.int64; + this.number = b.number; + this._float = b._float; + this._double = b._double; + this.decimal = b.decimal; + this.string = b.string; + this._byte = b._byte; + this.binary = b.binary; + this.date = b.date; + this.dateTime = b.dateTime; + this.uuid = b.uuid; + this.password = b.password; + this.patternWithDigits = b.patternWithDigits; + this.patternWithDigitsAndDelimiter = b.patternWithDigitsAndDelimiter; + } + + public FormatTest() { + } + + /** + * minimum: 10 + * maximum: 100 + **/ + public FormatTest integer(Integer integer) { + this.integer = integer; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("integer") + @Min(10) @Max(100)public Integer getInteger() { + return integer; + } + + @JsonProperty("integer") + public void setInteger(Integer integer) { + this.integer = integer; + } + + /** + * minimum: 20 + * maximum: 200 + **/ + public FormatTest int32(Integer int32) { + this.int32 = int32; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("int32") + @Min(20) @Max(200)public Integer getInt32() { + return int32; + } + + @JsonProperty("int32") + public void setInt32(Integer int32) { + this.int32 = int32; + } + + /** + **/ + public FormatTest int64(Long int64) { + this.int64 = int64; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("int64") + public Long getInt64() { + return int64; + } + + @JsonProperty("int64") + public void setInt64(Long int64) { + this.int64 = int64; + } + + /** + * minimum: 32.1 + * maximum: 543.2 + **/ + public FormatTest number(BigDecimal number) { + this.number = number; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("number") + @NotNull @Valid @DecimalMin("32.1") @DecimalMax("543.2")public BigDecimal getNumber() { + return number; + } + + @JsonProperty("number") + public void setNumber(BigDecimal number) { + this.number = number; + } + + /** + * minimum: 54.3 + * maximum: 987.6 + **/ + public FormatTest _float(Float _float) { + this._float = _float; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("float") + @DecimalMin("54.3") @DecimalMax("987.6")public Float getFloat() { + return _float; + } + + @JsonProperty("float") + public void setFloat(Float _float) { + this._float = _float; + } + + /** + * minimum: 67.8 + * maximum: 123.4 + **/ + public FormatTest _double(Double _double) { + this._double = _double; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("double") + @DecimalMin("67.8") @DecimalMax("123.4")public Double getDouble() { + return _double; + } + + @JsonProperty("double") + public void setDouble(Double _double) { + this._double = _double; + } + + /** + **/ + public FormatTest decimal(BigDecimal decimal) { + this.decimal = decimal; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("decimal") + @Valid public BigDecimal getDecimal() { + return decimal; + } + + @JsonProperty("decimal") + public void setDecimal(BigDecimal decimal) { + this.decimal = decimal; + } + + /** + **/ + public FormatTest string(String string) { + this.string = string; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("string") + @Pattern(regexp="/[a-z]/i")public String getString() { + return string; + } + + @JsonProperty("string") + public void setString(String string) { + this.string = string; + } + + /** + **/ + public FormatTest _byte(byte[] _byte) { + this._byte = _byte; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("byte") + @NotNull public byte[] getByte() { + return _byte; + } + + @JsonProperty("byte") + public void setByte(byte[] _byte) { + this._byte = _byte; + } + + /** + **/ + public FormatTest binary(File binary) { + this.binary = binary; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("binary") + @Valid public File getBinary() { + return binary; + } + + @JsonProperty("binary") + public void setBinary(File binary) { + this.binary = binary; + } + + /** + **/ + public FormatTest date(LocalDate date) { + this.date = date; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("date") + @NotNull @Valid public LocalDate getDate() { + return date; + } + + @JsonProperty("date") + public void setDate(LocalDate date) { + this.date = date; + } + + /** + **/ + public FormatTest dateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("dateTime") + @Valid public LocalDateTime getDateTime() { + return dateTime; + } + + @JsonProperty("dateTime") + public void setDateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + } + + /** + **/ + public FormatTest uuid(UUID uuid) { + this.uuid = uuid; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "72f98069-206d-4f12-9f12-3d1e525a8e84", description = "") + @JsonProperty("uuid") + @Valid public UUID getUuid() { + return uuid; + } + + @JsonProperty("uuid") + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + /** + **/ + public FormatTest password(String password) { + this.password = password; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("password") + @NotNull @Size(min=10,max=64)public String getPassword() { + return password; + } + + @JsonProperty("password") + public void setPassword(String password) { + this.password = password; + } + + /** + * A string that is a 10 digit number. Can have leading zeros. + **/ + public FormatTest patternWithDigits(String patternWithDigits) { + this.patternWithDigits = patternWithDigits; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "A string that is a 10 digit number. Can have leading zeros.") + @JsonProperty("pattern_with_digits") + @Pattern(regexp="^\\d{10}$")public String getPatternWithDigits() { + return patternWithDigits; + } + + @JsonProperty("pattern_with_digits") + public void setPatternWithDigits(String patternWithDigits) { + this.patternWithDigits = patternWithDigits; + } + + /** + * A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01. + **/ + public FormatTest patternWithDigitsAndDelimiter(String patternWithDigitsAndDelimiter) { + this.patternWithDigitsAndDelimiter = patternWithDigitsAndDelimiter; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.") + @JsonProperty("pattern_with_digits_and_delimiter") + @Pattern(regexp="/^image_\\d{1,3}$/i")public String getPatternWithDigitsAndDelimiter() { + return patternWithDigitsAndDelimiter; + } + + @JsonProperty("pattern_with_digits_and_delimiter") + public void setPatternWithDigitsAndDelimiter(String patternWithDigitsAndDelimiter) { + this.patternWithDigitsAndDelimiter = patternWithDigitsAndDelimiter; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FormatTest formatTest = (FormatTest) o; + return Objects.equals(this.integer, formatTest.integer) && + Objects.equals(this.int32, formatTest.int32) && + Objects.equals(this.int64, formatTest.int64) && + Objects.equals(this.number, formatTest.number) && + Objects.equals(this._float, formatTest._float) && + Objects.equals(this._double, formatTest._double) && + Objects.equals(this.decimal, formatTest.decimal) && + Objects.equals(this.string, formatTest.string) && + Arrays.equals(this._byte, formatTest._byte) && + Objects.equals(this.binary, formatTest.binary) && + Objects.equals(this.date, formatTest.date) && + Objects.equals(this.dateTime, formatTest.dateTime) && + Objects.equals(this.uuid, formatTest.uuid) && + Objects.equals(this.password, formatTest.password) && + Objects.equals(this.patternWithDigits, formatTest.patternWithDigits) && + Objects.equals(this.patternWithDigitsAndDelimiter, formatTest.patternWithDigitsAndDelimiter); + } + + @Override + public int hashCode() { + return Objects.hash(integer, int32, int64, number, _float, _double, decimal, string, Arrays.hashCode(_byte), binary, date, dateTime, uuid, password, patternWithDigits, patternWithDigitsAndDelimiter); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FormatTest {\n"); + + sb.append(" integer: ").append(toIndentedString(integer)).append("\n"); + sb.append(" int32: ").append(toIndentedString(int32)).append("\n"); + sb.append(" int64: ").append(toIndentedString(int64)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append(" _float: ").append(toIndentedString(_float)).append("\n"); + sb.append(" _double: ").append(toIndentedString(_double)).append("\n"); + sb.append(" decimal: ").append(toIndentedString(decimal)).append("\n"); + sb.append(" string: ").append(toIndentedString(string)).append("\n"); + sb.append(" _byte: ").append(toIndentedString(_byte)).append("\n"); + sb.append(" binary: ").append(toIndentedString(binary)).append("\n"); + sb.append(" date: ").append(toIndentedString(date)).append("\n"); + sb.append(" dateTime: ").append(toIndentedString(dateTime)).append("\n"); + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" password: ").append("*").append("\n"); + sb.append(" patternWithDigits: ").append(toIndentedString(patternWithDigits)).append("\n"); + sb.append(" patternWithDigitsAndDelimiter: ").append(toIndentedString(patternWithDigitsAndDelimiter)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static FormatTestBuilder builder() { + return new FormatTestBuilderImpl(); + } + + private static final class FormatTestBuilderImpl extends FormatTestBuilder { + + @Override + protected FormatTestBuilderImpl self() { + return this; + } + + @Override + public FormatTest build() { + return new FormatTest(this); + } + } + + public static abstract class FormatTestBuilder> { + private Integer integer; + private Integer int32; + private Long int64; + private BigDecimal number; + private Float _float; + private Double _double; + private BigDecimal decimal; + private String string; + private byte[] _byte; + private File binary; + private LocalDate date; + private LocalDateTime dateTime; + private UUID uuid; + private String password; + private String patternWithDigits; + private String patternWithDigitsAndDelimiter; + protected abstract B self(); + + public abstract C build(); + + public B integer(Integer integer) { + this.integer = integer; + return self(); + } + public B int32(Integer int32) { + this.int32 = int32; + return self(); + } + public B int64(Long int64) { + this.int64 = int64; + return self(); + } + public B number(BigDecimal number) { + this.number = number; + return self(); + } + public B _float(Float _float) { + this._float = _float; + return self(); + } + public B _double(Double _double) { + this._double = _double; + return self(); + } + public B decimal(BigDecimal decimal) { + this.decimal = decimal; + return self(); + } + public B string(String string) { + this.string = string; + return self(); + } + public B _byte(byte[] _byte) { + this._byte = _byte; + return self(); + } + public B binary(File binary) { + this.binary = binary; + return self(); + } + public B date(LocalDate date) { + this.date = date; + return self(); + } + public B dateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + return self(); + } + public B uuid(UUID uuid) { + this.uuid = uuid; + return self(); + } + public B password(String password) { + this.password = password; + return self(); + } + public B patternWithDigits(String patternWithDigits) { + this.patternWithDigits = patternWithDigits; + return self(); + } + public B patternWithDigitsAndDelimiter(String patternWithDigitsAndDelimiter) { + this.patternWithDigitsAndDelimiter = patternWithDigitsAndDelimiter; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java new file mode 100644 index 000000000000..1e1d6e6a9f85 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/HasOnlyReadOnly.java @@ -0,0 +1,145 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("hasOnlyReadOnly") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class HasOnlyReadOnly implements Serializable { + private String bar; + private String foo; + + protected HasOnlyReadOnly(HasOnlyReadOnlyBuilder b) { + this.bar = b.bar; + this.foo = b.foo; + } + + public HasOnlyReadOnly() { + } + + /** + **/ + public HasOnlyReadOnly bar(String bar) { + this.bar = bar; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("bar") + public String getBar() { + return bar; + } + + @JsonProperty("bar") + public void setBar(String bar) { + this.bar = bar; + } + + /** + **/ + public HasOnlyReadOnly foo(String foo) { + this.foo = foo; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("foo") + public String getFoo() { + return foo; + } + + @JsonProperty("foo") + public void setFoo(String foo) { + this.foo = foo; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HasOnlyReadOnly hasOnlyReadOnly = (HasOnlyReadOnly) o; + return Objects.equals(this.bar, hasOnlyReadOnly.bar) && + Objects.equals(this.foo, hasOnlyReadOnly.foo); + } + + @Override + public int hashCode() { + return Objects.hash(bar, foo); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HasOnlyReadOnly {\n"); + + sb.append(" bar: ").append(toIndentedString(bar)).append("\n"); + sb.append(" foo: ").append(toIndentedString(foo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HasOnlyReadOnlyBuilder builder() { + return new HasOnlyReadOnlyBuilderImpl(); + } + + private static final class HasOnlyReadOnlyBuilderImpl extends HasOnlyReadOnlyBuilder { + + @Override + protected HasOnlyReadOnlyBuilderImpl self() { + return this; + } + + @Override + public HasOnlyReadOnly build() { + return new HasOnlyReadOnly(this); + } + } + + public static abstract class HasOnlyReadOnlyBuilder> { + private String bar; + private String foo; + protected abstract B self(); + + public abstract C build(); + + public B bar(String bar) { + this.bar = bar; + return self(); + } + public B foo(String foo) { + this.foo = foo; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/HealthCheckResult.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/HealthCheckResult.java new file mode 100644 index 000000000000..e01d09b995ae --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/HealthCheckResult.java @@ -0,0 +1,119 @@ +package org.openapitools.model; + +import org.openapitools.jackson.nullable.JsonNullable; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model. + **/ + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model.") +@JsonTypeName("HealthCheckResult") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class HealthCheckResult implements Serializable { + private String nullableMessage; + + protected HealthCheckResult(HealthCheckResultBuilder b) { + this.nullableMessage = b.nullableMessage; + } + + public HealthCheckResult() { + } + + /** + **/ + public HealthCheckResult nullableMessage(String nullableMessage) { + this.nullableMessage = nullableMessage; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("NullableMessage") + public String getNullableMessage() { + return nullableMessage; + } + + @JsonProperty("NullableMessage") + public void setNullableMessage(String nullableMessage) { + this.nullableMessage = nullableMessage; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HealthCheckResult healthCheckResult = (HealthCheckResult) o; + return Objects.equals(this.nullableMessage, healthCheckResult.nullableMessage); + } + + @Override + public int hashCode() { + return Objects.hash(nullableMessage); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HealthCheckResult {\n"); + + sb.append(" nullableMessage: ").append(toIndentedString(nullableMessage)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HealthCheckResultBuilder builder() { + return new HealthCheckResultBuilderImpl(); + } + + private static final class HealthCheckResultBuilderImpl extends HealthCheckResultBuilder { + + @Override + protected HealthCheckResultBuilderImpl self() { + return this; + } + + @Override + public HealthCheckResult build() { + return new HealthCheckResult(this); + } + } + + public static abstract class HealthCheckResultBuilder> { + private String nullableMessage; + protected abstract B self(); + + public abstract C build(); + + public B nullableMessage(String nullableMessage) { + this.nullableMessage = nullableMessage; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/MapTest.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/MapTest.java new file mode 100644 index 000000000000..8edf5b5e886c --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/MapTest.java @@ -0,0 +1,313 @@ +package org.openapitools.model; + +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("MapTest") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class MapTest implements Serializable { + private @Valid Map> mapMapOfString = new HashMap<>(); + public enum InnerEnum { + + UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower")); + + + private String value; + + InnerEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static InnerEnum fromString(String s) { + for (InnerEnum b : InnerEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static InnerEnum fromValue(String value) { + for (InnerEnum b : InnerEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private @Valid Map mapOfEnumString = new HashMap<>(); + private @Valid Map directMap = new HashMap<>(); + private @Valid Map indirectMap = new HashMap<>(); + + protected MapTest(MapTestBuilder b) { + this.mapMapOfString = b.mapMapOfString; + this.mapOfEnumString = b.mapOfEnumString; + this.directMap = b.directMap; + this.indirectMap = b.indirectMap; + } + + public MapTest() { + } + + /** + **/ + public MapTest mapMapOfString(Map> mapMapOfString) { + this.mapMapOfString = mapMapOfString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("map_map_of_string") + @Valid public Map> getMapMapOfString() { + return mapMapOfString; + } + + @JsonProperty("map_map_of_string") + public void setMapMapOfString(Map> mapMapOfString) { + this.mapMapOfString = mapMapOfString; + } + + public MapTest putMapMapOfStringItem(String key, Map mapMapOfStringItem) { + if (this.mapMapOfString == null) { + this.mapMapOfString = new HashMap<>(); + } + + this.mapMapOfString.put(key, mapMapOfStringItem); + return this; + } + + public MapTest removeMapMapOfStringItem(Map mapMapOfStringItem) { + if (mapMapOfStringItem != null && this.mapMapOfString != null) { + this.mapMapOfString.remove(mapMapOfStringItem); + } + + return this; + } + /** + **/ + public MapTest mapOfEnumString(Map mapOfEnumString) { + this.mapOfEnumString = mapOfEnumString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("map_of_enum_string") + public Map getMapOfEnumString() { + return mapOfEnumString; + } + + @JsonProperty("map_of_enum_string") + public void setMapOfEnumString(Map mapOfEnumString) { + this.mapOfEnumString = mapOfEnumString; + } + + public MapTest putMapOfEnumStringItem(String key, InnerEnum mapOfEnumStringItem) { + if (this.mapOfEnumString == null) { + this.mapOfEnumString = new HashMap<>(); + } + + this.mapOfEnumString.put(key, mapOfEnumStringItem); + return this; + } + + public MapTest removeMapOfEnumStringItem(InnerEnum mapOfEnumStringItem) { + if (mapOfEnumStringItem != null && this.mapOfEnumString != null) { + this.mapOfEnumString.remove(mapOfEnumStringItem); + } + + return this; + } + /** + **/ + public MapTest directMap(Map directMap) { + this.directMap = directMap; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("direct_map") + public Map getDirectMap() { + return directMap; + } + + @JsonProperty("direct_map") + public void setDirectMap(Map directMap) { + this.directMap = directMap; + } + + public MapTest putDirectMapItem(String key, Boolean directMapItem) { + if (this.directMap == null) { + this.directMap = new HashMap<>(); + } + + this.directMap.put(key, directMapItem); + return this; + } + + public MapTest removeDirectMapItem(Boolean directMapItem) { + if (directMapItem != null && this.directMap != null) { + this.directMap.remove(directMapItem); + } + + return this; + } + /** + **/ + public MapTest indirectMap(Map indirectMap) { + this.indirectMap = indirectMap; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("indirect_map") + public Map getIndirectMap() { + return indirectMap; + } + + @JsonProperty("indirect_map") + public void setIndirectMap(Map indirectMap) { + this.indirectMap = indirectMap; + } + + public MapTest putIndirectMapItem(String key, Boolean indirectMapItem) { + if (this.indirectMap == null) { + this.indirectMap = new HashMap<>(); + } + + this.indirectMap.put(key, indirectMapItem); + return this; + } + + public MapTest removeIndirectMapItem(Boolean indirectMapItem) { + if (indirectMapItem != null && this.indirectMap != null) { + this.indirectMap.remove(indirectMapItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MapTest mapTest = (MapTest) o; + return Objects.equals(this.mapMapOfString, mapTest.mapMapOfString) && + Objects.equals(this.mapOfEnumString, mapTest.mapOfEnumString) && + Objects.equals(this.directMap, mapTest.directMap) && + Objects.equals(this.indirectMap, mapTest.indirectMap); + } + + @Override + public int hashCode() { + return Objects.hash(mapMapOfString, mapOfEnumString, directMap, indirectMap); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MapTest {\n"); + + sb.append(" mapMapOfString: ").append(toIndentedString(mapMapOfString)).append("\n"); + sb.append(" mapOfEnumString: ").append(toIndentedString(mapOfEnumString)).append("\n"); + sb.append(" directMap: ").append(toIndentedString(directMap)).append("\n"); + sb.append(" indirectMap: ").append(toIndentedString(indirectMap)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static MapTestBuilder builder() { + return new MapTestBuilderImpl(); + } + + private static final class MapTestBuilderImpl extends MapTestBuilder { + + @Override + protected MapTestBuilderImpl self() { + return this; + } + + @Override + public MapTest build() { + return new MapTest(this); + } + } + + public static abstract class MapTestBuilder> { + private Map> mapMapOfString = new HashMap<>(); + private Map mapOfEnumString = new HashMap<>(); + private Map directMap = new HashMap<>(); + private Map indirectMap = new HashMap<>(); + protected abstract B self(); + + public abstract C build(); + + public B mapMapOfString(Map> mapMapOfString) { + this.mapMapOfString = mapMapOfString; + return self(); + } + public B mapOfEnumString(Map mapOfEnumString) { + this.mapOfEnumString = mapOfEnumString; + return self(); + } + public B directMap(Map directMap) { + this.directMap = directMap; + return self(); + } + public B indirectMap(Map indirectMap) { + this.indirectMap = indirectMap; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java new file mode 100644 index 000000000000..be71565f10ca --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -0,0 +1,193 @@ +package org.openapitools.model; + +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.openapitools.model.Animal; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("MixedPropertiesAndAdditionalPropertiesClass") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class MixedPropertiesAndAdditionalPropertiesClass implements Serializable { + private UUID uuid; + private LocalDateTime dateTime; + private @Valid Map map = new HashMap<>(); + + protected MixedPropertiesAndAdditionalPropertiesClass(MixedPropertiesAndAdditionalPropertiesClassBuilder b) { + this.uuid = b.uuid; + this.dateTime = b.dateTime; + this.map = b.map; + } + + public MixedPropertiesAndAdditionalPropertiesClass() { + } + + /** + **/ + public MixedPropertiesAndAdditionalPropertiesClass uuid(UUID uuid) { + this.uuid = uuid; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("uuid") + @Valid public UUID getUuid() { + return uuid; + } + + @JsonProperty("uuid") + public void setUuid(UUID uuid) { + this.uuid = uuid; + } + + /** + **/ + public MixedPropertiesAndAdditionalPropertiesClass dateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("dateTime") + @Valid public LocalDateTime getDateTime() { + return dateTime; + } + + @JsonProperty("dateTime") + public void setDateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + } + + /** + **/ + public MixedPropertiesAndAdditionalPropertiesClass map(Map map) { + this.map = map; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("map") + @Valid public Map getMap() { + return map; + } + + @JsonProperty("map") + public void setMap(Map map) { + this.map = map; + } + + public MixedPropertiesAndAdditionalPropertiesClass putMapItem(String key, Animal mapItem) { + if (this.map == null) { + this.map = new HashMap<>(); + } + + this.map.put(key, mapItem); + return this; + } + + public MixedPropertiesAndAdditionalPropertiesClass removeMapItem(Animal mapItem) { + if (mapItem != null && this.map != null) { + this.map.remove(mapItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MixedPropertiesAndAdditionalPropertiesClass mixedPropertiesAndAdditionalPropertiesClass = (MixedPropertiesAndAdditionalPropertiesClass) o; + return Objects.equals(this.uuid, mixedPropertiesAndAdditionalPropertiesClass.uuid) && + Objects.equals(this.dateTime, mixedPropertiesAndAdditionalPropertiesClass.dateTime) && + Objects.equals(this.map, mixedPropertiesAndAdditionalPropertiesClass.map); + } + + @Override + public int hashCode() { + return Objects.hash(uuid, dateTime, map); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MixedPropertiesAndAdditionalPropertiesClass {\n"); + + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" dateTime: ").append(toIndentedString(dateTime)).append("\n"); + sb.append(" map: ").append(toIndentedString(map)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static MixedPropertiesAndAdditionalPropertiesClassBuilder builder() { + return new MixedPropertiesAndAdditionalPropertiesClassBuilderImpl(); + } + + private static final class MixedPropertiesAndAdditionalPropertiesClassBuilderImpl extends MixedPropertiesAndAdditionalPropertiesClassBuilder { + + @Override + protected MixedPropertiesAndAdditionalPropertiesClassBuilderImpl self() { + return this; + } + + @Override + public MixedPropertiesAndAdditionalPropertiesClass build() { + return new MixedPropertiesAndAdditionalPropertiesClass(this); + } + } + + public static abstract class MixedPropertiesAndAdditionalPropertiesClassBuilder> { + private UUID uuid; + private LocalDateTime dateTime; + private Map map = new HashMap<>(); + protected abstract B self(); + + public abstract C build(); + + public B uuid(UUID uuid) { + this.uuid = uuid; + return self(); + } + public B dateTime(LocalDateTime dateTime) { + this.dateTime = dateTime; + return self(); + } + public B map(Map map) { + this.map = map; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Model200Response.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Model200Response.java new file mode 100644 index 000000000000..451723509f86 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Model200Response.java @@ -0,0 +1,147 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Model for testing model name starting with number + **/ + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="Model for testing model name starting with number") +@JsonTypeName("200_response") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Model200Response implements Serializable { + private Integer name; + private String propertyClass; + + protected Model200Response(Model200ResponseBuilder b) { + this.name = b.name; + this.propertyClass = b.propertyClass; + } + + public Model200Response() { + } + + /** + **/ + public Model200Response name(Integer name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public Integer getName() { + return name; + } + + @JsonProperty("name") + public void setName(Integer name) { + this.name = name; + } + + /** + **/ + public Model200Response propertyClass(String propertyClass) { + this.propertyClass = propertyClass; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("class") + public String getPropertyClass() { + return propertyClass; + } + + @JsonProperty("class") + public void setPropertyClass(String propertyClass) { + this.propertyClass = propertyClass; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Model200Response _200response = (Model200Response) o; + return Objects.equals(this.name, _200response.name) && + Objects.equals(this.propertyClass, _200response.propertyClass); + } + + @Override + public int hashCode() { + return Objects.hash(name, propertyClass); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Model200Response {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" propertyClass: ").append(toIndentedString(propertyClass)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static Model200ResponseBuilder builder() { + return new Model200ResponseBuilderImpl(); + } + + private static final class Model200ResponseBuilderImpl extends Model200ResponseBuilder { + + @Override + protected Model200ResponseBuilderImpl self() { + return this; + } + + @Override + public Model200Response build() { + return new Model200Response(this); + } + } + + public static abstract class Model200ResponseBuilder> { + private Integer name; + private String propertyClass; + protected abstract B self(); + + public abstract C build(); + + public B name(Integer name) { + this.name = name; + return self(); + } + public B propertyClass(String propertyClass) { + this.propertyClass = propertyClass; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelApiResponse.java new file mode 100644 index 000000000000..fb7c7ea9cb8e --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -0,0 +1,173 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ApiResponse") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ModelApiResponse implements Serializable { + private Integer code; + private String type; + private String message; + + protected ModelApiResponse(ModelApiResponseBuilder b) { + this.code = b.code; + this.type = b.type; + this.message = b.message; + } + + public ModelApiResponse() { + } + + /** + **/ + public ModelApiResponse code(Integer code) { + this.code = code; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("code") + public Integer getCode() { + return code; + } + + @JsonProperty("code") + public void setCode(Integer code) { + this.code = code; + } + + /** + **/ + public ModelApiResponse type(String type) { + this.type = type; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("type") + public String getType() { + return type; + } + + @JsonProperty("type") + public void setType(String type) { + this.type = type; + } + + /** + **/ + public ModelApiResponse message(String message) { + this.message = message; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("message") + public String getMessage() { + return message; + } + + @JsonProperty("message") + public void setMessage(String message) { + this.message = message; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelApiResponse _apiResponse = (ModelApiResponse) o; + return Objects.equals(this.code, _apiResponse.code) && + Objects.equals(this.type, _apiResponse.type) && + Objects.equals(this.message, _apiResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(code, type, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelApiResponse {\n"); + + sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ModelApiResponseBuilder builder() { + return new ModelApiResponseBuilderImpl(); + } + + private static final class ModelApiResponseBuilderImpl extends ModelApiResponseBuilder { + + @Override + protected ModelApiResponseBuilderImpl self() { + return this; + } + + @Override + public ModelApiResponse build() { + return new ModelApiResponse(this); + } + } + + public static abstract class ModelApiResponseBuilder> { + private Integer code; + private String type; + private String message; + protected abstract B self(); + + public abstract C build(); + + public B code(Integer code) { + this.code = code; + return self(); + } + public B type(String type) { + this.type = type; + return self(); + } + public B message(String message) { + this.message = message; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelFile.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelFile.java new file mode 100644 index 000000000000..c7ab36d19968 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelFile.java @@ -0,0 +1,120 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Must be named `File` for test. + **/ + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="Must be named `File` for test.") +@JsonTypeName("File") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ModelFile implements Serializable { + private String sourceURI; + + protected ModelFile(ModelFileBuilder b) { + this.sourceURI = b.sourceURI; + } + + public ModelFile() { + } + + /** + * Test capitalization + **/ + public ModelFile sourceURI(String sourceURI) { + this.sourceURI = sourceURI; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "Test capitalization") + @JsonProperty("sourceURI") + public String getSourceURI() { + return sourceURI; + } + + @JsonProperty("sourceURI") + public void setSourceURI(String sourceURI) { + this.sourceURI = sourceURI; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelFile _file = (ModelFile) o; + return Objects.equals(this.sourceURI, _file.sourceURI); + } + + @Override + public int hashCode() { + return Objects.hash(sourceURI); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelFile {\n"); + + sb.append(" sourceURI: ").append(toIndentedString(sourceURI)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ModelFileBuilder builder() { + return new ModelFileBuilderImpl(); + } + + private static final class ModelFileBuilderImpl extends ModelFileBuilder { + + @Override + protected ModelFileBuilderImpl self() { + return this; + } + + @Override + public ModelFile build() { + return new ModelFile(this); + } + } + + public static abstract class ModelFileBuilder> { + private String sourceURI; + protected abstract B self(); + + public abstract C build(); + + public B sourceURI(String sourceURI) { + this.sourceURI = sourceURI; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelList.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelList.java new file mode 100644 index 000000000000..e7afdefe1128 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelList.java @@ -0,0 +1,117 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("List") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ModelList implements Serializable { + private String _123list; + + protected ModelList(ModelListBuilder b) { + this._123list = b._123list; + } + + public ModelList() { + } + + /** + **/ + public ModelList _123list(String _123list) { + this._123list = _123list; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("123-list") + public String get123list() { + return _123list; + } + + @JsonProperty("123-list") + public void set123list(String _123list) { + this._123list = _123list; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelList _list = (ModelList) o; + return Objects.equals(this._123list, _list._123list); + } + + @Override + public int hashCode() { + return Objects.hash(_123list); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelList {\n"); + + sb.append(" _123list: ").append(toIndentedString(_123list)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ModelListBuilder builder() { + return new ModelListBuilderImpl(); + } + + private static final class ModelListBuilderImpl extends ModelListBuilder { + + @Override + protected ModelListBuilderImpl self() { + return this; + } + + @Override + public ModelList build() { + return new ModelList(this); + } + } + + public static abstract class ModelListBuilder> { + private String _123list; + protected abstract B self(); + + public abstract C build(); + + public B _123list(String _123list) { + this._123list = _123list; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelReturn.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelReturn.java new file mode 100644 index 000000000000..a19c63ba168d --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ModelReturn.java @@ -0,0 +1,119 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Model for testing reserved words + **/ + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="Model for testing reserved words") +@JsonTypeName("Return") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ModelReturn implements Serializable { + private Integer _return; + + protected ModelReturn(ModelReturnBuilder b) { + this._return = b._return; + } + + public ModelReturn() { + } + + /** + **/ + public ModelReturn _return(Integer _return) { + this._return = _return; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("return") + public Integer getReturn() { + return _return; + } + + @JsonProperty("return") + public void setReturn(Integer _return) { + this._return = _return; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ModelReturn _return = (ModelReturn) o; + return Objects.equals(this._return, _return._return); + } + + @Override + public int hashCode() { + return Objects.hash(_return); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ModelReturn {\n"); + + sb.append(" _return: ").append(toIndentedString(_return)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ModelReturnBuilder builder() { + return new ModelReturnBuilderImpl(); + } + + private static final class ModelReturnBuilderImpl extends ModelReturnBuilder { + + @Override + protected ModelReturnBuilderImpl self() { + return this; + } + + @Override + public ModelReturn build() { + return new ModelReturn(this); + } + } + + public static abstract class ModelReturnBuilder> { + private Integer _return; + protected abstract B self(); + + public abstract C build(); + + public B _return(Integer _return) { + this._return = _return; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Name.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Name.java new file mode 100644 index 000000000000..b275b372e104 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Name.java @@ -0,0 +1,202 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Model for testing model name same as property name + **/ + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="Model for testing model name same as property name") +@JsonTypeName("Name") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Name implements Serializable { + private Integer name; + private Integer snakeCase; + private String property; + private Integer _123number; + + protected Name(NameBuilder b) { + this.name = b.name; + this.snakeCase = b.snakeCase; + this.property = b.property; + this._123number = b._123number; + } + + public Name() { + } + + /** + **/ + public Name name(Integer name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("name") + @NotNull public Integer getName() { + return name; + } + + @JsonProperty("name") + public void setName(Integer name) { + this.name = name; + } + + /** + **/ + public Name snakeCase(Integer snakeCase) { + this.snakeCase = snakeCase; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("snake_case") + public Integer getSnakeCase() { + return snakeCase; + } + + @JsonProperty("snake_case") + public void setSnakeCase(Integer snakeCase) { + this.snakeCase = snakeCase; + } + + /** + **/ + public Name property(String property) { + this.property = property; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("property") + public String getProperty() { + return property; + } + + @JsonProperty("property") + public void setProperty(String property) { + this.property = property; + } + + /** + **/ + public Name _123number(Integer _123number) { + this._123number = _123number; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("123Number") + public Integer get123number() { + return _123number; + } + + @JsonProperty("123Number") + public void set123number(Integer _123number) { + this._123number = _123number; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Name name = (Name) o; + return Objects.equals(this.name, name.name) && + Objects.equals(this.snakeCase, name.snakeCase) && + Objects.equals(this.property, name.property) && + Objects.equals(this._123number, name._123number); + } + + @Override + public int hashCode() { + return Objects.hash(name, snakeCase, property, _123number); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Name {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" snakeCase: ").append(toIndentedString(snakeCase)).append("\n"); + sb.append(" property: ").append(toIndentedString(property)).append("\n"); + sb.append(" _123number: ").append(toIndentedString(_123number)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static NameBuilder builder() { + return new NameBuilderImpl(); + } + + private static final class NameBuilderImpl extends NameBuilder { + + @Override + protected NameBuilderImpl self() { + return this; + } + + @Override + public Name build() { + return new Name(this); + } + } + + public static abstract class NameBuilder> { + private Integer name; + private Integer snakeCase; + private String property; + private Integer _123number; + protected abstract B self(); + + public abstract C build(); + + public B name(Integer name) { + this.name = name; + return self(); + } + public B snakeCase(Integer snakeCase) { + this.snakeCase = snakeCase; + return self(); + } + public B property(String property) { + this.property = property; + return self(); + } + public B _123number(Integer _123number) { + this._123number = _123number; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/NullableClass.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/NullableClass.java new file mode 100644 index 000000000000..19b851074371 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/NullableClass.java @@ -0,0 +1,429 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.openapitools.jackson.nullable.JsonNullable; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("NullableClass") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class NullableClass extends HashMap implements Serializable { + private Integer integerProp; + private BigDecimal numberProp; + private Boolean booleanProp; + private String stringProp; + private LocalDate dateProp; + private LocalDateTime datetimeProp; + private @Valid List arrayNullableProp; + private @Valid List arrayAndItemsNullableProp; + private @Valid List arrayItemsNullable = new ArrayList<>(); + private @Valid Map objectNullableProp; + private @Valid Map objectAndItemsNullableProp; + private @Valid Map objectItemsNullable = new HashMap<>(); + + /** + **/ + public NullableClass integerProp(Integer integerProp) { + this.integerProp = integerProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("integer_prop") + public Integer getIntegerProp() { + return integerProp; + } + + @JsonProperty("integer_prop") + public void setIntegerProp(Integer integerProp) { + this.integerProp = integerProp; + } + + /** + **/ + public NullableClass numberProp(BigDecimal numberProp) { + this.numberProp = numberProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("number_prop") + @Valid public BigDecimal getNumberProp() { + return numberProp; + } + + @JsonProperty("number_prop") + public void setNumberProp(BigDecimal numberProp) { + this.numberProp = numberProp; + } + + /** + **/ + public NullableClass booleanProp(Boolean booleanProp) { + this.booleanProp = booleanProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("boolean_prop") + public Boolean getBooleanProp() { + return booleanProp; + } + + @JsonProperty("boolean_prop") + public void setBooleanProp(Boolean booleanProp) { + this.booleanProp = booleanProp; + } + + /** + **/ + public NullableClass stringProp(String stringProp) { + this.stringProp = stringProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("string_prop") + public String getStringProp() { + return stringProp; + } + + @JsonProperty("string_prop") + public void setStringProp(String stringProp) { + this.stringProp = stringProp; + } + + /** + **/ + public NullableClass dateProp(LocalDate dateProp) { + this.dateProp = dateProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("date_prop") + @Valid public LocalDate getDateProp() { + return dateProp; + } + + @JsonProperty("date_prop") + public void setDateProp(LocalDate dateProp) { + this.dateProp = dateProp; + } + + /** + **/ + public NullableClass datetimeProp(LocalDateTime datetimeProp) { + this.datetimeProp = datetimeProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("datetime_prop") + @Valid public LocalDateTime getDatetimeProp() { + return datetimeProp; + } + + @JsonProperty("datetime_prop") + public void setDatetimeProp(LocalDateTime datetimeProp) { + this.datetimeProp = datetimeProp; + } + + /** + **/ + public NullableClass arrayNullableProp(List arrayNullableProp) { + this.arrayNullableProp = arrayNullableProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_nullable_prop") + public List getArrayNullableProp() { + return arrayNullableProp; + } + + @JsonProperty("array_nullable_prop") + public void setArrayNullableProp(List arrayNullableProp) { + this.arrayNullableProp = arrayNullableProp; + } + + public NullableClass addArrayNullablePropItem(Object arrayNullablePropItem) { + if (this.arrayNullableProp == null) { + this.arrayNullableProp = new ArrayList<>(); + } + + this.arrayNullableProp.add(arrayNullablePropItem); + return this; + } + + public NullableClass removeArrayNullablePropItem(Object arrayNullablePropItem) { + if (arrayNullablePropItem != null && this.arrayNullableProp != null) { + this.arrayNullableProp.remove(arrayNullablePropItem); + } + + return this; + } + /** + **/ + public NullableClass arrayAndItemsNullableProp(List arrayAndItemsNullableProp) { + this.arrayAndItemsNullableProp = arrayAndItemsNullableProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_and_items_nullable_prop") + public List getArrayAndItemsNullableProp() { + return arrayAndItemsNullableProp; + } + + @JsonProperty("array_and_items_nullable_prop") + public void setArrayAndItemsNullableProp(List arrayAndItemsNullableProp) { + this.arrayAndItemsNullableProp = arrayAndItemsNullableProp; + } + + public NullableClass addArrayAndItemsNullablePropItem(Object arrayAndItemsNullablePropItem) { + if (this.arrayAndItemsNullableProp == null) { + this.arrayAndItemsNullableProp = new ArrayList<>(); + } + + this.arrayAndItemsNullableProp.add(arrayAndItemsNullablePropItem); + return this; + } + + public NullableClass removeArrayAndItemsNullablePropItem(Object arrayAndItemsNullablePropItem) { + if (arrayAndItemsNullablePropItem != null && this.arrayAndItemsNullableProp != null) { + this.arrayAndItemsNullableProp.remove(arrayAndItemsNullablePropItem); + } + + return this; + } + /** + **/ + public NullableClass arrayItemsNullable(List arrayItemsNullable) { + this.arrayItemsNullable = arrayItemsNullable; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("array_items_nullable") + public List getArrayItemsNullable() { + return arrayItemsNullable; + } + + @JsonProperty("array_items_nullable") + public void setArrayItemsNullable(List arrayItemsNullable) { + this.arrayItemsNullable = arrayItemsNullable; + } + + public NullableClass addArrayItemsNullableItem(Object arrayItemsNullableItem) { + if (this.arrayItemsNullable == null) { + this.arrayItemsNullable = new ArrayList<>(); + } + + this.arrayItemsNullable.add(arrayItemsNullableItem); + return this; + } + + public NullableClass removeArrayItemsNullableItem(Object arrayItemsNullableItem) { + if (arrayItemsNullableItem != null && this.arrayItemsNullable != null) { + this.arrayItemsNullable.remove(arrayItemsNullableItem); + } + + return this; + } + /** + **/ + public NullableClass objectNullableProp(Map objectNullableProp) { + this.objectNullableProp = objectNullableProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("object_nullable_prop") + public Map getObjectNullableProp() { + return objectNullableProp; + } + + @JsonProperty("object_nullable_prop") + public void setObjectNullableProp(Map objectNullableProp) { + this.objectNullableProp = objectNullableProp; + } + + public NullableClass putObjectNullablePropItem(String key, Object objectNullablePropItem) { + if (this.objectNullableProp == null) { + this.objectNullableProp = new HashMap<>(); + } + + this.objectNullableProp.put(key, objectNullablePropItem); + return this; + } + + public NullableClass removeObjectNullablePropItem(Object objectNullablePropItem) { + if (objectNullablePropItem != null && this.objectNullableProp != null) { + this.objectNullableProp.remove(objectNullablePropItem); + } + + return this; + } + /** + **/ + public NullableClass objectAndItemsNullableProp(Map objectAndItemsNullableProp) { + this.objectAndItemsNullableProp = objectAndItemsNullableProp; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("object_and_items_nullable_prop") + public Map getObjectAndItemsNullableProp() { + return objectAndItemsNullableProp; + } + + @JsonProperty("object_and_items_nullable_prop") + public void setObjectAndItemsNullableProp(Map objectAndItemsNullableProp) { + this.objectAndItemsNullableProp = objectAndItemsNullableProp; + } + + public NullableClass putObjectAndItemsNullablePropItem(String key, Object objectAndItemsNullablePropItem) { + if (this.objectAndItemsNullableProp == null) { + this.objectAndItemsNullableProp = new HashMap<>(); + } + + this.objectAndItemsNullableProp.put(key, objectAndItemsNullablePropItem); + return this; + } + + public NullableClass removeObjectAndItemsNullablePropItem(Object objectAndItemsNullablePropItem) { + if (objectAndItemsNullablePropItem != null && this.objectAndItemsNullableProp != null) { + this.objectAndItemsNullableProp.remove(objectAndItemsNullablePropItem); + } + + return this; + } + /** + **/ + public NullableClass objectItemsNullable(Map objectItemsNullable) { + this.objectItemsNullable = objectItemsNullable; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("object_items_nullable") + public Map getObjectItemsNullable() { + return objectItemsNullable; + } + + @JsonProperty("object_items_nullable") + public void setObjectItemsNullable(Map objectItemsNullable) { + this.objectItemsNullable = objectItemsNullable; + } + + public NullableClass putObjectItemsNullableItem(String key, Object objectItemsNullableItem) { + if (this.objectItemsNullable == null) { + this.objectItemsNullable = new HashMap<>(); + } + + this.objectItemsNullable.put(key, objectItemsNullableItem); + return this; + } + + public NullableClass removeObjectItemsNullableItem(Object objectItemsNullableItem) { + if (objectItemsNullableItem != null && this.objectItemsNullable != null) { + this.objectItemsNullable.remove(objectItemsNullableItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NullableClass nullableClass = (NullableClass) o; + return Objects.equals(this.integerProp, nullableClass.integerProp) && + Objects.equals(this.numberProp, nullableClass.numberProp) && + Objects.equals(this.booleanProp, nullableClass.booleanProp) && + Objects.equals(this.stringProp, nullableClass.stringProp) && + Objects.equals(this.dateProp, nullableClass.dateProp) && + Objects.equals(this.datetimeProp, nullableClass.datetimeProp) && + Objects.equals(this.arrayNullableProp, nullableClass.arrayNullableProp) && + Objects.equals(this.arrayAndItemsNullableProp, nullableClass.arrayAndItemsNullableProp) && + Objects.equals(this.arrayItemsNullable, nullableClass.arrayItemsNullable) && + Objects.equals(this.objectNullableProp, nullableClass.objectNullableProp) && + Objects.equals(this.objectAndItemsNullableProp, nullableClass.objectAndItemsNullableProp) && + Objects.equals(this.objectItemsNullable, nullableClass.objectItemsNullable) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(integerProp, numberProp, booleanProp, stringProp, dateProp, datetimeProp, arrayNullableProp, arrayAndItemsNullableProp, arrayItemsNullable, objectNullableProp, objectAndItemsNullableProp, objectItemsNullable, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NullableClass {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" integerProp: ").append(toIndentedString(integerProp)).append("\n"); + sb.append(" numberProp: ").append(toIndentedString(numberProp)).append("\n"); + sb.append(" booleanProp: ").append(toIndentedString(booleanProp)).append("\n"); + sb.append(" stringProp: ").append(toIndentedString(stringProp)).append("\n"); + sb.append(" dateProp: ").append(toIndentedString(dateProp)).append("\n"); + sb.append(" datetimeProp: ").append(toIndentedString(datetimeProp)).append("\n"); + sb.append(" arrayNullableProp: ").append(toIndentedString(arrayNullableProp)).append("\n"); + sb.append(" arrayAndItemsNullableProp: ").append(toIndentedString(arrayAndItemsNullableProp)).append("\n"); + sb.append(" arrayItemsNullable: ").append(toIndentedString(arrayItemsNullable)).append("\n"); + sb.append(" objectNullableProp: ").append(toIndentedString(objectNullableProp)).append("\n"); + sb.append(" objectAndItemsNullableProp: ").append(toIndentedString(objectAndItemsNullableProp)).append("\n"); + sb.append(" objectItemsNullable: ").append(toIndentedString(objectItemsNullable)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/NumberOnly.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/NumberOnly.java new file mode 100644 index 000000000000..be0488ea8c77 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/NumberOnly.java @@ -0,0 +1,117 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("NumberOnly") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class NumberOnly implements Serializable { + private BigDecimal justNumber; + + protected NumberOnly(NumberOnlyBuilder b) { + this.justNumber = b.justNumber; + } + + public NumberOnly() { + } + + /** + **/ + public NumberOnly justNumber(BigDecimal justNumber) { + this.justNumber = justNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("JustNumber") + @Valid public BigDecimal getJustNumber() { + return justNumber; + } + + @JsonProperty("JustNumber") + public void setJustNumber(BigDecimal justNumber) { + this.justNumber = justNumber; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumberOnly numberOnly = (NumberOnly) o; + return Objects.equals(this.justNumber, numberOnly.justNumber); + } + + @Override + public int hashCode() { + return Objects.hash(justNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumberOnly {\n"); + + sb.append(" justNumber: ").append(toIndentedString(justNumber)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static NumberOnlyBuilder builder() { + return new NumberOnlyBuilderImpl(); + } + + private static final class NumberOnlyBuilderImpl extends NumberOnlyBuilder { + + @Override + protected NumberOnlyBuilderImpl self() { + return this; + } + + @Override + public NumberOnly build() { + return new NumberOnly(this); + } + } + + public static abstract class NumberOnlyBuilder> { + private BigDecimal justNumber; + protected abstract B self(); + + public abstract C build(); + + public B justNumber(BigDecimal justNumber) { + this.justNumber = justNumber; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ObjectWithDeprecatedFields.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ObjectWithDeprecatedFields.java new file mode 100644 index 000000000000..e64d81fac4cb --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ObjectWithDeprecatedFields.java @@ -0,0 +1,221 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.model.DeprecatedObject; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ObjectWithDeprecatedFields") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ObjectWithDeprecatedFields implements Serializable { + private String uuid; + private BigDecimal id; + private DeprecatedObject deprecatedRef; + private @Valid List bars = new ArrayList<>(); + + protected ObjectWithDeprecatedFields(ObjectWithDeprecatedFieldsBuilder b) { + this.uuid = b.uuid; + this.id = b.id; + this.deprecatedRef = b.deprecatedRef; + this.bars = b.bars; + } + + public ObjectWithDeprecatedFields() { + } + + /** + **/ + public ObjectWithDeprecatedFields uuid(String uuid) { + this.uuid = uuid; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("uuid") + public String getUuid() { + return uuid; + } + + @JsonProperty("uuid") + public void setUuid(String uuid) { + this.uuid = uuid; + } + + /** + **/ + public ObjectWithDeprecatedFields id(BigDecimal id) { + this.id = id; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("id") + @Valid public BigDecimal getId() { + return id; + } + + @JsonProperty("id") + public void setId(BigDecimal id) { + this.id = id; + } + + /** + **/ + public ObjectWithDeprecatedFields deprecatedRef(DeprecatedObject deprecatedRef) { + this.deprecatedRef = deprecatedRef; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("deprecatedRef") + @Valid public DeprecatedObject getDeprecatedRef() { + return deprecatedRef; + } + + @JsonProperty("deprecatedRef") + public void setDeprecatedRef(DeprecatedObject deprecatedRef) { + this.deprecatedRef = deprecatedRef; + } + + /** + **/ + public ObjectWithDeprecatedFields bars(List bars) { + this.bars = bars; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("bars") + public List getBars() { + return bars; + } + + @JsonProperty("bars") + public void setBars(List bars) { + this.bars = bars; + } + + public ObjectWithDeprecatedFields addBarsItem(String barsItem) { + if (this.bars == null) { + this.bars = new ArrayList<>(); + } + + this.bars.add(barsItem); + return this; + } + + public ObjectWithDeprecatedFields removeBarsItem(String barsItem) { + if (barsItem != null && this.bars != null) { + this.bars.remove(barsItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObjectWithDeprecatedFields objectWithDeprecatedFields = (ObjectWithDeprecatedFields) o; + return Objects.equals(this.uuid, objectWithDeprecatedFields.uuid) && + Objects.equals(this.id, objectWithDeprecatedFields.id) && + Objects.equals(this.deprecatedRef, objectWithDeprecatedFields.deprecatedRef) && + Objects.equals(this.bars, objectWithDeprecatedFields.bars); + } + + @Override + public int hashCode() { + return Objects.hash(uuid, id, deprecatedRef, bars); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObjectWithDeprecatedFields {\n"); + + sb.append(" uuid: ").append(toIndentedString(uuid)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" deprecatedRef: ").append(toIndentedString(deprecatedRef)).append("\n"); + sb.append(" bars: ").append(toIndentedString(bars)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ObjectWithDeprecatedFieldsBuilder builder() { + return new ObjectWithDeprecatedFieldsBuilderImpl(); + } + + private static final class ObjectWithDeprecatedFieldsBuilderImpl extends ObjectWithDeprecatedFieldsBuilder { + + @Override + protected ObjectWithDeprecatedFieldsBuilderImpl self() { + return this; + } + + @Override + public ObjectWithDeprecatedFields build() { + return new ObjectWithDeprecatedFields(this); + } + } + + public static abstract class ObjectWithDeprecatedFieldsBuilder> { + private String uuid; + private BigDecimal id; + private DeprecatedObject deprecatedRef; + private List bars = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B uuid(String uuid) { + this.uuid = uuid; + return self(); + } + public B id(BigDecimal id) { + this.id = id; + return self(); + } + public B deprecatedRef(DeprecatedObject deprecatedRef) { + this.deprecatedRef = deprecatedRef; + return self(); + } + public B bars(List bars) { + this.bars = bars; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Order.java new file mode 100644 index 000000000000..bcf0838cd8dd --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Order.java @@ -0,0 +1,305 @@ +package org.openapitools.model; + +import java.time.LocalDateTime; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Order") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Order implements Serializable { + private Long id; + private Long petId; + private Integer quantity; + private LocalDateTime shipDate; + public enum StatusEnum { + + PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERED(String.valueOf("delivered")); + + + private String value; + + StatusEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static StatusEnum fromString(String s) { + for (StatusEnum b : StatusEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private StatusEnum status; + private Boolean complete = false; + + protected Order(OrderBuilder b) { + this.id = b.id; + this.petId = b.petId; + this.quantity = b.quantity; + this.shipDate = b.shipDate; + this.status = b.status; + this.complete = b.complete; + } + + public Order() { + } + + /** + **/ + public Order id(Long id) { + this.id = id; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + /** + **/ + public Order petId(Long petId) { + this.petId = petId; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("petId") + public Long getPetId() { + return petId; + } + + @JsonProperty("petId") + public void setPetId(Long petId) { + this.petId = petId; + } + + /** + **/ + public Order quantity(Integer quantity) { + this.quantity = quantity; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("quantity") + public Integer getQuantity() { + return quantity; + } + + @JsonProperty("quantity") + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + /** + **/ + public Order shipDate(LocalDateTime shipDate) { + this.shipDate = shipDate; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("shipDate") + @Valid public LocalDateTime getShipDate() { + return shipDate; + } + + @JsonProperty("shipDate") + public void setShipDate(LocalDateTime shipDate) { + this.shipDate = shipDate; + } + + /** + * Order Status + **/ + public Order status(StatusEnum status) { + this.status = status; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "Order Status") + @JsonProperty("status") + public StatusEnum getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(StatusEnum status) { + this.status = status; + } + + /** + **/ + public Order complete(Boolean complete) { + this.complete = complete; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("complete") + public Boolean getComplete() { + return complete; + } + + @JsonProperty("complete") + public void setComplete(Boolean complete) { + this.complete = complete; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Order order = (Order) o; + return Objects.equals(this.id, order.id) && + Objects.equals(this.petId, order.petId) && + Objects.equals(this.quantity, order.quantity) && + Objects.equals(this.shipDate, order.shipDate) && + Objects.equals(this.status, order.status) && + Objects.equals(this.complete, order.complete); + } + + @Override + public int hashCode() { + return Objects.hash(id, petId, quantity, shipDate, status, complete); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Order {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); + sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); + sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static OrderBuilder builder() { + return new OrderBuilderImpl(); + } + + private static final class OrderBuilderImpl extends OrderBuilder { + + @Override + protected OrderBuilderImpl self() { + return this; + } + + @Override + public Order build() { + return new Order(this); + } + } + + public static abstract class OrderBuilder> { + private Long id; + private Long petId; + private Integer quantity; + private LocalDateTime shipDate; + private StatusEnum status; + private Boolean complete = false; + protected abstract B self(); + + public abstract C build(); + + public B id(Long id) { + this.id = id; + return self(); + } + public B petId(Long petId) { + this.petId = petId; + return self(); + } + public B quantity(Integer quantity) { + this.quantity = quantity; + return self(); + } + public B shipDate(LocalDateTime shipDate) { + this.shipDate = shipDate; + return self(); + } + public B status(StatusEnum status) { + this.status = status; + return self(); + } + public B complete(Boolean complete) { + this.complete = complete; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterComposite.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterComposite.java new file mode 100644 index 000000000000..8ccd8ebc54b1 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterComposite.java @@ -0,0 +1,173 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("OuterComposite") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class OuterComposite implements Serializable { + private BigDecimal myNumber; + private String myString; + private Boolean myBoolean; + + protected OuterComposite(OuterCompositeBuilder b) { + this.myNumber = b.myNumber; + this.myString = b.myString; + this.myBoolean = b.myBoolean; + } + + public OuterComposite() { + } + + /** + **/ + public OuterComposite myNumber(BigDecimal myNumber) { + this.myNumber = myNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("my_number") + @Valid public BigDecimal getMyNumber() { + return myNumber; + } + + @JsonProperty("my_number") + public void setMyNumber(BigDecimal myNumber) { + this.myNumber = myNumber; + } + + /** + **/ + public OuterComposite myString(String myString) { + this.myString = myString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("my_string") + public String getMyString() { + return myString; + } + + @JsonProperty("my_string") + public void setMyString(String myString) { + this.myString = myString; + } + + /** + **/ + public OuterComposite myBoolean(Boolean myBoolean) { + this.myBoolean = myBoolean; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("my_boolean") + public Boolean getMyBoolean() { + return myBoolean; + } + + @JsonProperty("my_boolean") + public void setMyBoolean(Boolean myBoolean) { + this.myBoolean = myBoolean; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OuterComposite outerComposite = (OuterComposite) o; + return Objects.equals(this.myNumber, outerComposite.myNumber) && + Objects.equals(this.myString, outerComposite.myString) && + Objects.equals(this.myBoolean, outerComposite.myBoolean); + } + + @Override + public int hashCode() { + return Objects.hash(myNumber, myString, myBoolean); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OuterComposite {\n"); + + sb.append(" myNumber: ").append(toIndentedString(myNumber)).append("\n"); + sb.append(" myString: ").append(toIndentedString(myString)).append("\n"); + sb.append(" myBoolean: ").append(toIndentedString(myBoolean)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static OuterCompositeBuilder builder() { + return new OuterCompositeBuilderImpl(); + } + + private static final class OuterCompositeBuilderImpl extends OuterCompositeBuilder { + + @Override + protected OuterCompositeBuilderImpl self() { + return this; + } + + @Override + public OuterComposite build() { + return new OuterComposite(this); + } + } + + public static abstract class OuterCompositeBuilder> { + private BigDecimal myNumber; + private String myString; + private Boolean myBoolean; + protected abstract B self(); + + public abstract C build(); + + public B myNumber(BigDecimal myNumber) { + this.myNumber = myNumber; + return self(); + } + public B myString(String myString) { + this.myString = myString; + return self(); + } + public B myBoolean(Boolean myBoolean) { + this.myBoolean = myBoolean; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnum.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnum.java new file mode 100644 index 000000000000..5f86922395d7 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnum.java @@ -0,0 +1,59 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets OuterEnum + */ +public enum OuterEnum { + + PLACED("placed"), + + APPROVED("approved"), + + DELIVERED("delivered"); + + private String value; + + OuterEnum(String value) { + this.value = value; + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static OuterEnum fromString(String s) { + for (OuterEnum b : OuterEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + return null; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OuterEnum fromValue(String value) { + for (OuterEnum b : OuterEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } +} + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumDefaultValue.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumDefaultValue.java new file mode 100644 index 000000000000..f9fd44c8deb0 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumDefaultValue.java @@ -0,0 +1,59 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets OuterEnumDefaultValue + */ +public enum OuterEnumDefaultValue { + + PLACED("placed"), + + APPROVED("approved"), + + DELIVERED("delivered"); + + private String value; + + OuterEnumDefaultValue(String value) { + this.value = value; + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static OuterEnumDefaultValue fromString(String s) { + for (OuterEnumDefaultValue b : OuterEnumDefaultValue.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OuterEnumDefaultValue fromValue(String value) { + for (OuterEnumDefaultValue b : OuterEnumDefaultValue.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumInteger.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumInteger.java new file mode 100644 index 000000000000..a81c0a77bebf --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumInteger.java @@ -0,0 +1,59 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets OuterEnumInteger + */ +public enum OuterEnumInteger { + + NUMBER_0(0), + + NUMBER_1(1), + + NUMBER_2(2); + + private Integer value; + + OuterEnumInteger(Integer value) { + this.value = value; + } + + /** + * Convert a String into Integer, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static OuterEnumInteger fromString(String s) { + for (OuterEnumInteger b : OuterEnumInteger.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OuterEnumInteger fromValue(Integer value) { + for (OuterEnumInteger b : OuterEnumInteger.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumIntegerDefaultValue.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumIntegerDefaultValue.java new file mode 100644 index 000000000000..3f16a4d4e458 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterEnumIntegerDefaultValue.java @@ -0,0 +1,59 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets OuterEnumIntegerDefaultValue + */ +public enum OuterEnumIntegerDefaultValue { + + NUMBER_0(0), + + NUMBER_1(1), + + NUMBER_2(2); + + private Integer value; + + OuterEnumIntegerDefaultValue(Integer value) { + this.value = value; + } + + /** + * Convert a String into Integer, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static OuterEnumIntegerDefaultValue fromString(String s) { + for (OuterEnumIntegerDefaultValue b : OuterEnumIntegerDefaultValue.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OuterEnumIntegerDefaultValue fromValue(Integer value) { + for (OuterEnumIntegerDefaultValue b : OuterEnumIntegerDefaultValue.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterObjectWithEnumProperty.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterObjectWithEnumProperty.java new file mode 100644 index 000000000000..af6c295b3f3b --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/OuterObjectWithEnumProperty.java @@ -0,0 +1,117 @@ +package org.openapitools.model; + +import org.openapitools.model.OuterEnumInteger; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("OuterObjectWithEnumProperty") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class OuterObjectWithEnumProperty implements Serializable { + private OuterEnumInteger value; + + protected OuterObjectWithEnumProperty(OuterObjectWithEnumPropertyBuilder b) { + this.value = b.value; + } + + public OuterObjectWithEnumProperty() { + } + + /** + **/ + public OuterObjectWithEnumProperty value(OuterEnumInteger value) { + this.value = value; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("value") + @NotNull @Valid public OuterEnumInteger getValue() { + return value; + } + + @JsonProperty("value") + public void setValue(OuterEnumInteger value) { + this.value = value; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OuterObjectWithEnumProperty outerObjectWithEnumProperty = (OuterObjectWithEnumProperty) o; + return Objects.equals(this.value, outerObjectWithEnumProperty.value); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OuterObjectWithEnumProperty {\n"); + + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static OuterObjectWithEnumPropertyBuilder builder() { + return new OuterObjectWithEnumPropertyBuilderImpl(); + } + + private static final class OuterObjectWithEnumPropertyBuilderImpl extends OuterObjectWithEnumPropertyBuilder { + + @Override + protected OuterObjectWithEnumPropertyBuilderImpl self() { + return this; + } + + @Override + public OuterObjectWithEnumProperty build() { + return new OuterObjectWithEnumProperty(this); + } + } + + public static abstract class OuterObjectWithEnumPropertyBuilder> { + private OuterEnumInteger value; + protected abstract B self(); + + public abstract C build(); + + public B value(OuterEnumInteger value) { + this.value = value; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ParentWithNullable.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ParentWithNullable.java new file mode 100644 index 000000000000..8ca7b251913b --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ParentWithNullable.java @@ -0,0 +1,199 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import org.openapitools.jackson.nullable.JsonNullable; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) +@JsonSubTypes({ + @JsonSubTypes.Type(value = ChildWithNullable.class, name = "ChildWithNullable"), +}) + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ParentWithNullable") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ParentWithNullable implements Serializable { + public enum TypeEnum { + + CHILDWITHNULLABLE(String.valueOf("ChildWithNullable")); + + + private String value; + + TypeEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static TypeEnum fromString(String s) { + for (TypeEnum b : TypeEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private TypeEnum type; + private String nullableProperty; + + protected ParentWithNullable(ParentWithNullableBuilder b) { + this.type = b.type; + this.nullableProperty = b.nullableProperty; + } + + public ParentWithNullable() { + } + + /** + **/ + public ParentWithNullable type(TypeEnum type) { + this.type = type; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("type") + public TypeEnum getType() { + return type; + } + + @JsonProperty("type") + public void setType(TypeEnum type) { + this.type = type; + } + + /** + **/ + public ParentWithNullable nullableProperty(String nullableProperty) { + this.nullableProperty = nullableProperty; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("nullableProperty") + public String getNullableProperty() { + return nullableProperty; + } + + @JsonProperty("nullableProperty") + public void setNullableProperty(String nullableProperty) { + this.nullableProperty = nullableProperty; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ParentWithNullable parentWithNullable = (ParentWithNullable) o; + return Objects.equals(this.type, parentWithNullable.type) && + Objects.equals(this.nullableProperty, parentWithNullable.nullableProperty); + } + + @Override + public int hashCode() { + return Objects.hash(type, nullableProperty); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ParentWithNullable {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" nullableProperty: ").append(toIndentedString(nullableProperty)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ParentWithNullableBuilder builder() { + return new ParentWithNullableBuilderImpl(); + } + + private static final class ParentWithNullableBuilderImpl extends ParentWithNullableBuilder { + + @Override + protected ParentWithNullableBuilderImpl self() { + return this; + } + + @Override + public ParentWithNullable build() { + return new ParentWithNullable(this); + } + } + + public static abstract class ParentWithNullableBuilder> { + private TypeEnum type; + private String nullableProperty; + protected abstract B self(); + + public abstract C build(); + + public B type(TypeEnum type) { + this.type = type; + return self(); + } + public B nullableProperty(String nullableProperty) { + this.nullableProperty = nullableProperty; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Pet.java new file mode 100644 index 000000000000..019110368986 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Pet.java @@ -0,0 +1,345 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; +import org.openapitools.model.Category; +import org.openapitools.model.Tag; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Pet") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Pet implements Serializable { + private Long id; + private Category category; + private String name; + private @Valid Set photoUrls = new LinkedHashSet<>(); + private @Valid List<@Valid Tag> tags = new ArrayList<>(); + public enum StatusEnum { + + AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD(String.valueOf("sold")); + + + private String value; + + StatusEnum (String v) { + value = v; + } + + public String value() { + return value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static StatusEnum fromString(String s) { + for (StatusEnum b : StatusEnum.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @JsonCreator + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + private StatusEnum status; + + protected Pet(PetBuilder b) { + this.id = b.id; + this.category = b.category; + this.name = b.name; + this.photoUrls = b.photoUrls; + this.tags = b.tags; + this.status = b.status; + } + + public Pet() { + } + + /** + **/ + public Pet id(Long id) { + this.id = id; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + /** + **/ + public Pet category(Category category) { + this.category = category; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("category") + @Valid public Category getCategory() { + return category; + } + + @JsonProperty("category") + public void setCategory(Category category) { + this.category = category; + } + + /** + **/ + public Pet name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "doggie", required = true, description = "") + @JsonProperty("name") + @NotNull public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + /** + **/ + public Pet photoUrls(Set photoUrls) { + this.photoUrls = photoUrls; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("photoUrls") + @NotNull public Set getPhotoUrls() { + return photoUrls; + } + + @JsonProperty("photoUrls") + @JsonDeserialize(as = LinkedHashSet.class) + public void setPhotoUrls(Set photoUrls) { + this.photoUrls = photoUrls; + } + + public Pet addPhotoUrlsItem(String photoUrlsItem) { + if (this.photoUrls == null) { + this.photoUrls = new LinkedHashSet<>(); + } + + this.photoUrls.add(photoUrlsItem); + return this; + } + + public Pet removePhotoUrlsItem(String photoUrlsItem) { + if (photoUrlsItem != null && this.photoUrls != null) { + this.photoUrls.remove(photoUrlsItem); + } + + return this; + } + /** + **/ + public Pet tags(List<@Valid Tag> tags) { + this.tags = tags; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("tags") + @Valid public List<@Valid Tag> getTags() { + return tags; + } + + @JsonProperty("tags") + public void setTags(List<@Valid Tag> tags) { + this.tags = tags; + } + + public Pet addTagsItem(Tag tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); + } + + this.tags.add(tagsItem); + return this; + } + + public Pet removeTagsItem(Tag tagsItem) { + if (tagsItem != null && this.tags != null) { + this.tags.remove(tagsItem); + } + + return this; + } + /** + * pet status in the store + **/ + public Pet status(StatusEnum status) { + this.status = status; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "pet status in the store") + @JsonProperty("status") + public StatusEnum getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(StatusEnum status) { + this.status = status; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pet pet = (Pet) o; + return Objects.equals(this.id, pet.id) && + Objects.equals(this.category, pet.category) && + Objects.equals(this.name, pet.name) && + Objects.equals(this.photoUrls, pet.photoUrls) && + Objects.equals(this.tags, pet.tags) && + Objects.equals(this.status, pet.status); + } + + @Override + public int hashCode() { + return Objects.hash(id, category, name, photoUrls, tags, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Pet {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" category: ").append(toIndentedString(category)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" photoUrls: ").append(toIndentedString(photoUrls)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static PetBuilder builder() { + return new PetBuilderImpl(); + } + + private static final class PetBuilderImpl extends PetBuilder { + + @Override + protected PetBuilderImpl self() { + return this; + } + + @Override + public Pet build() { + return new Pet(this); + } + } + + public static abstract class PetBuilder> { + private Long id; + private Category category; + private String name; + private Set photoUrls = new LinkedHashSet<>(); + private List<@Valid Tag> tags = new ArrayList<>(); + private StatusEnum status; + protected abstract B self(); + + public abstract C build(); + + public B id(Long id) { + this.id = id; + return self(); + } + public B category(Category category) { + this.category = category; + return self(); + } + public B name(String name) { + this.name = name; + return self(); + } + public B photoUrls(Set photoUrls) { + this.photoUrls = photoUrls; + return self(); + } + public B tags(List<@Valid Tag> tags) { + this.tags = tags; + return self(); + } + public B status(StatusEnum status) { + this.status = status; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ReadOnlyFirst.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ReadOnlyFirst.java new file mode 100644 index 000000000000..b888e6c492e7 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/ReadOnlyFirst.java @@ -0,0 +1,144 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("ReadOnlyFirst") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class ReadOnlyFirst implements Serializable { + private String bar; + private String baz; + + protected ReadOnlyFirst(ReadOnlyFirstBuilder b) { + this.bar = b.bar; + this.baz = b.baz; + } + + public ReadOnlyFirst() { + } + + /** + **/ + public ReadOnlyFirst bar(String bar) { + this.bar = bar; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("bar") + public String getBar() { + return bar; + } + + @JsonProperty("bar") + public void setBar(String bar) { + this.bar = bar; + } + + /** + **/ + public ReadOnlyFirst baz(String baz) { + this.baz = baz; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("baz") + public String getBaz() { + return baz; + } + + @JsonProperty("baz") + public void setBaz(String baz) { + this.baz = baz; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReadOnlyFirst readOnlyFirst = (ReadOnlyFirst) o; + return Objects.equals(this.bar, readOnlyFirst.bar) && + Objects.equals(this.baz, readOnlyFirst.baz); + } + + @Override + public int hashCode() { + return Objects.hash(bar, baz); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ReadOnlyFirst {\n"); + + sb.append(" bar: ").append(toIndentedString(bar)).append("\n"); + sb.append(" baz: ").append(toIndentedString(baz)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static ReadOnlyFirstBuilder builder() { + return new ReadOnlyFirstBuilderImpl(); + } + + private static final class ReadOnlyFirstBuilderImpl extends ReadOnlyFirstBuilder { + + @Override + protected ReadOnlyFirstBuilderImpl self() { + return this; + } + + @Override + public ReadOnlyFirst build() { + return new ReadOnlyFirst(this); + } + } + + public static abstract class ReadOnlyFirstBuilder> { + private String bar; + private String baz; + protected abstract B self(); + + public abstract C build(); + + public B bar(String bar) { + this.bar = bar; + return self(); + } + public B baz(String baz) { + this.baz = baz; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/SingleRefType.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/SingleRefType.java new file mode 100644 index 000000000000..3314a0f57b45 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/SingleRefType.java @@ -0,0 +1,57 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets SingleRefType + */ +public enum SingleRefType { + + ADMIN("admin"), + + USER("user"); + + private String value; + + SingleRefType(String value) { + this.value = value; + } + + /** + * Convert a String into String, as specified in the + * See JAX RS 2.0 Specification, section 3.2, p. 12 + */ + public static SingleRefType fromString(String s) { + for (SingleRefType b : SingleRefType.values()) { + // using Objects.toString() to be safe if value type non-object type + // because types like 'int' etc. will be auto-boxed + if (java.util.Objects.toString(b.value).equals(s)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected string value '" + s + "'"); + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static SingleRefType fromValue(String value) { + for (SingleRefType b : SingleRefType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } +} + + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/SpecialModelName.java new file mode 100644 index 000000000000..fe8679f0c58d --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/SpecialModelName.java @@ -0,0 +1,117 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("_special_model.name_") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class SpecialModelName implements Serializable { + private Long $specialPropertyName; + + protected SpecialModelName(SpecialModelNameBuilder b) { + this.$specialPropertyName = b.$specialPropertyName; + } + + public SpecialModelName() { + } + + /** + **/ + public SpecialModelName $specialPropertyName(Long $specialPropertyName) { + this.$specialPropertyName = $specialPropertyName; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("$special[property.name]") + public Long get$SpecialPropertyName() { + return $specialPropertyName; + } + + @JsonProperty("$special[property.name]") + public void set$SpecialPropertyName(Long $specialPropertyName) { + this.$specialPropertyName = $specialPropertyName; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SpecialModelName specialModelName = (SpecialModelName) o; + return Objects.equals(this.$specialPropertyName, specialModelName.$specialPropertyName); + } + + @Override + public int hashCode() { + return Objects.hash($specialPropertyName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SpecialModelName {\n"); + + sb.append(" $specialPropertyName: ").append(toIndentedString($specialPropertyName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static SpecialModelNameBuilder builder() { + return new SpecialModelNameBuilderImpl(); + } + + private static final class SpecialModelNameBuilderImpl extends SpecialModelNameBuilder { + + @Override + protected SpecialModelNameBuilderImpl self() { + return this; + } + + @Override + public SpecialModelName build() { + return new SpecialModelName(this); + } + } + + public static abstract class SpecialModelNameBuilder> { + private Long $specialPropertyName; + protected abstract B self(); + + public abstract C build(); + + public B $specialPropertyName(Long $specialPropertyName) { + this.$specialPropertyName = $specialPropertyName; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Tag.java new file mode 100644 index 000000000000..d01c1f8fdd4f --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/Tag.java @@ -0,0 +1,144 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("Tag") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class Tag implements Serializable { + private Long id; + private String name; + + protected Tag(TagBuilder b) { + this.id = b.id; + this.name = b.name; + } + + public Tag() { + } + + /** + **/ + public Tag id(Long id) { + this.id = id; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + /** + **/ + public Tag name(String name) { + this.name = name; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Tag tag = (Tag) o; + return Objects.equals(this.id, tag.id) && + Objects.equals(this.name, tag.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Tag {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static TagBuilder builder() { + return new TagBuilderImpl(); + } + + private static final class TagBuilderImpl extends TagBuilder { + + @Override + protected TagBuilderImpl self() { + return this; + } + + @Override + public Tag build() { + return new Tag(this); + } + } + + public static abstract class TagBuilder> { + private Long id; + private String name; + protected abstract B self(); + + public abstract C build(); + + public B id(Long id) { + this.id = id; + return self(); + } + public B name(String name) { + this.name = name; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TestInlineFreeformAdditionalPropertiesRequest.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TestInlineFreeformAdditionalPropertiesRequest.java new file mode 100644 index 000000000000..fb8548a54279 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TestInlineFreeformAdditionalPropertiesRequest.java @@ -0,0 +1,85 @@ +package org.openapitools.model; + +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.HashMap; +import java.util.Map; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("testInlineFreeformAdditionalProperties_request") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class TestInlineFreeformAdditionalPropertiesRequest extends HashMap implements Serializable { + private String someProperty; + + /** + **/ + public TestInlineFreeformAdditionalPropertiesRequest someProperty(String someProperty) { + this.someProperty = someProperty; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("someProperty") + public String getSomeProperty() { + return someProperty; + } + + @JsonProperty("someProperty") + public void setSomeProperty(String someProperty) { + this.someProperty = someProperty; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TestInlineFreeformAdditionalPropertiesRequest testInlineFreeformAdditionalPropertiesRequest = (TestInlineFreeformAdditionalPropertiesRequest) o; + return Objects.equals(this.someProperty, testInlineFreeformAdditionalPropertiesRequest.someProperty) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(someProperty, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TestInlineFreeformAdditionalPropertiesRequest {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" someProperty: ").append(toIndentedString(someProperty)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TypeHolderDefault.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TypeHolderDefault.java new file mode 100644 index 000000000000..45c2bb57a075 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TypeHolderDefault.java @@ -0,0 +1,248 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("TypeHolderDefault") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class TypeHolderDefault implements Serializable { + private String stringItem = "what"; + private BigDecimal numberItem; + private Integer integerItem; + private Boolean boolItem = true; + private @Valid List arrayItem = new ArrayList<>(); + + protected TypeHolderDefault(TypeHolderDefaultBuilder b) { + this.stringItem = b.stringItem; + this.numberItem = b.numberItem; + this.integerItem = b.integerItem; + this.boolItem = b.boolItem; + this.arrayItem = b.arrayItem; + } + + public TypeHolderDefault() { + } + + /** + **/ + public TypeHolderDefault stringItem(String stringItem) { + this.stringItem = stringItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("string_item") + @NotNull public String getStringItem() { + return stringItem; + } + + @JsonProperty("string_item") + public void setStringItem(String stringItem) { + this.stringItem = stringItem; + } + + /** + **/ + public TypeHolderDefault numberItem(BigDecimal numberItem) { + this.numberItem = numberItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("number_item") + @NotNull @Valid public BigDecimal getNumberItem() { + return numberItem; + } + + @JsonProperty("number_item") + public void setNumberItem(BigDecimal numberItem) { + this.numberItem = numberItem; + } + + /** + **/ + public TypeHolderDefault integerItem(Integer integerItem) { + this.integerItem = integerItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("integer_item") + @NotNull public Integer getIntegerItem() { + return integerItem; + } + + @JsonProperty("integer_item") + public void setIntegerItem(Integer integerItem) { + this.integerItem = integerItem; + } + + /** + **/ + public TypeHolderDefault boolItem(Boolean boolItem) { + this.boolItem = boolItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("bool_item") + @NotNull public Boolean getBoolItem() { + return boolItem; + } + + @JsonProperty("bool_item") + public void setBoolItem(Boolean boolItem) { + this.boolItem = boolItem; + } + + /** + **/ + public TypeHolderDefault arrayItem(List arrayItem) { + this.arrayItem = arrayItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(required = true, description = "") + @JsonProperty("array_item") + @NotNull public List getArrayItem() { + return arrayItem; + } + + @JsonProperty("array_item") + public void setArrayItem(List arrayItem) { + this.arrayItem = arrayItem; + } + + public TypeHolderDefault addArrayItemItem(Integer arrayItemItem) { + if (this.arrayItem == null) { + this.arrayItem = new ArrayList<>(); + } + + this.arrayItem.add(arrayItemItem); + return this; + } + + public TypeHolderDefault removeArrayItemItem(Integer arrayItemItem) { + if (arrayItemItem != null && this.arrayItem != null) { + this.arrayItem.remove(arrayItemItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TypeHolderDefault typeHolderDefault = (TypeHolderDefault) o; + return Objects.equals(this.stringItem, typeHolderDefault.stringItem) && + Objects.equals(this.numberItem, typeHolderDefault.numberItem) && + Objects.equals(this.integerItem, typeHolderDefault.integerItem) && + Objects.equals(this.boolItem, typeHolderDefault.boolItem) && + Objects.equals(this.arrayItem, typeHolderDefault.arrayItem); + } + + @Override + public int hashCode() { + return Objects.hash(stringItem, numberItem, integerItem, boolItem, arrayItem); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TypeHolderDefault {\n"); + + sb.append(" stringItem: ").append(toIndentedString(stringItem)).append("\n"); + sb.append(" numberItem: ").append(toIndentedString(numberItem)).append("\n"); + sb.append(" integerItem: ").append(toIndentedString(integerItem)).append("\n"); + sb.append(" boolItem: ").append(toIndentedString(boolItem)).append("\n"); + sb.append(" arrayItem: ").append(toIndentedString(arrayItem)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static TypeHolderDefaultBuilder builder() { + return new TypeHolderDefaultBuilderImpl(); + } + + private static final class TypeHolderDefaultBuilderImpl extends TypeHolderDefaultBuilder { + + @Override + protected TypeHolderDefaultBuilderImpl self() { + return this; + } + + @Override + public TypeHolderDefault build() { + return new TypeHolderDefault(this); + } + } + + public static abstract class TypeHolderDefaultBuilder> { + private String stringItem = "what"; + private BigDecimal numberItem; + private Integer integerItem; + private Boolean boolItem = true; + private List arrayItem = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B stringItem(String stringItem) { + this.stringItem = stringItem; + return self(); + } + public B numberItem(BigDecimal numberItem) { + this.numberItem = numberItem; + return self(); + } + public B integerItem(Integer integerItem) { + this.integerItem = integerItem; + return self(); + } + public B boolItem(Boolean boolItem) { + this.boolItem = boolItem; + return self(); + } + public B arrayItem(List arrayItem) { + this.arrayItem = arrayItem; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TypeHolderExample.java new file mode 100644 index 000000000000..27d41486c488 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/TypeHolderExample.java @@ -0,0 +1,276 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("TypeHolderExample") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class TypeHolderExample implements Serializable { + private String stringItem; + private BigDecimal numberItem; + private Float floatItem; + private Integer integerItem; + private Boolean boolItem; + private @Valid List arrayItem = new ArrayList<>(); + + protected TypeHolderExample(TypeHolderExampleBuilder b) { + this.stringItem = b.stringItem; + this.numberItem = b.numberItem; + this.floatItem = b.floatItem; + this.integerItem = b.integerItem; + this.boolItem = b.boolItem; + this.arrayItem = b.arrayItem; + } + + public TypeHolderExample() { + } + + /** + **/ + public TypeHolderExample stringItem(String stringItem) { + this.stringItem = stringItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "what", required = true, description = "") + @JsonProperty("string_item") + @NotNull public String getStringItem() { + return stringItem; + } + + @JsonProperty("string_item") + public void setStringItem(String stringItem) { + this.stringItem = stringItem; + } + + /** + **/ + public TypeHolderExample numberItem(BigDecimal numberItem) { + this.numberItem = numberItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", required = true, description = "") + @JsonProperty("number_item") + @NotNull @Valid public BigDecimal getNumberItem() { + return numberItem; + } + + @JsonProperty("number_item") + public void setNumberItem(BigDecimal numberItem) { + this.numberItem = numberItem; + } + + /** + **/ + public TypeHolderExample floatItem(Float floatItem) { + this.floatItem = floatItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", required = true, description = "") + @JsonProperty("float_item") + @NotNull public Float getFloatItem() { + return floatItem; + } + + @JsonProperty("float_item") + public void setFloatItem(Float floatItem) { + this.floatItem = floatItem; + } + + /** + **/ + public TypeHolderExample integerItem(Integer integerItem) { + this.integerItem = integerItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "-2", required = true, description = "") + @JsonProperty("integer_item") + @NotNull public Integer getIntegerItem() { + return integerItem; + } + + @JsonProperty("integer_item") + public void setIntegerItem(Integer integerItem) { + this.integerItem = integerItem; + } + + /** + **/ + public TypeHolderExample boolItem(Boolean boolItem) { + this.boolItem = boolItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "true", required = true, description = "") + @JsonProperty("bool_item") + @NotNull public Boolean getBoolItem() { + return boolItem; + } + + @JsonProperty("bool_item") + public void setBoolItem(Boolean boolItem) { + this.boolItem = boolItem; + } + + /** + **/ + public TypeHolderExample arrayItem(List arrayItem) { + this.arrayItem = arrayItem; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "[0, 1, 2, 3]", required = true, description = "") + @JsonProperty("array_item") + @NotNull public List getArrayItem() { + return arrayItem; + } + + @JsonProperty("array_item") + public void setArrayItem(List arrayItem) { + this.arrayItem = arrayItem; + } + + public TypeHolderExample addArrayItemItem(Integer arrayItemItem) { + if (this.arrayItem == null) { + this.arrayItem = new ArrayList<>(); + } + + this.arrayItem.add(arrayItemItem); + return this; + } + + public TypeHolderExample removeArrayItemItem(Integer arrayItemItem) { + if (arrayItemItem != null && this.arrayItem != null) { + this.arrayItem.remove(arrayItemItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TypeHolderExample typeHolderExample = (TypeHolderExample) o; + return Objects.equals(this.stringItem, typeHolderExample.stringItem) && + Objects.equals(this.numberItem, typeHolderExample.numberItem) && + Objects.equals(this.floatItem, typeHolderExample.floatItem) && + Objects.equals(this.integerItem, typeHolderExample.integerItem) && + Objects.equals(this.boolItem, typeHolderExample.boolItem) && + Objects.equals(this.arrayItem, typeHolderExample.arrayItem); + } + + @Override + public int hashCode() { + return Objects.hash(stringItem, numberItem, floatItem, integerItem, boolItem, arrayItem); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TypeHolderExample {\n"); + + sb.append(" stringItem: ").append(toIndentedString(stringItem)).append("\n"); + sb.append(" numberItem: ").append(toIndentedString(numberItem)).append("\n"); + sb.append(" floatItem: ").append(toIndentedString(floatItem)).append("\n"); + sb.append(" integerItem: ").append(toIndentedString(integerItem)).append("\n"); + sb.append(" boolItem: ").append(toIndentedString(boolItem)).append("\n"); + sb.append(" arrayItem: ").append(toIndentedString(arrayItem)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static TypeHolderExampleBuilder builder() { + return new TypeHolderExampleBuilderImpl(); + } + + private static final class TypeHolderExampleBuilderImpl extends TypeHolderExampleBuilder { + + @Override + protected TypeHolderExampleBuilderImpl self() { + return this; + } + + @Override + public TypeHolderExample build() { + return new TypeHolderExample(this); + } + } + + public static abstract class TypeHolderExampleBuilder> { + private String stringItem; + private BigDecimal numberItem; + private Float floatItem; + private Integer integerItem; + private Boolean boolItem; + private List arrayItem = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B stringItem(String stringItem) { + this.stringItem = stringItem; + return self(); + } + public B numberItem(BigDecimal numberItem) { + this.numberItem = numberItem; + return self(); + } + public B floatItem(Float floatItem) { + this.floatItem = floatItem; + return self(); + } + public B integerItem(Integer integerItem) { + this.integerItem = integerItem; + return self(); + } + public B boolItem(Boolean boolItem) { + this.boolItem = boolItem; + return self(); + } + public B arrayItem(List arrayItem) { + this.arrayItem = arrayItem; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/User.java new file mode 100644 index 000000000000..35e1d1a6c728 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/User.java @@ -0,0 +1,313 @@ +package org.openapitools.model; + +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("User") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class User implements Serializable { + private Long id; + private String username; + private String firstName; + private String lastName; + private String email; + private String password; + private String phone; + private Integer userStatus; + + protected User(UserBuilder b) { + this.id = b.id; + this.username = b.username; + this.firstName = b.firstName; + this.lastName = b.lastName; + this.email = b.email; + this.password = b.password; + this.phone = b.phone; + this.userStatus = b.userStatus; + } + + public User() { + } + + /** + **/ + public User id(Long id) { + this.id = id; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + /** + **/ + public User username(String username) { + this.username = username; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("username") + public String getUsername() { + return username; + } + + @JsonProperty("username") + public void setUsername(String username) { + this.username = username; + } + + /** + **/ + public User firstName(String firstName) { + this.firstName = firstName; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("firstName") + public String getFirstName() { + return firstName; + } + + @JsonProperty("firstName") + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + /** + **/ + public User lastName(String lastName) { + this.lastName = lastName; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("lastName") + public String getLastName() { + return lastName; + } + + @JsonProperty("lastName") + public void setLastName(String lastName) { + this.lastName = lastName; + } + + /** + **/ + public User email(String email) { + this.email = email; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("email") + public String getEmail() { + return email; + } + + @JsonProperty("email") + public void setEmail(String email) { + this.email = email; + } + + /** + **/ + public User password(String password) { + this.password = password; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("password") + public String getPassword() { + return password; + } + + @JsonProperty("password") + public void setPassword(String password) { + this.password = password; + } + + /** + **/ + public User phone(String phone) { + this.phone = phone; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("phone") + public String getPhone() { + return phone; + } + + @JsonProperty("phone") + public void setPhone(String phone) { + this.phone = phone; + } + + /** + * User Status + **/ + public User userStatus(Integer userStatus) { + this.userStatus = userStatus; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "User Status") + @JsonProperty("userStatus") + public Integer getUserStatus() { + return userStatus; + } + + @JsonProperty("userStatus") + public void setUserStatus(Integer userStatus) { + this.userStatus = userStatus; + } + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(this.id, user.id) && + Objects.equals(this.username, user.username) && + Objects.equals(this.firstName, user.firstName) && + Objects.equals(this.lastName, user.lastName) && + Objects.equals(this.email, user.email) && + Objects.equals(this.password, user.password) && + Objects.equals(this.phone, user.phone) && + Objects.equals(this.userStatus, user.userStatus); + } + + @Override + public int hashCode() { + return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class User {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static UserBuilder builder() { + return new UserBuilderImpl(); + } + + private static final class UserBuilderImpl extends UserBuilder { + + @Override + protected UserBuilderImpl self() { + return this; + } + + @Override + public User build() { + return new User(this); + } + } + + public static abstract class UserBuilder> { + private Long id; + private String username; + private String firstName; + private String lastName; + private String email; + private String password; + private String phone; + private Integer userStatus; + protected abstract B self(); + + public abstract C build(); + + public B id(Long id) { + this.id = id; + return self(); + } + public B username(String username) { + this.username = username; + return self(); + } + public B firstName(String firstName) { + this.firstName = firstName; + return self(); + } + public B lastName(String lastName) { + this.lastName = lastName; + return self(); + } + public B email(String email) { + this.email = email; + return self(); + } + public B password(String password) { + this.password = password; + return self(); + } + public B phone(String phone) { + this.phone = phone; + return self(); + } + public B userStatus(Integer userStatus) { + this.userStatus = userStatus; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/XmlItem.java b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/XmlItem.java new file mode 100644 index 000000000000..40f1d7cb1402 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/gen/java/org/openapitools/model/XmlItem.java @@ -0,0 +1,1048 @@ +package org.openapitools.model; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.io.Serializable; +import javax.validation.constraints.*; +import javax.validation.Valid; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonTypeName; + + + +@org.eclipse.microprofile.openapi.annotations.media.Schema(description="") +@JsonTypeName("XmlItem") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.5.0-SNAPSHOT") +public class XmlItem implements Serializable { + private String attributeString; + private BigDecimal attributeNumber; + private Integer attributeInteger; + private Boolean attributeBoolean; + private @Valid List wrappedArray = new ArrayList<>(); + private String nameString; + private BigDecimal nameNumber; + private Integer nameInteger; + private Boolean nameBoolean; + private @Valid List nameArray = new ArrayList<>(); + private @Valid List nameWrappedArray = new ArrayList<>(); + private String prefixString; + private BigDecimal prefixNumber; + private Integer prefixInteger; + private Boolean prefixBoolean; + private @Valid List prefixArray = new ArrayList<>(); + private @Valid List prefixWrappedArray = new ArrayList<>(); + private String namespaceString; + private BigDecimal namespaceNumber; + private Integer namespaceInteger; + private Boolean namespaceBoolean; + private @Valid List namespaceArray = new ArrayList<>(); + private @Valid List namespaceWrappedArray = new ArrayList<>(); + private String prefixNsString; + private BigDecimal prefixNsNumber; + private Integer prefixNsInteger; + private Boolean prefixNsBoolean; + private @Valid List prefixNsArray = new ArrayList<>(); + private @Valid List prefixNsWrappedArray = new ArrayList<>(); + + protected XmlItem(XmlItemBuilder b) { + this.attributeString = b.attributeString; + this.attributeNumber = b.attributeNumber; + this.attributeInteger = b.attributeInteger; + this.attributeBoolean = b.attributeBoolean; + this.wrappedArray = b.wrappedArray; + this.nameString = b.nameString; + this.nameNumber = b.nameNumber; + this.nameInteger = b.nameInteger; + this.nameBoolean = b.nameBoolean; + this.nameArray = b.nameArray; + this.nameWrappedArray = b.nameWrappedArray; + this.prefixString = b.prefixString; + this.prefixNumber = b.prefixNumber; + this.prefixInteger = b.prefixInteger; + this.prefixBoolean = b.prefixBoolean; + this.prefixArray = b.prefixArray; + this.prefixWrappedArray = b.prefixWrappedArray; + this.namespaceString = b.namespaceString; + this.namespaceNumber = b.namespaceNumber; + this.namespaceInteger = b.namespaceInteger; + this.namespaceBoolean = b.namespaceBoolean; + this.namespaceArray = b.namespaceArray; + this.namespaceWrappedArray = b.namespaceWrappedArray; + this.prefixNsString = b.prefixNsString; + this.prefixNsNumber = b.prefixNsNumber; + this.prefixNsInteger = b.prefixNsInteger; + this.prefixNsBoolean = b.prefixNsBoolean; + this.prefixNsArray = b.prefixNsArray; + this.prefixNsWrappedArray = b.prefixNsWrappedArray; + } + + public XmlItem() { + } + + /** + **/ + public XmlItem attributeString(String attributeString) { + this.attributeString = attributeString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "string", description = "") + @JsonProperty("attribute_string") + public String getAttributeString() { + return attributeString; + } + + @JsonProperty("attribute_string") + public void setAttributeString(String attributeString) { + this.attributeString = attributeString; + } + + /** + **/ + public XmlItem attributeNumber(BigDecimal attributeNumber) { + this.attributeNumber = attributeNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", description = "") + @JsonProperty("attribute_number") + @Valid public BigDecimal getAttributeNumber() { + return attributeNumber; + } + + @JsonProperty("attribute_number") + public void setAttributeNumber(BigDecimal attributeNumber) { + this.attributeNumber = attributeNumber; + } + + /** + **/ + public XmlItem attributeInteger(Integer attributeInteger) { + this.attributeInteger = attributeInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "-2", description = "") + @JsonProperty("attribute_integer") + public Integer getAttributeInteger() { + return attributeInteger; + } + + @JsonProperty("attribute_integer") + public void setAttributeInteger(Integer attributeInteger) { + this.attributeInteger = attributeInteger; + } + + /** + **/ + public XmlItem attributeBoolean(Boolean attributeBoolean) { + this.attributeBoolean = attributeBoolean; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "true", description = "") + @JsonProperty("attribute_boolean") + public Boolean getAttributeBoolean() { + return attributeBoolean; + } + + @JsonProperty("attribute_boolean") + public void setAttributeBoolean(Boolean attributeBoolean) { + this.attributeBoolean = attributeBoolean; + } + + /** + **/ + public XmlItem wrappedArray(List wrappedArray) { + this.wrappedArray = wrappedArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("wrapped_array") + public List getWrappedArray() { + return wrappedArray; + } + + @JsonProperty("wrapped_array") + public void setWrappedArray(List wrappedArray) { + this.wrappedArray = wrappedArray; + } + + public XmlItem addWrappedArrayItem(Integer wrappedArrayItem) { + if (this.wrappedArray == null) { + this.wrappedArray = new ArrayList<>(); + } + + this.wrappedArray.add(wrappedArrayItem); + return this; + } + + public XmlItem removeWrappedArrayItem(Integer wrappedArrayItem) { + if (wrappedArrayItem != null && this.wrappedArray != null) { + this.wrappedArray.remove(wrappedArrayItem); + } + + return this; + } + /** + **/ + public XmlItem nameString(String nameString) { + this.nameString = nameString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "string", description = "") + @JsonProperty("name_string") + public String getNameString() { + return nameString; + } + + @JsonProperty("name_string") + public void setNameString(String nameString) { + this.nameString = nameString; + } + + /** + **/ + public XmlItem nameNumber(BigDecimal nameNumber) { + this.nameNumber = nameNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", description = "") + @JsonProperty("name_number") + @Valid public BigDecimal getNameNumber() { + return nameNumber; + } + + @JsonProperty("name_number") + public void setNameNumber(BigDecimal nameNumber) { + this.nameNumber = nameNumber; + } + + /** + **/ + public XmlItem nameInteger(Integer nameInteger) { + this.nameInteger = nameInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "-2", description = "") + @JsonProperty("name_integer") + public Integer getNameInteger() { + return nameInteger; + } + + @JsonProperty("name_integer") + public void setNameInteger(Integer nameInteger) { + this.nameInteger = nameInteger; + } + + /** + **/ + public XmlItem nameBoolean(Boolean nameBoolean) { + this.nameBoolean = nameBoolean; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "true", description = "") + @JsonProperty("name_boolean") + public Boolean getNameBoolean() { + return nameBoolean; + } + + @JsonProperty("name_boolean") + public void setNameBoolean(Boolean nameBoolean) { + this.nameBoolean = nameBoolean; + } + + /** + **/ + public XmlItem nameArray(List nameArray) { + this.nameArray = nameArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name_array") + public List getNameArray() { + return nameArray; + } + + @JsonProperty("name_array") + public void setNameArray(List nameArray) { + this.nameArray = nameArray; + } + + public XmlItem addNameArrayItem(Integer nameArrayItem) { + if (this.nameArray == null) { + this.nameArray = new ArrayList<>(); + } + + this.nameArray.add(nameArrayItem); + return this; + } + + public XmlItem removeNameArrayItem(Integer nameArrayItem) { + if (nameArrayItem != null && this.nameArray != null) { + this.nameArray.remove(nameArrayItem); + } + + return this; + } + /** + **/ + public XmlItem nameWrappedArray(List nameWrappedArray) { + this.nameWrappedArray = nameWrappedArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("name_wrapped_array") + public List getNameWrappedArray() { + return nameWrappedArray; + } + + @JsonProperty("name_wrapped_array") + public void setNameWrappedArray(List nameWrappedArray) { + this.nameWrappedArray = nameWrappedArray; + } + + public XmlItem addNameWrappedArrayItem(Integer nameWrappedArrayItem) { + if (this.nameWrappedArray == null) { + this.nameWrappedArray = new ArrayList<>(); + } + + this.nameWrappedArray.add(nameWrappedArrayItem); + return this; + } + + public XmlItem removeNameWrappedArrayItem(Integer nameWrappedArrayItem) { + if (nameWrappedArrayItem != null && this.nameWrappedArray != null) { + this.nameWrappedArray.remove(nameWrappedArrayItem); + } + + return this; + } + /** + **/ + public XmlItem prefixString(String prefixString) { + this.prefixString = prefixString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "string", description = "") + @JsonProperty("prefix_string") + public String getPrefixString() { + return prefixString; + } + + @JsonProperty("prefix_string") + public void setPrefixString(String prefixString) { + this.prefixString = prefixString; + } + + /** + **/ + public XmlItem prefixNumber(BigDecimal prefixNumber) { + this.prefixNumber = prefixNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", description = "") + @JsonProperty("prefix_number") + @Valid public BigDecimal getPrefixNumber() { + return prefixNumber; + } + + @JsonProperty("prefix_number") + public void setPrefixNumber(BigDecimal prefixNumber) { + this.prefixNumber = prefixNumber; + } + + /** + **/ + public XmlItem prefixInteger(Integer prefixInteger) { + this.prefixInteger = prefixInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "-2", description = "") + @JsonProperty("prefix_integer") + public Integer getPrefixInteger() { + return prefixInteger; + } + + @JsonProperty("prefix_integer") + public void setPrefixInteger(Integer prefixInteger) { + this.prefixInteger = prefixInteger; + } + + /** + **/ + public XmlItem prefixBoolean(Boolean prefixBoolean) { + this.prefixBoolean = prefixBoolean; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "true", description = "") + @JsonProperty("prefix_boolean") + public Boolean getPrefixBoolean() { + return prefixBoolean; + } + + @JsonProperty("prefix_boolean") + public void setPrefixBoolean(Boolean prefixBoolean) { + this.prefixBoolean = prefixBoolean; + } + + /** + **/ + public XmlItem prefixArray(List prefixArray) { + this.prefixArray = prefixArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("prefix_array") + public List getPrefixArray() { + return prefixArray; + } + + @JsonProperty("prefix_array") + public void setPrefixArray(List prefixArray) { + this.prefixArray = prefixArray; + } + + public XmlItem addPrefixArrayItem(Integer prefixArrayItem) { + if (this.prefixArray == null) { + this.prefixArray = new ArrayList<>(); + } + + this.prefixArray.add(prefixArrayItem); + return this; + } + + public XmlItem removePrefixArrayItem(Integer prefixArrayItem) { + if (prefixArrayItem != null && this.prefixArray != null) { + this.prefixArray.remove(prefixArrayItem); + } + + return this; + } + /** + **/ + public XmlItem prefixWrappedArray(List prefixWrappedArray) { + this.prefixWrappedArray = prefixWrappedArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("prefix_wrapped_array") + public List getPrefixWrappedArray() { + return prefixWrappedArray; + } + + @JsonProperty("prefix_wrapped_array") + public void setPrefixWrappedArray(List prefixWrappedArray) { + this.prefixWrappedArray = prefixWrappedArray; + } + + public XmlItem addPrefixWrappedArrayItem(Integer prefixWrappedArrayItem) { + if (this.prefixWrappedArray == null) { + this.prefixWrappedArray = new ArrayList<>(); + } + + this.prefixWrappedArray.add(prefixWrappedArrayItem); + return this; + } + + public XmlItem removePrefixWrappedArrayItem(Integer prefixWrappedArrayItem) { + if (prefixWrappedArrayItem != null && this.prefixWrappedArray != null) { + this.prefixWrappedArray.remove(prefixWrappedArrayItem); + } + + return this; + } + /** + **/ + public XmlItem namespaceString(String namespaceString) { + this.namespaceString = namespaceString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "string", description = "") + @JsonProperty("namespace_string") + public String getNamespaceString() { + return namespaceString; + } + + @JsonProperty("namespace_string") + public void setNamespaceString(String namespaceString) { + this.namespaceString = namespaceString; + } + + /** + **/ + public XmlItem namespaceNumber(BigDecimal namespaceNumber) { + this.namespaceNumber = namespaceNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", description = "") + @JsonProperty("namespace_number") + @Valid public BigDecimal getNamespaceNumber() { + return namespaceNumber; + } + + @JsonProperty("namespace_number") + public void setNamespaceNumber(BigDecimal namespaceNumber) { + this.namespaceNumber = namespaceNumber; + } + + /** + **/ + public XmlItem namespaceInteger(Integer namespaceInteger) { + this.namespaceInteger = namespaceInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "-2", description = "") + @JsonProperty("namespace_integer") + public Integer getNamespaceInteger() { + return namespaceInteger; + } + + @JsonProperty("namespace_integer") + public void setNamespaceInteger(Integer namespaceInteger) { + this.namespaceInteger = namespaceInteger; + } + + /** + **/ + public XmlItem namespaceBoolean(Boolean namespaceBoolean) { + this.namespaceBoolean = namespaceBoolean; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "true", description = "") + @JsonProperty("namespace_boolean") + public Boolean getNamespaceBoolean() { + return namespaceBoolean; + } + + @JsonProperty("namespace_boolean") + public void setNamespaceBoolean(Boolean namespaceBoolean) { + this.namespaceBoolean = namespaceBoolean; + } + + /** + **/ + public XmlItem namespaceArray(List namespaceArray) { + this.namespaceArray = namespaceArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("namespace_array") + public List getNamespaceArray() { + return namespaceArray; + } + + @JsonProperty("namespace_array") + public void setNamespaceArray(List namespaceArray) { + this.namespaceArray = namespaceArray; + } + + public XmlItem addNamespaceArrayItem(Integer namespaceArrayItem) { + if (this.namespaceArray == null) { + this.namespaceArray = new ArrayList<>(); + } + + this.namespaceArray.add(namespaceArrayItem); + return this; + } + + public XmlItem removeNamespaceArrayItem(Integer namespaceArrayItem) { + if (namespaceArrayItem != null && this.namespaceArray != null) { + this.namespaceArray.remove(namespaceArrayItem); + } + + return this; + } + /** + **/ + public XmlItem namespaceWrappedArray(List namespaceWrappedArray) { + this.namespaceWrappedArray = namespaceWrappedArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("namespace_wrapped_array") + public List getNamespaceWrappedArray() { + return namespaceWrappedArray; + } + + @JsonProperty("namespace_wrapped_array") + public void setNamespaceWrappedArray(List namespaceWrappedArray) { + this.namespaceWrappedArray = namespaceWrappedArray; + } + + public XmlItem addNamespaceWrappedArrayItem(Integer namespaceWrappedArrayItem) { + if (this.namespaceWrappedArray == null) { + this.namespaceWrappedArray = new ArrayList<>(); + } + + this.namespaceWrappedArray.add(namespaceWrappedArrayItem); + return this; + } + + public XmlItem removeNamespaceWrappedArrayItem(Integer namespaceWrappedArrayItem) { + if (namespaceWrappedArrayItem != null && this.namespaceWrappedArray != null) { + this.namespaceWrappedArray.remove(namespaceWrappedArrayItem); + } + + return this; + } + /** + **/ + public XmlItem prefixNsString(String prefixNsString) { + this.prefixNsString = prefixNsString; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "string", description = "") + @JsonProperty("prefix_ns_string") + public String getPrefixNsString() { + return prefixNsString; + } + + @JsonProperty("prefix_ns_string") + public void setPrefixNsString(String prefixNsString) { + this.prefixNsString = prefixNsString; + } + + /** + **/ + public XmlItem prefixNsNumber(BigDecimal prefixNsNumber) { + this.prefixNsNumber = prefixNsNumber; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "1.234", description = "") + @JsonProperty("prefix_ns_number") + @Valid public BigDecimal getPrefixNsNumber() { + return prefixNsNumber; + } + + @JsonProperty("prefix_ns_number") + public void setPrefixNsNumber(BigDecimal prefixNsNumber) { + this.prefixNsNumber = prefixNsNumber; + } + + /** + **/ + public XmlItem prefixNsInteger(Integer prefixNsInteger) { + this.prefixNsInteger = prefixNsInteger; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "-2", description = "") + @JsonProperty("prefix_ns_integer") + public Integer getPrefixNsInteger() { + return prefixNsInteger; + } + + @JsonProperty("prefix_ns_integer") + public void setPrefixNsInteger(Integer prefixNsInteger) { + this.prefixNsInteger = prefixNsInteger; + } + + /** + **/ + public XmlItem prefixNsBoolean(Boolean prefixNsBoolean) { + this.prefixNsBoolean = prefixNsBoolean; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(example = "true", description = "") + @JsonProperty("prefix_ns_boolean") + public Boolean getPrefixNsBoolean() { + return prefixNsBoolean; + } + + @JsonProperty("prefix_ns_boolean") + public void setPrefixNsBoolean(Boolean prefixNsBoolean) { + this.prefixNsBoolean = prefixNsBoolean; + } + + /** + **/ + public XmlItem prefixNsArray(List prefixNsArray) { + this.prefixNsArray = prefixNsArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("prefix_ns_array") + public List getPrefixNsArray() { + return prefixNsArray; + } + + @JsonProperty("prefix_ns_array") + public void setPrefixNsArray(List prefixNsArray) { + this.prefixNsArray = prefixNsArray; + } + + public XmlItem addPrefixNsArrayItem(Integer prefixNsArrayItem) { + if (this.prefixNsArray == null) { + this.prefixNsArray = new ArrayList<>(); + } + + this.prefixNsArray.add(prefixNsArrayItem); + return this; + } + + public XmlItem removePrefixNsArrayItem(Integer prefixNsArrayItem) { + if (prefixNsArrayItem != null && this.prefixNsArray != null) { + this.prefixNsArray.remove(prefixNsArrayItem); + } + + return this; + } + /** + **/ + public XmlItem prefixNsWrappedArray(List prefixNsWrappedArray) { + this.prefixNsWrappedArray = prefixNsWrappedArray; + return this; + } + + + @org.eclipse.microprofile.openapi.annotations.media.Schema(description = "") + @JsonProperty("prefix_ns_wrapped_array") + public List getPrefixNsWrappedArray() { + return prefixNsWrappedArray; + } + + @JsonProperty("prefix_ns_wrapped_array") + public void setPrefixNsWrappedArray(List prefixNsWrappedArray) { + this.prefixNsWrappedArray = prefixNsWrappedArray; + } + + public XmlItem addPrefixNsWrappedArrayItem(Integer prefixNsWrappedArrayItem) { + if (this.prefixNsWrappedArray == null) { + this.prefixNsWrappedArray = new ArrayList<>(); + } + + this.prefixNsWrappedArray.add(prefixNsWrappedArrayItem); + return this; + } + + public XmlItem removePrefixNsWrappedArrayItem(Integer prefixNsWrappedArrayItem) { + if (prefixNsWrappedArrayItem != null && this.prefixNsWrappedArray != null) { + this.prefixNsWrappedArray.remove(prefixNsWrappedArrayItem); + } + + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + XmlItem xmlItem = (XmlItem) o; + return Objects.equals(this.attributeString, xmlItem.attributeString) && + Objects.equals(this.attributeNumber, xmlItem.attributeNumber) && + Objects.equals(this.attributeInteger, xmlItem.attributeInteger) && + Objects.equals(this.attributeBoolean, xmlItem.attributeBoolean) && + Objects.equals(this.wrappedArray, xmlItem.wrappedArray) && + Objects.equals(this.nameString, xmlItem.nameString) && + Objects.equals(this.nameNumber, xmlItem.nameNumber) && + Objects.equals(this.nameInteger, xmlItem.nameInteger) && + Objects.equals(this.nameBoolean, xmlItem.nameBoolean) && + Objects.equals(this.nameArray, xmlItem.nameArray) && + Objects.equals(this.nameWrappedArray, xmlItem.nameWrappedArray) && + Objects.equals(this.prefixString, xmlItem.prefixString) && + Objects.equals(this.prefixNumber, xmlItem.prefixNumber) && + Objects.equals(this.prefixInteger, xmlItem.prefixInteger) && + Objects.equals(this.prefixBoolean, xmlItem.prefixBoolean) && + Objects.equals(this.prefixArray, xmlItem.prefixArray) && + Objects.equals(this.prefixWrappedArray, xmlItem.prefixWrappedArray) && + Objects.equals(this.namespaceString, xmlItem.namespaceString) && + Objects.equals(this.namespaceNumber, xmlItem.namespaceNumber) && + Objects.equals(this.namespaceInteger, xmlItem.namespaceInteger) && + Objects.equals(this.namespaceBoolean, xmlItem.namespaceBoolean) && + Objects.equals(this.namespaceArray, xmlItem.namespaceArray) && + Objects.equals(this.namespaceWrappedArray, xmlItem.namespaceWrappedArray) && + Objects.equals(this.prefixNsString, xmlItem.prefixNsString) && + Objects.equals(this.prefixNsNumber, xmlItem.prefixNsNumber) && + Objects.equals(this.prefixNsInteger, xmlItem.prefixNsInteger) && + Objects.equals(this.prefixNsBoolean, xmlItem.prefixNsBoolean) && + Objects.equals(this.prefixNsArray, xmlItem.prefixNsArray) && + Objects.equals(this.prefixNsWrappedArray, xmlItem.prefixNsWrappedArray); + } + + @Override + public int hashCode() { + return Objects.hash(attributeString, attributeNumber, attributeInteger, attributeBoolean, wrappedArray, nameString, nameNumber, nameInteger, nameBoolean, nameArray, nameWrappedArray, prefixString, prefixNumber, prefixInteger, prefixBoolean, prefixArray, prefixWrappedArray, namespaceString, namespaceNumber, namespaceInteger, namespaceBoolean, namespaceArray, namespaceWrappedArray, prefixNsString, prefixNsNumber, prefixNsInteger, prefixNsBoolean, prefixNsArray, prefixNsWrappedArray); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class XmlItem {\n"); + + sb.append(" attributeString: ").append(toIndentedString(attributeString)).append("\n"); + sb.append(" attributeNumber: ").append(toIndentedString(attributeNumber)).append("\n"); + sb.append(" attributeInteger: ").append(toIndentedString(attributeInteger)).append("\n"); + sb.append(" attributeBoolean: ").append(toIndentedString(attributeBoolean)).append("\n"); + sb.append(" wrappedArray: ").append(toIndentedString(wrappedArray)).append("\n"); + sb.append(" nameString: ").append(toIndentedString(nameString)).append("\n"); + sb.append(" nameNumber: ").append(toIndentedString(nameNumber)).append("\n"); + sb.append(" nameInteger: ").append(toIndentedString(nameInteger)).append("\n"); + sb.append(" nameBoolean: ").append(toIndentedString(nameBoolean)).append("\n"); + sb.append(" nameArray: ").append(toIndentedString(nameArray)).append("\n"); + sb.append(" nameWrappedArray: ").append(toIndentedString(nameWrappedArray)).append("\n"); + sb.append(" prefixString: ").append(toIndentedString(prefixString)).append("\n"); + sb.append(" prefixNumber: ").append(toIndentedString(prefixNumber)).append("\n"); + sb.append(" prefixInteger: ").append(toIndentedString(prefixInteger)).append("\n"); + sb.append(" prefixBoolean: ").append(toIndentedString(prefixBoolean)).append("\n"); + sb.append(" prefixArray: ").append(toIndentedString(prefixArray)).append("\n"); + sb.append(" prefixWrappedArray: ").append(toIndentedString(prefixWrappedArray)).append("\n"); + sb.append(" namespaceString: ").append(toIndentedString(namespaceString)).append("\n"); + sb.append(" namespaceNumber: ").append(toIndentedString(namespaceNumber)).append("\n"); + sb.append(" namespaceInteger: ").append(toIndentedString(namespaceInteger)).append("\n"); + sb.append(" namespaceBoolean: ").append(toIndentedString(namespaceBoolean)).append("\n"); + sb.append(" namespaceArray: ").append(toIndentedString(namespaceArray)).append("\n"); + sb.append(" namespaceWrappedArray: ").append(toIndentedString(namespaceWrappedArray)).append("\n"); + sb.append(" prefixNsString: ").append(toIndentedString(prefixNsString)).append("\n"); + sb.append(" prefixNsNumber: ").append(toIndentedString(prefixNsNumber)).append("\n"); + sb.append(" prefixNsInteger: ").append(toIndentedString(prefixNsInteger)).append("\n"); + sb.append(" prefixNsBoolean: ").append(toIndentedString(prefixNsBoolean)).append("\n"); + sb.append(" prefixNsArray: ").append(toIndentedString(prefixNsArray)).append("\n"); + sb.append(" prefixNsWrappedArray: ").append(toIndentedString(prefixNsWrappedArray)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static XmlItemBuilder builder() { + return new XmlItemBuilderImpl(); + } + + private static final class XmlItemBuilderImpl extends XmlItemBuilder { + + @Override + protected XmlItemBuilderImpl self() { + return this; + } + + @Override + public XmlItem build() { + return new XmlItem(this); + } + } + + public static abstract class XmlItemBuilder> { + private String attributeString; + private BigDecimal attributeNumber; + private Integer attributeInteger; + private Boolean attributeBoolean; + private List wrappedArray = new ArrayList<>(); + private String nameString; + private BigDecimal nameNumber; + private Integer nameInteger; + private Boolean nameBoolean; + private List nameArray = new ArrayList<>(); + private List nameWrappedArray = new ArrayList<>(); + private String prefixString; + private BigDecimal prefixNumber; + private Integer prefixInteger; + private Boolean prefixBoolean; + private List prefixArray = new ArrayList<>(); + private List prefixWrappedArray = new ArrayList<>(); + private String namespaceString; + private BigDecimal namespaceNumber; + private Integer namespaceInteger; + private Boolean namespaceBoolean; + private List namespaceArray = new ArrayList<>(); + private List namespaceWrappedArray = new ArrayList<>(); + private String prefixNsString; + private BigDecimal prefixNsNumber; + private Integer prefixNsInteger; + private Boolean prefixNsBoolean; + private List prefixNsArray = new ArrayList<>(); + private List prefixNsWrappedArray = new ArrayList<>(); + protected abstract B self(); + + public abstract C build(); + + public B attributeString(String attributeString) { + this.attributeString = attributeString; + return self(); + } + public B attributeNumber(BigDecimal attributeNumber) { + this.attributeNumber = attributeNumber; + return self(); + } + public B attributeInteger(Integer attributeInteger) { + this.attributeInteger = attributeInteger; + return self(); + } + public B attributeBoolean(Boolean attributeBoolean) { + this.attributeBoolean = attributeBoolean; + return self(); + } + public B wrappedArray(List wrappedArray) { + this.wrappedArray = wrappedArray; + return self(); + } + public B nameString(String nameString) { + this.nameString = nameString; + return self(); + } + public B nameNumber(BigDecimal nameNumber) { + this.nameNumber = nameNumber; + return self(); + } + public B nameInteger(Integer nameInteger) { + this.nameInteger = nameInteger; + return self(); + } + public B nameBoolean(Boolean nameBoolean) { + this.nameBoolean = nameBoolean; + return self(); + } + public B nameArray(List nameArray) { + this.nameArray = nameArray; + return self(); + } + public B nameWrappedArray(List nameWrappedArray) { + this.nameWrappedArray = nameWrappedArray; + return self(); + } + public B prefixString(String prefixString) { + this.prefixString = prefixString; + return self(); + } + public B prefixNumber(BigDecimal prefixNumber) { + this.prefixNumber = prefixNumber; + return self(); + } + public B prefixInteger(Integer prefixInteger) { + this.prefixInteger = prefixInteger; + return self(); + } + public B prefixBoolean(Boolean prefixBoolean) { + this.prefixBoolean = prefixBoolean; + return self(); + } + public B prefixArray(List prefixArray) { + this.prefixArray = prefixArray; + return self(); + } + public B prefixWrappedArray(List prefixWrappedArray) { + this.prefixWrappedArray = prefixWrappedArray; + return self(); + } + public B namespaceString(String namespaceString) { + this.namespaceString = namespaceString; + return self(); + } + public B namespaceNumber(BigDecimal namespaceNumber) { + this.namespaceNumber = namespaceNumber; + return self(); + } + public B namespaceInteger(Integer namespaceInteger) { + this.namespaceInteger = namespaceInteger; + return self(); + } + public B namespaceBoolean(Boolean namespaceBoolean) { + this.namespaceBoolean = namespaceBoolean; + return self(); + } + public B namespaceArray(List namespaceArray) { + this.namespaceArray = namespaceArray; + return self(); + } + public B namespaceWrappedArray(List namespaceWrappedArray) { + this.namespaceWrappedArray = namespaceWrappedArray; + return self(); + } + public B prefixNsString(String prefixNsString) { + this.prefixNsString = prefixNsString; + return self(); + } + public B prefixNsNumber(BigDecimal prefixNsNumber) { + this.prefixNsNumber = prefixNsNumber; + return self(); + } + public B prefixNsInteger(Integer prefixNsInteger) { + this.prefixNsInteger = prefixNsInteger; + return self(); + } + public B prefixNsBoolean(Boolean prefixNsBoolean) { + this.prefixNsBoolean = prefixNsBoolean; + return self(); + } + public B prefixNsArray(List prefixNsArray) { + this.prefixNsArray = prefixNsArray; + return self(); + } + public B prefixNsWrappedArray(List prefixNsWrappedArray) { + this.prefixNsWrappedArray = prefixNsWrappedArray; + return self(); + } + } +} + diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/docker/Dockerfile.jvm b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/docker/Dockerfile.jvm new file mode 100644 index 000000000000..fa5dabb63eb0 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/docker/Dockerfile.jvm @@ -0,0 +1,34 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode +# +# Before building the docker image run: +# +# mvn package +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/jaxrs-spec-petstore-server-jvm . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/jaxrs-spec-petstore-server-jvm +# +### +FROM fabric8/java-alpine-openjdk8-jre:1.6.5 +ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" +ENV AB_ENABLED=jmx_exporter + +# Be prepared for running in OpenShift too +RUN adduser -G root --no-create-home --disabled-password 1001 \ + && chown -R 1001 /deployments \ + && chmod -R "g+rwX" /deployments \ + && chown -R 1001:root /deployments + +COPY target/lib/* /deployments/lib/ +COPY target/*-runner.jar /deployments/app.jar +EXPOSE 8080 + +# run with user 1001 +USER 1001 + +ENTRYPOINT [ "/deployments/run-java.sh" ] \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/docker/Dockerfile.native b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/docker/Dockerfile.native new file mode 100644 index 000000000000..674f7d9d838d --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/docker/Dockerfile.native @@ -0,0 +1,22 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode +# +# Before building the docker image run: +# +# mvn package -Pnative -Dquarkus.native.container-build=true +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.native -t quarkus/jaxrs-spec-petstore-server . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/jaxrs-spec-petstore-server +# +### +FROM registry.access.redhat.com/ubi8/ubi-minimal +WORKDIR /work/ +COPY target/*-runner /work/application +RUN chmod 775 /work +EXPOSE 8080 +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/resources/META-INF/openapi.yaml b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/resources/META-INF/openapi.yaml new file mode 100644 index 000000000000..d456aa0a571c --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/resources/META-INF/openapi.yaml @@ -0,0 +1,2451 @@ +openapi: 3.0.0 +info: + description: "This spec is mainly for testing Petstore server and contains fake\ + \ endpoints, models. Please do not use this for any other purpose. Special characters:\ + \ \" \\" + license: + name: Apache-2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + title: OpenAPI Petstore + version: 1.0.0 +servers: +- description: petstore server + url: "http://{server}.swagger.io:{port}/v2" + variables: + server: + default: petstore + enum: + - petstore + - qa-petstore + - dev-petstore + port: + default: "80" + enum: + - "80" + - "8080" +- description: The local server + url: "https://localhost:8080/{version}" + variables: + version: + default: v2 + enum: + - v1 + - v2 +- description: The local server without variables + url: https://127.0.0.1/no_varaible +tags: +- description: Everything about your Pets + name: pet +- description: Access to Petstore orders + name: store +- description: Operations about user + name: user +paths: + /foo: + get: + responses: + default: + content: + application/json: + schema: + $ref: '#/components/schemas/_foo_get_default_response' + description: response + x-accepts: + - application/json + /pet: + post: + description: "" + operationId: addPet + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + description: Successful operation + "405": + description: Invalid input + security: + - petstore_auth: + - write:pets + - read:pets + summary: Add a new pet to the store + tags: + - pet + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: pet + put: + description: "" + operationId: updatePet + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + description: Successful operation + "400": + description: Invalid ID supplied + "404": + description: Pet not found + "405": + description: Validation exception + security: + - petstore_auth: + - write:pets + - read:pets + summary: Update an existing pet + tags: + - pet + x-webclient-blocking: true + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: pet + servers: + - url: http://petstore.swagger.io/v2 + - url: http://path-server-test.petstore.local/v2 + - description: test server with variables + url: "http://{server}.swagger.io:{port}/v2" + variables: + server: + default: petstore + description: target server + enum: + - petstore + - qa-petstore + - dev-petstore + port: + default: "80" + enum: + - "80" + - "8080" + /pet/findByStatus: + get: + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - deprecated: true + description: Status values that need to be considered for filter + explode: false + in: query + name: status + required: true + schema: + items: + default: available + enum: + - available + - pending + - sold + type: string + type: array + style: form + responses: + "200": + content: + application/xml: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + application/json: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + description: successful operation + "400": + description: Invalid status value + security: + - petstore_auth: + - write:pets + - read:pets + summary: Finds Pets by status + tags: + - pet + x-webclient-blocking: true + x-accepts: + - application/json + - application/xml + x-tags: + - tag: pet + /pet/findByTags: + get: + deprecated: true + description: "Multiple tags can be provided with comma separated strings. Use\ + \ tag1, tag2, tag3 for testing." + operationId: findPetsByTags + parameters: + - description: Tags to filter by + explode: false + in: query + name: tags + required: true + schema: + items: + type: string + type: array + uniqueItems: true + style: form + responses: + "200": + content: + application/xml: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + uniqueItems: true + application/json: + schema: + items: + $ref: '#/components/schemas/Pet' + type: array + uniqueItems: true + description: successful operation + "400": + description: Invalid tag value + security: + - petstore_auth: + - write:pets + - read:pets + summary: Finds Pets by tags + tags: + - pet + x-webclient-blocking: true + x-accepts: + - application/json + - application/xml + x-tags: + - tag: pet + /pet/{petId}: + delete: + description: "" + operationId: deletePet + parameters: + - explode: false + in: header + name: api_key + required: false + schema: + type: string + style: simple + - description: Pet id to delete + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + responses: + "200": + description: Successful operation + "400": + description: Invalid pet value + security: + - petstore_auth: + - write:pets + - read:pets + summary: Deletes a pet + tags: + - pet + x-accepts: + - application/json + x-tags: + - tag: pet + get: + description: Returns a single pet + operationId: getPetById + parameters: + - description: ID of pet to return + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Pet not found + security: + - api_key: [] + summary: Find pet by ID + tags: + - pet + x-webclient-blocking: true + x-accepts: + - application/json + - application/xml + x-tags: + - tag: pet + post: + description: "" + operationId: updatePetWithForm + parameters: + - description: ID of pet that needs to be updated + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/updatePetWithForm_request' + responses: + "200": + description: Successful operation + "405": + description: Invalid input + security: + - petstore_auth: + - write:pets + - read:pets + summary: Updates a pet in the store with form data + tags: + - pet + x-content-type: application/x-www-form-urlencoded + x-accepts: + - application/json + x-tags: + - tag: pet + /pet/{petId}/uploadImage: + post: + description: "" + operationId: uploadFile + parameters: + - description: ID of pet to update + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/uploadFile_request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + description: successful operation + security: + - petstore_auth: + - write:pets + - read:pets + summary: uploads an image + tags: + - pet + x-content-type: multipart/form-data + x-accepts: + - application/json + x-tags: + - tag: pet + /store/inventory: + get: + description: Returns a map of status codes to quantities + operationId: getInventory + responses: + "200": + content: + application/json: + schema: + additionalProperties: + format: int32 + type: integer + type: object + description: successful operation + security: + - api_key: [] + summary: Returns pet inventories by status + tags: + - store + x-webclient-blocking: false + x-accepts: + - application/json + x-tags: + - tag: store + /store/order: + post: + description: "" + operationId: placeOrder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + description: order placed for purchasing the pet + required: true + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + description: successful operation + "400": + description: Invalid Order + summary: Place an order for a pet + tags: + - store + x-content-type: application/json + x-accepts: + - application/json + - application/xml + x-tags: + - tag: store + /store/order/{order_id}: + delete: + description: For valid response try integer IDs with value < 1000. Anything + above 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - description: ID of the order that needs to be deleted + explode: false + in: path + name: order_id + required: true + schema: + type: string + style: simple + responses: + "400": + description: Invalid ID supplied + "404": + description: Order not found + summary: Delete purchase order by ID + tags: + - store + x-accepts: + - application/json + x-tags: + - tag: store + get: + description: For valid response try integer IDs with value <= 5 or > 10. Other + values will generate exceptions + operationId: getOrderById + parameters: + - description: ID of pet that needs to be fetched + explode: false + in: path + name: order_id + required: true + schema: + format: int64 + maximum: 5 + minimum: 1 + type: integer + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + description: successful operation + "400": + description: Invalid ID supplied + "404": + description: Order not found + summary: Find purchase order by ID + tags: + - store + x-accepts: + - application/json + - application/xml + x-tags: + - tag: store + /user: + post: + description: This can only be done by the logged in user. + operationId: createUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Created user object + required: true + responses: + default: + description: successful operation + summary: Create user + tags: + - user + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: user + /user/createWithArray: + post: + description: "" + operationId: createUsersWithArrayInput + requestBody: + $ref: '#/components/requestBodies/UserArray' + responses: + default: + description: successful operation + summary: Creates list of users with given input array + tags: + - user + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: user + /user/createWithList: + post: + description: "" + operationId: createUsersWithListInput + requestBody: + $ref: '#/components/requestBodies/UserArray' + responses: + default: + description: successful operation + summary: Creates list of users with given input array + tags: + - user + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: user + /user/login: + get: + description: "" + operationId: loginUser + parameters: + - description: The user name for login + explode: true + in: query + name: username + required: true + schema: + type: string + style: form + - description: The password for login in clear text + explode: true + in: query + name: password + required: true + schema: + type: string + style: form + responses: + "200": + content: + application/xml: + schema: + type: string + application/json: + schema: + type: string + description: successful operation + headers: + X-Rate-Limit: + description: calls per hour allowed by the user + explode: false + schema: + format: int32 + type: integer + style: simple + X-Expires-After: + description: date in UTC when token expires + explode: false + schema: + format: date-time + type: string + style: simple + "400": + description: Invalid username/password supplied + summary: Logs user into the system + tags: + - user + x-accepts: + - application/json + - application/xml + x-tags: + - tag: user + /user/logout: + get: + description: "" + operationId: logoutUser + responses: + default: + description: successful operation + summary: Logs out current logged in user session + tags: + - user + x-accepts: + - application/json + x-tags: + - tag: user + /user/{username}: + delete: + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - description: The name that needs to be deleted + explode: false + in: path + name: username + required: true + schema: + type: string + style: simple + responses: + "400": + description: Invalid username supplied + "404": + description: User not found + summary: Delete user + tags: + - user + x-accepts: + - application/json + x-tags: + - tag: user + get: + description: "" + operationId: getUserByName + parameters: + - description: The name that needs to be fetched. Use user1 for testing. + explode: false + in: path + name: username + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/xml: + schema: + $ref: '#/components/schemas/User' + application/json: + schema: + $ref: '#/components/schemas/User' + description: successful operation + "400": + description: Invalid username supplied + "404": + description: User not found + summary: Get user by user name + tags: + - user + x-accepts: + - application/json + - application/xml + x-tags: + - tag: user + put: + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - description: name that need to be deleted + explode: false + in: path + name: username + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Updated user object + required: true + responses: + "400": + description: Invalid user supplied + "404": + description: User not found + summary: Updated user + tags: + - user + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: user + /fake_classname_test: + patch: + description: To test class name in snake case + operationId: testClassname + requestBody: + $ref: '#/components/requestBodies/Client' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + description: successful operation + security: + - api_key_query: [] + summary: To test class name in snake case + tags: + - fake_classname_tags 123#$%^ + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake_classname_tags 123#$%^ + /fake: + delete: + description: Fake endpoint to test group parameters (optional) + operationId: testGroupParameters + parameters: + - description: Required String in group parameters + explode: true + in: query + name: required_string_group + required: true + schema: + type: integer + style: form + - description: Required Boolean in group parameters + explode: false + in: header + name: required_boolean_group + required: true + schema: + type: boolean + style: simple + - description: Required Integer in group parameters + explode: true + in: query + name: required_int64_group + required: true + schema: + format: int64 + type: integer + style: form + - description: String in group parameters + explode: true + in: query + name: string_group + required: false + schema: + type: integer + style: form + - description: Boolean in group parameters + explode: false + in: header + name: boolean_group + required: false + schema: + type: boolean + style: simple + - description: Integer in group parameters + explode: true + in: query + name: int64_group + required: false + schema: + format: int64 + type: integer + style: form + responses: + "400": + description: Something wrong + security: + - bearer_test: [] + summary: Fake endpoint to test group parameters (optional) + tags: + - fake + x-group-parameters: true + x-accepts: + - application/json + x-tags: + - tag: fake + get: + description: To test enum parameters + operationId: testEnumParameters + parameters: + - description: Header parameter enum test (string array) + explode: false + in: header + name: enum_header_string_array + required: false + schema: + items: + default: $ + enum: + - '>' + - $ + type: string + type: array + style: simple + - description: Header parameter enum test (string) + explode: false + in: header + name: enum_header_string + required: false + schema: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string + style: simple + - description: Query parameter enum test (string array) + explode: true + in: query + name: enum_query_string_array + required: false + schema: + items: + default: $ + enum: + - '>' + - $ + type: string + type: array + style: form + - description: Query parameter enum test (string) + explode: true + in: query + name: enum_query_string + required: false + schema: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string + style: form + - description: Query parameter enum test (double) + explode: true + in: query + name: enum_query_integer + required: false + schema: + enum: + - 1 + - -2 + format: int32 + type: integer + style: form + - description: Query parameter enum test (double) + explode: true + in: query + name: enum_query_double + required: false + schema: + enum: + - 1.1 + - -1.2 + format: double + type: number + style: form + - explode: true + in: query + name: enum_query_model_array + required: false + schema: + items: + $ref: '#/components/schemas/EnumClass' + type: array + style: form + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/testEnumParameters_request' + responses: + "400": + description: Invalid request + "404": + description: Not found + summary: To test enum parameters + tags: + - fake + x-content-type: application/x-www-form-urlencoded + x-accepts: + - application/json + x-tags: + - tag: fake + patch: + description: To test "client" model + operationId: testClientModel + requestBody: + $ref: '#/components/requestBodies/Client' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + description: successful operation + summary: To test "client" model + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + post: + description: | + Fake endpoint for testing various parameters + 假端點 + 偽のエンドポイント + 가짜 엔드 포인트 + operationId: testEndpointParameters + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/testEndpointParameters_request' + responses: + "400": + description: Invalid username supplied + "404": + description: User not found + security: + - http_basic_test: [] + summary: | + Fake endpoint for testing various parameters + 假端點 + 偽のエンドポイント + 가짜 엔드 포인트 + tags: + - fake + x-content-type: application/x-www-form-urlencoded + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/outer/number: + post: + description: Test serialization of outer number types + operationId: fakeOuterNumberSerialize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OuterNumber' + description: Input number as post body + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterNumber' + description: Output number + tags: + - fake + x-content-type: application/json + x-accepts: + - '*/*' + x-tags: + - tag: fake + /fake/property/enum-int: + post: + description: Test serialization of enum (int) properties with examples + operationId: fakePropertyEnumIntegerSerialize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OuterObjectWithEnumProperty' + description: Input enum (int) as post body + required: true + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterObjectWithEnumProperty' + description: Output enum (int) + tags: + - fake + x-content-type: application/json + x-accepts: + - '*/*' + x-tags: + - tag: fake + /fake/outer/string: + post: + description: Test serialization of outer string types + operationId: fakeOuterStringSerialize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OuterString' + description: Input string as post body + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterString' + description: Output string + tags: + - fake + x-content-type: application/json + x-accepts: + - '*/*' + x-tags: + - tag: fake + /fake/outer/boolean: + post: + description: Test serialization of outer boolean types + operationId: fakeOuterBooleanSerialize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OuterBoolean' + description: Input boolean as post body + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterBoolean' + description: Output boolean + tags: + - fake + x-content-type: application/json + x-accepts: + - '*/*' + x-tags: + - tag: fake + /fake/outer/composite: + post: + description: Test serialization of object with outer number type + operationId: fakeOuterCompositeSerialize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OuterComposite' + description: Input composite as post body + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterComposite' + description: Output composite + tags: + - fake + x-content-type: application/json + x-accepts: + - '*/*' + x-tags: + - tag: fake + /fake/BigDecimalMap: + get: + description: "for Java apache and Java native, test toUrlQueryString for maps\ + \ with BegDecimal keys" + operationId: fakeBigDecimalMap + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/fakeBigDecimalMap_200_response' + description: successful operation + tags: + - fake + x-accepts: + - '*/*' + x-tags: + - tag: fake + /fake/jsonFormData: + get: + description: "" + operationId: testJsonFormData + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/testJsonFormData_request' + responses: + "200": + description: successful operation + summary: test json serialization of form data + tags: + - fake + x-content-type: application/x-www-form-urlencoded + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/additionalProperties-reference: + post: + description: "" + operationId: testAdditionalPropertiesReference + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FreeFormObject' + description: request body + required: true + responses: + "200": + description: successful operation + summary: test referenced additionalProperties + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/stringMap-reference: + post: + description: "" + operationId: testStringMapReference + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MapOfString' + description: request body + required: true + responses: + "200": + description: successful operation + summary: test referenced string map + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/inline-additionalProperties: + post: + description: "" + operationId: testInlineAdditionalProperties + requestBody: + content: + application/json: + schema: + additionalProperties: + type: string + type: object + description: request body + required: true + responses: + "200": + description: successful operation + summary: test inline additionalProperties + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/inline-freeform-additionalProperties: + post: + description: "" + operationId: testInlineFreeformAdditionalProperties + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/testInlineFreeformAdditionalProperties_request' + description: request body + required: true + responses: + "200": + description: successful operation + summary: test inline free-form additionalProperties + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/nullable: + post: + description: "" + operationId: testNullable + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChildWithNullable' + description: request body + required: true + responses: + "200": + description: successful operation + summary: test nullable parent property + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/body-with-query-params: + put: + operationId: testBodyWithQueryParams + parameters: + - explode: true + in: query + name: query + required: true + schema: + type: string + style: form + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + required: true + responses: + "200": + description: Success + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /another-fake/dummy: + patch: + description: To test special tags and operation ID starting with number + operationId: 123_test_@#$%_special_tags + requestBody: + $ref: '#/components/requestBodies/Client' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + description: successful operation + summary: To test special tags + tags: + - $another-fake? + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: $another-fake? + /fake/body-with-file-schema: + put: + description: "For this test, the body for this request must reference a schema\ + \ named `File`." + operationId: testBodyWithFileSchema + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FileSchemaTestClass' + required: true + responses: + "200": + description: Success + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/body-with-binary: + put: + description: "For this test, the body has to be a binary file." + operationId: testBodyWithBinary + requestBody: + content: + image/png: + schema: + format: binary + nullable: true + type: string + description: image to upload + required: true + responses: + "200": + description: Success + tags: + - fake + x-content-type: image/png + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/test-query-parameters: + put: + description: To test the collection format in query parameters + operationId: testQueryParameterCollectionFormat + parameters: + - explode: false + in: query + name: pipe + required: true + schema: + items: + type: string + type: array + style: pipeDelimited + - explode: false + in: query + name: ioutil + required: true + schema: + items: + type: string + type: array + style: form + - explode: false + in: query + name: http + required: true + schema: + items: + type: string + type: array + style: spaceDelimited + - explode: false + in: query + name: url + required: true + schema: + items: + type: string + type: array + style: form + - explode: true + in: query + name: context + required: true + schema: + items: + type: string + type: array + style: form + - explode: true + in: query + name: language + required: false + schema: + additionalProperties: + format: string + type: string + type: object + style: form + - allowEmptyValue: true + explode: true + in: query + name: allowEmpty + required: true + schema: + type: string + style: form + responses: + "200": + description: Success + tags: + - fake + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/{petId}/uploadImageWithRequiredFile: + post: + description: "" + operationId: uploadFileWithRequiredFile + parameters: + - description: ID of pet to update + explode: false + in: path + name: petId + required: true + schema: + format: int64 + type: integer + style: simple + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/uploadFileWithRequiredFile_request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + description: successful operation + security: + - petstore_auth: + - write:pets + - read:pets + summary: uploads an image (required) + tags: + - pet + x-content-type: multipart/form-data + x-accepts: + - application/json + x-tags: + - tag: pet + /fake/health: + get: + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/HealthCheckResult' + description: The instance started successfully + summary: Health check endpoint + tags: + - fake + x-accepts: + - application/json + x-tags: + - tag: fake + /fake/http-signature-test: + get: + operationId: fake-http-signature-test + parameters: + - description: query parameter + explode: true + in: query + name: query_1 + required: false + schema: + type: string + style: form + - description: header parameter + explode: false + in: header + name: header_1 + required: false + schema: + type: string + style: simple + requestBody: + $ref: '#/components/requestBodies/Pet' + responses: + "200": + description: The instance started successfully + security: + - http_signature_test: [] + summary: test http signature authentication + tags: + - fake + x-content-type: application/json + x-accepts: + - application/json + x-tags: + - tag: fake +components: + requestBodies: + UserArray: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/User' + type: array + description: List of user object + required: true + Client: + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + description: client model + required: true + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + required: true + schemas: + Foo: + example: + bar: bar + properties: + bar: + default: bar + type: string + type: object + Bar: + default: bar + type: string + Order: + example: + petId: 6 + quantity: 1 + id: 0 + shipDate: 2000-01-23T04:56:07.000+00:00 + complete: false + status: placed + properties: + id: + format: int64 + type: integer + petId: + format: int64 + type: integer + quantity: + format: int32 + type: integer + shipDate: + format: date-time + type: string + status: + description: Order Status + enum: + - placed + - approved + - delivered + type: string + complete: + default: false + type: boolean + type: object + xml: + name: Order + Category: + example: + name: default-name + id: 6 + properties: + id: + format: int64 + type: integer + name: + default: default-name + type: string + required: + - name + type: object + xml: + name: Category + User: + example: + firstName: firstName + lastName: lastName + password: password + userStatus: 6 + phone: phone + id: 0 + email: email + username: username + properties: + id: + format: int64 + type: integer + x-is-unique: true + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + description: User Status + format: int32 + type: integer + type: object + xml: + name: User + Tag: + example: + name: name + id: 1 + properties: + id: + format: int64 + type: integer + name: + type: string + type: object + xml: + name: Tag + Pet: + example: + photoUrls: + - photoUrls + - photoUrls + name: doggie + id: 0 + category: + name: default-name + id: 6 + tags: + - name: name + id: 1 + - name: name + id: 1 + status: available + properties: + id: + format: int64 + type: integer + x-is-unique: true + category: + $ref: '#/components/schemas/Category' + name: + example: doggie + type: string + photoUrls: + items: + type: string + type: array + uniqueItems: true + xml: + name: photoUrl + wrapped: true + tags: + items: + $ref: '#/components/schemas/Tag' + type: array + xml: + name: tag + wrapped: true + status: + description: pet status in the store + enum: + - available + - pending + - sold + type: string + required: + - name + - photoUrls + type: object + xml: + name: Pet + ApiResponse: + example: + code: 0 + type: type + message: message + properties: + code: + format: int32 + type: integer + type: + type: string + message: + type: string + type: object + Return: + description: Model for testing reserved words + properties: + return: + format: int32 + type: integer + xml: + name: Return + Name: + description: Model for testing model name same as property name + properties: + name: + format: int32 + type: integer + snake_case: + format: int32 + readOnly: true + type: integer + property: + type: string + "123Number": + readOnly: true + type: integer + required: + - name + xml: + name: Name + "200_response": + description: Model for testing model name starting with number + properties: + name: + format: int32 + type: integer + class: + type: string + xml: + name: Name + ClassModel: + description: Model for testing model with "_class" property + properties: + _class: + type: string + Dog: + allOf: + - $ref: '#/components/schemas/Animal' + - properties: + breed: + type: string + type: object + Cat: + allOf: + - $ref: '#/components/schemas/Animal' + - properties: + declawed: + type: boolean + type: object + Animal: + discriminator: + mapping: + DOG: '#/components/schemas/Dog' + CAT: '#/components/schemas/Cat' + propertyName: className + properties: + className: + type: string + color: + default: red + type: string + required: + - className + type: object + AnimalFarm: + items: + $ref: '#/components/schemas/Animal' + type: array + format_test: + properties: + integer: + maximum: 100 + minimum: 10 + type: integer + int32: + format: int32 + maximum: 200 + minimum: 20 + type: integer + int64: + format: int64 + type: integer + number: + maximum: 543.2 + minimum: 32.1 + type: number + float: + format: float + maximum: 987.6 + minimum: 54.3 + type: number + double: + format: double + maximum: 123.4 + minimum: 67.8 + type: number + decimal: + format: number + type: string + string: + pattern: "/[a-z]/i" + type: string + byte: + format: byte + type: string + binary: + format: binary + type: string + date: + format: date + type: string + dateTime: + format: date-time + type: string + uuid: + example: 72f98069-206d-4f12-9f12-3d1e525a8e84 + format: uuid + type: string + password: + format: password + maxLength: 64 + minLength: 10 + type: string + pattern_with_digits: + description: A string that is a 10 digit number. Can have leading zeros. + pattern: "^\\d{10}$" + type: string + pattern_with_digits_and_delimiter: + description: A string starting with 'image_' (case insensitive) and one + to three digits following i.e. Image_01. + pattern: "/^image_\\d{1,3}$/i" + type: string + required: + - byte + - date + - number + - password + type: object + EnumClass: + default: -efg + enum: + - _abc + - -efg + - (xyz) + type: string + Enum_Test: + properties: + enum_string: + enum: + - UPPER + - lower + - "" + type: string + enum_string_required: + enum: + - UPPER + - lower + - "" + type: string + enum_integer: + enum: + - 1 + - -1 + format: int32 + type: integer + enum_number: + enum: + - 1.1 + - -1.2 + format: double + type: number + outerEnum: + $ref: '#/components/schemas/OuterEnum' + outerEnumInteger: + $ref: '#/components/schemas/OuterEnumInteger' + outerEnumDefaultValue: + $ref: '#/components/schemas/OuterEnumDefaultValue' + outerEnumIntegerDefaultValue: + $ref: '#/components/schemas/OuterEnumIntegerDefaultValue' + required: + - enum_string_required + type: object + AdditionalPropertiesClass: + properties: + map_property: + additionalProperties: + type: string + type: object + map_of_map_property: + additionalProperties: + additionalProperties: + type: string + type: object + type: object + type: object + MixedPropertiesAndAdditionalPropertiesClass: + properties: + uuid: + format: uuid + type: string + dateTime: + format: date-time + type: string + map: + additionalProperties: + $ref: '#/components/schemas/Animal' + type: object + type: object + List: + properties: + "123-list": + type: string + type: object + Client: + example: + client: client + properties: + client: + type: string + type: object + ReadOnlyFirst: + properties: + bar: + readOnly: true + type: string + baz: + type: string + type: object + hasOnlyReadOnly: + properties: + bar: + readOnly: true + type: string + foo: + readOnly: true + type: string + type: object + Capitalization: + properties: + smallCamel: + type: string + CapitalCamel: + type: string + small_Snake: + type: string + Capital_Snake: + type: string + SCA_ETH_Flow_Points: + type: string + ATT_NAME: + description: | + Name of the pet + type: string + type: object + MapTest: + properties: + map_map_of_string: + additionalProperties: + additionalProperties: + type: string + type: object + type: object + map_of_enum_string: + additionalProperties: + enum: + - UPPER + - lower + type: string + type: object + direct_map: + additionalProperties: + type: boolean + type: object + indirect_map: + additionalProperties: + type: boolean + type: object + type: object + ArrayTest: + properties: + array_of_string: + items: + type: string + maxItems: 3 + minItems: 0 + type: array + array_array_of_integer: + items: + items: + format: int64 + type: integer + type: array + type: array + array_array_of_model: + items: + items: + $ref: '#/components/schemas/ReadOnlyFirst' + type: array + type: array + type: object + NumberOnly: + properties: + JustNumber: + type: number + type: object + ArrayOfNumberOnly: + properties: + ArrayNumber: + items: + type: number + type: array + type: object + ArrayOfArrayOfNumberOnly: + properties: + ArrayArrayNumber: + items: + items: + type: number + type: array + type: array + type: object + EnumArrays: + properties: + just_symbol: + enum: + - '>=' + - $ + type: string + array_enum: + items: + enum: + - fish + - crab + type: string + type: array + type: object + FreeFormObject: + additionalProperties: true + description: A schema consisting only of additional properties + type: object + MapOfString: + additionalProperties: + type: string + description: A schema consisting only of additional properties of type string + type: object + OuterEnum: + enum: + - placed + - approved + - delivered + nullable: true + type: string + OuterEnumInteger: + enum: + - 0 + - 1 + - 2 + example: 2 + type: integer + OuterEnumDefaultValue: + default: placed + enum: + - placed + - approved + - delivered + type: string + OuterEnumIntegerDefaultValue: + default: 0 + enum: + - 0 + - 1 + - 2 + type: integer + OuterComposite: + example: + my_string: my_string + my_number: 0.8008281904610115 + my_boolean: true + properties: + my_number: + type: number + my_string: + type: string + my_boolean: + type: boolean + x-codegen-body-parameter-name: boolean_post_body + type: object + OuterNumber: + type: number + OuterString: + type: string + OuterBoolean: + type: boolean + x-codegen-body-parameter-name: boolean_post_body + ParentWithNullable: + discriminator: + propertyName: type + properties: + type: + enum: + - ChildWithNullable + type: string + nullableProperty: + nullable: true + type: string + type: object + ChildWithNullable: + allOf: + - $ref: '#/components/schemas/ParentWithNullable' + - properties: + otherProperty: + type: string + type: object + example: + otherProperty: otherProperty + nullableProperty: nullableProperty + type: ChildWithNullable + StringBooleanMap: + additionalProperties: + type: boolean + type: object + FileSchemaTestClass: + example: + file: + sourceURI: sourceURI + files: + - sourceURI: sourceURI + - sourceURI: sourceURI + properties: + file: + $ref: '#/components/schemas/File' + files: + items: + $ref: '#/components/schemas/File' + type: array + type: object + File: + description: Must be named `File` for test. + example: + sourceURI: sourceURI + properties: + sourceURI: + description: Test capitalization + type: string + type: object + _special_model.name_: + properties: + $special[property.name]: + format: int64 + type: integer + xml: + name: "$special[model.name]" + HealthCheckResult: + description: Just a string to inform instance is up and running. Make it nullable + in hope to get it as pointer in generated model. + example: + NullableMessage: NullableMessage + properties: + NullableMessage: + nullable: true + type: string + type: object + NullableClass: + additionalProperties: + nullable: true + type: object + properties: + integer_prop: + nullable: true + type: integer + number_prop: + nullable: true + type: number + boolean_prop: + nullable: true + type: boolean + string_prop: + nullable: true + type: string + date_prop: + format: date + nullable: true + type: string + datetime_prop: + format: date-time + nullable: true + type: string + array_nullable_prop: + items: + type: object + nullable: true + type: array + array_and_items_nullable_prop: + items: + nullable: true + type: object + nullable: true + type: array + array_items_nullable: + items: + nullable: true + type: object + type: array + object_nullable_prop: + additionalProperties: + type: object + nullable: true + type: object + object_and_items_nullable_prop: + additionalProperties: + nullable: true + type: object + nullable: true + type: object + object_items_nullable: + additionalProperties: + nullable: true + type: object + type: object + type: object + OuterObjectWithEnumProperty: + example: + value: 2 + properties: + value: + $ref: '#/components/schemas/OuterEnumInteger' + required: + - value + type: object + DeprecatedObject: + deprecated: true + properties: + name: + type: string + type: object + ObjectWithDeprecatedFields: + properties: + uuid: + type: string + id: + deprecated: true + type: number + deprecatedRef: + $ref: '#/components/schemas/DeprecatedObject' + bars: + deprecated: true + items: + $ref: '#/components/schemas/Bar' + type: array + type: object + AllOfWithSingleRef: + properties: + username: + type: string + SingleRefType: + allOf: + - $ref: '#/components/schemas/SingleRefType' + type: object + SingleRefType: + enum: + - admin + - user + title: SingleRefType + type: string + _foo_get_default_response: + example: + string: + bar: bar + properties: + string: + $ref: '#/components/schemas/Foo' + type: object + updatePetWithForm_request: + properties: + name: + description: Updated name of the pet + type: string + status: + description: Updated status of the pet + type: string + type: object + uploadFile_request: + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + file: + description: file to upload + format: binary + type: string + type: object + testEnumParameters_request: + properties: + enum_form_string_array: + description: Form parameter enum test (string array) + items: + default: $ + enum: + - '>' + - $ + type: string + type: array + enum_form_string: + default: -efg + description: Form parameter enum test (string) + enum: + - _abc + - -efg + - (xyz) + type: string + type: object + testEndpointParameters_request: + properties: + integer: + description: None + maximum: 100 + minimum: 10 + type: integer + int32: + description: None + format: int32 + maximum: 200 + minimum: 20 + type: integer + int64: + description: None + format: int64 + type: integer + number: + description: None + maximum: 543.2 + minimum: 32.1 + type: number + float: + description: None + format: float + maximum: 987.6 + type: number + double: + description: None + format: double + maximum: 123.4 + minimum: 67.8 + type: number + string: + description: None + pattern: "/[a-z]/i" + type: string + pattern_without_delimiter: + description: None + pattern: "^[A-Z].*" + type: string + byte: + description: None + format: byte + type: string + binary: + description: None + format: binary + type: string + date: + description: None + format: date + type: string + dateTime: + description: None + format: date-time + type: string + password: + description: None + format: password + maxLength: 64 + minLength: 10 + type: string + callback: + description: None + type: string + required: + - byte + - double + - number + - pattern_without_delimiter + type: object + fakeBigDecimalMap_200_response: + example: + someId: 0.8008281904610115 + someMap: + key: 6.027456183070403 + properties: + someId: + type: number + someMap: + additionalProperties: + type: number + type: object + type: object + testJsonFormData_request: + properties: + param: + description: field1 + type: string + param2: + description: field2 + type: string + required: + - param + - param2 + type: object + testInlineFreeformAdditionalProperties_request: + additionalProperties: true + properties: + someProperty: + type: string + type: object + uploadFileWithRequiredFile_request: + properties: + additionalMetadata: + description: Additional data to pass to server + type: string + requiredFile: + description: file to upload + format: binary + type: string + required: + - requiredFile + type: object + securitySchemes: + petstore_auth: + flows: + implicit: + authorizationUrl: http://petstore.swagger.io/api/oauth/dialog + scopes: + write:pets: modify pets in your account + read:pets: read your pets + type: oauth2 + api_key: + in: header + name: api_key + type: apiKey + api_key_query: + in: query + name: api_key_query + type: apiKey + http_basic_test: + scheme: basic + type: http + bearer_test: + bearerFormat: JWT + scheme: bearer + type: http + http_signature_test: + scheme: signature + type: http diff --git a/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/resources/application.properties b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/resources/application.properties new file mode 100644 index 000000000000..83b16e96d391 --- /dev/null +++ b/samples/server/petstore/jaxrs-spec-quarkus-mutiny/src/main/resources/application.properties @@ -0,0 +1,5 @@ +# Configuration file +# key = value + +mp.openapi.scan.disable=true +