From 1d4a3433dfccf5bed8f3841107748b43ace7a47a Mon Sep 17 00:00:00 2001 From: Richard Moorhead Date: Sat, 24 Jul 2021 15:15:47 -0500 Subject: [PATCH] fix java8 datetime jaxrs-resteasy --- bin/configs/jaxrs-resteasy-java8.yaml | 8 + .../JavaJaxRS/resteasy/JacksonConfig.mustache | 18 +- .../resources/JavaJaxRS/resteasy/pom.mustache | 12 +- .../jaxrs-resteasy/default-value/pom.xml | 3 +- .../org/openapitools/api/JacksonConfig.java | 8 +- .../petstore/jaxrs-resteasy/default/pom.xml | 3 +- .../org/openapitools/api/JacksonConfig.java | 8 +- .../java8/.openapi-generator-ignore | 23 +++ .../java8/.openapi-generator/FILES | 32 +++ .../java8/.openapi-generator/VERSION | 1 + .../petstore/jaxrs-resteasy/java8/README.md | 24 +++ .../jaxrs-resteasy/java8/build.gradle | 36 ++++ .../petstore/jaxrs-resteasy/java8/pom.xml | 192 ++++++++++++++++++ .../jaxrs-resteasy/java8/settings.gradle | 1 + .../org/openapitools/api/ApiException.java | 32 +++ .../org/openapitools/api/ApiOriginFilter.java | 22 ++ .../openapitools/api/ApiResponseMessage.java | 69 +++++++ .../org/openapitools/api/JacksonConfig.java | 24 +++ .../openapitools/api/LocalDateProvider.java | 31 +++ .../openapitools/api/NotFoundException.java | 10 + .../api/OffsetDateTimeProvider.java | 31 +++ .../gen/java/org/openapitools/api/PetApi.java | 175 ++++++++++++++++ .../org/openapitools/api/PetApiService.java | 38 ++++ .../openapitools/api/RFC3339DateFormat.java | 38 ++++ .../org/openapitools/api/RestApplication.java | 9 + .../java/org/openapitools/api/StoreApi.java | 90 ++++++++ .../org/openapitools/api/StoreApiService.java | 28 +++ .../java/org/openapitools/api/StringUtil.java | 42 ++++ .../java/org/openapitools/api/UserApi.java | 134 ++++++++++++ .../org/openapitools/api/UserApiService.java | 36 ++++ .../java/org/openapitools/model/Category.java | 83 ++++++++ .../openapitools/model/ModelApiResponse.java | 98 +++++++++ .../java/org/openapitools/model/Order.java | 169 +++++++++++++++ .../gen/java/org/openapitools/model/Pet.java | 174 ++++++++++++++++ .../gen/java/org/openapitools/model/Tag.java | 83 ++++++++ .../gen/java/org/openapitools/model/User.java | 174 ++++++++++++++++ .../api/impl/PetApiServiceImpl.java | 64 ++++++ .../api/impl/StoreApiServiceImpl.java | 42 ++++ .../api/impl/UserApiServiceImpl.java | 62 ++++++ .../src/main/webapp/WEB-INF/jboss-web.xml | 3 + .../java8/src/main/webapp/WEB-INF/web.xml | 14 ++ .../petstore/jaxrs-resteasy/joda/pom.xml | 3 +- .../org/openapitools/api/JacksonConfig.java | 8 +- 43 files changed, 2135 insertions(+), 20 deletions(-) create mode 100644 bin/configs/jaxrs-resteasy-java8.yaml create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator-ignore create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/FILES create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/README.md create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/build.gradle create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/pom.xml create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/settings.gradle create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiOriginFilter.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiResponseMessage.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/JacksonConfig.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/LocalDateProvider.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/NotFoundException.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/OffsetDateTimeProvider.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApi.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApiService.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RFC3339DateFormat.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RestApplication.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApi.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApiService.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StringUtil.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApi.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApiService.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Category.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/ModelApiResponse.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Order.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Pet.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Tag.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/User.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/StoreApiServiceImpl.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/UserApiServiceImpl.java create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/jboss-web.xml create mode 100644 samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/web.xml diff --git a/bin/configs/jaxrs-resteasy-java8.yaml b/bin/configs/jaxrs-resteasy-java8.yaml new file mode 100644 index 000000000000..bf23076f8c87 --- /dev/null +++ b/bin/configs/jaxrs-resteasy-java8.yaml @@ -0,0 +1,8 @@ +generatorName: jaxrs-resteasy +outputDir: samples/server/petstore/jaxrs-resteasy/java8 +inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml +templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy +additionalProperties: + artifactId: jaxrs-resteasy-java8-server + hideGenerationTimestamp: "true" + dateLibrary: java8 diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/JacksonConfig.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/JacksonConfig.mustache index 5a0da702332d..43af8d129963 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/JacksonConfig.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/JacksonConfig.mustache @@ -1,14 +1,19 @@ package {{invokerPackage}}; +import com.fasterxml.jackson.databind.ObjectMapper; +{{#java8}} +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +{{/java8}} +{{^java8}} import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.datatype.joda.JodaModule; import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.format.ISODateTimeFormat; +{{/java8}} import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Provider; @@ -21,7 +26,10 @@ public class JacksonConfig implements ContextResolver { public JacksonConfig() throws Exception { objectMapper = new ObjectMapper() - .setDateFormat(new RFC3339DateFormat()) +{{#java8}} + .registerModule(new JavaTimeModule()) +{{/java8}} +{{^java8}} .registerModule(new JodaModule() { { addSerializer(DateTime.class, new StdSerializer(DateTime.class) { @@ -38,10 +46,12 @@ public class JacksonConfig implements ContextResolver { }); } - }); + }) +{{/java8}} + .setDateFormat(new RFC3339DateFormat()); } public ObjectMapper getContext(Class arg0) { return objectMapper; } -} \ No newline at end of file +} diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/pom.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/pom.mustache index 7c6ac1edc3e7..997588b8b754 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/pom.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/pom.mustache @@ -126,16 +126,25 @@ provided + {{#java8}} + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-version} + + {{/java8}} + {{^java8}} com.fasterxml.jackson.datatype jackson-datatype-joda - 2.11.2 + ${jackson-version} joda-time joda-time 2.7 + {{/java8}} io.swagger swagger-jaxrs @@ -189,6 +198,7 @@ 1.5.22 + 2.11.2 9.2.9.v20150224 3.13.0.Final 1.6.3 diff --git a/samples/server/petstore/jaxrs-resteasy/default-value/pom.xml b/samples/server/petstore/jaxrs-resteasy/default-value/pom.xml index 08c28ffc6047..ec4d3e12eb80 100644 --- a/samples/server/petstore/jaxrs-resteasy/default-value/pom.xml +++ b/samples/server/petstore/jaxrs-resteasy/default-value/pom.xml @@ -129,7 +129,7 @@ com.fasterxml.jackson.datatype jackson-datatype-joda - 2.11.2 + ${jackson-version} joda-time @@ -187,6 +187,7 @@ 1.5.22 + 2.11.2 9.2.9.v20150224 3.13.0.Final 1.6.3 diff --git a/samples/server/petstore/jaxrs-resteasy/default-value/src/gen/java/org/openapitools/api/JacksonConfig.java b/samples/server/petstore/jaxrs-resteasy/default-value/src/gen/java/org/openapitools/api/JacksonConfig.java index a7d1fcae4b87..0505794e04e6 100644 --- a/samples/server/petstore/jaxrs-resteasy/default-value/src/gen/java/org/openapitools/api/JacksonConfig.java +++ b/samples/server/petstore/jaxrs-resteasy/default-value/src/gen/java/org/openapitools/api/JacksonConfig.java @@ -1,8 +1,8 @@ package org.openapitools.api; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.datatype.joda.JodaModule; @@ -21,7 +21,6 @@ public class JacksonConfig implements ContextResolver { public JacksonConfig() throws Exception { objectMapper = new ObjectMapper() - .setDateFormat(new RFC3339DateFormat()) .registerModule(new JodaModule() { { addSerializer(DateTime.class, new StdSerializer(DateTime.class) { @@ -38,10 +37,11 @@ public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider pr }); } - }); + }) + .setDateFormat(new RFC3339DateFormat()); } public ObjectMapper getContext(Class arg0) { return objectMapper; } -} \ No newline at end of file +} diff --git a/samples/server/petstore/jaxrs-resteasy/default/pom.xml b/samples/server/petstore/jaxrs-resteasy/default/pom.xml index 6843aedfc2d0..06b45bb1e6ac 100644 --- a/samples/server/petstore/jaxrs-resteasy/default/pom.xml +++ b/samples/server/petstore/jaxrs-resteasy/default/pom.xml @@ -129,7 +129,7 @@ com.fasterxml.jackson.datatype jackson-datatype-joda - 2.11.2 + ${jackson-version} joda-time @@ -187,6 +187,7 @@ 1.5.22 + 2.11.2 9.2.9.v20150224 3.13.0.Final 1.6.3 diff --git a/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/JacksonConfig.java b/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/JacksonConfig.java index a7d1fcae4b87..0505794e04e6 100644 --- a/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/JacksonConfig.java +++ b/samples/server/petstore/jaxrs-resteasy/default/src/gen/java/org/openapitools/api/JacksonConfig.java @@ -1,8 +1,8 @@ package org.openapitools.api; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.datatype.joda.JodaModule; @@ -21,7 +21,6 @@ public class JacksonConfig implements ContextResolver { public JacksonConfig() throws Exception { objectMapper = new ObjectMapper() - .setDateFormat(new RFC3339DateFormat()) .registerModule(new JodaModule() { { addSerializer(DateTime.class, new StdSerializer(DateTime.class) { @@ -38,10 +37,11 @@ public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider pr }); } - }); + }) + .setDateFormat(new RFC3339DateFormat()); } public ObjectMapper getContext(Class arg0) { return objectMapper; } -} \ No newline at end of file +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator-ignore b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator-ignore new file mode 100644 index 000000000000..7484ee590a38 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/.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-resteasy/java8/.openapi-generator/FILES b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/FILES new file mode 100644 index 000000000000..654b846c19e2 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/FILES @@ -0,0 +1,32 @@ +.openapi-generator-ignore +README.md +build.gradle +pom.xml +settings.gradle +src/gen/java/org/openapitools/api/ApiException.java +src/gen/java/org/openapitools/api/ApiOriginFilter.java +src/gen/java/org/openapitools/api/ApiResponseMessage.java +src/gen/java/org/openapitools/api/JacksonConfig.java +src/gen/java/org/openapitools/api/LocalDateProvider.java +src/gen/java/org/openapitools/api/NotFoundException.java +src/gen/java/org/openapitools/api/OffsetDateTimeProvider.java +src/gen/java/org/openapitools/api/PetApi.java +src/gen/java/org/openapitools/api/PetApiService.java +src/gen/java/org/openapitools/api/RFC3339DateFormat.java +src/gen/java/org/openapitools/api/RestApplication.java +src/gen/java/org/openapitools/api/StoreApi.java +src/gen/java/org/openapitools/api/StoreApiService.java +src/gen/java/org/openapitools/api/StringUtil.java +src/gen/java/org/openapitools/api/UserApi.java +src/gen/java/org/openapitools/api/UserApiService.java +src/gen/java/org/openapitools/model/Category.java +src/gen/java/org/openapitools/model/ModelApiResponse.java +src/gen/java/org/openapitools/model/Order.java +src/gen/java/org/openapitools/model/Pet.java +src/gen/java/org/openapitools/model/Tag.java +src/gen/java/org/openapitools/model/User.java +src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java +src/main/java/org/openapitools/api/impl/StoreApiServiceImpl.java +src/main/java/org/openapitools/api/impl/UserApiServiceImpl.java +src/main/webapp/WEB-INF/jboss-web.xml +src/main/webapp/WEB-INF/web.xml diff --git a/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION new file mode 100644 index 000000000000..862529f8cacd --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/.openapi-generator/VERSION @@ -0,0 +1 @@ +5.2.1-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/README.md b/samples/server/petstore/jaxrs-resteasy/java8/README.md new file mode 100644 index 000000000000..050351dfcdba --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/README.md @@ -0,0 +1,24 @@ +# JAX-RS/RESTEasy server with OpenAPI + +## 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. +RESTEasy is used as JAX-RS implementation library and is defined as dependency. + +To run the server, please execute the following: + +``` +mvn -Djetty.http.port=8080 package org.eclipse.jetty:jetty-maven-plugin:run +``` + +You can then view the OpenAPI v2 specification here: + +``` +http://localhost:8080/v2/swagger.json +``` + +Note that if you have configured the `host` to be something other than localhost, the calls through +swagger-ui will be directed to that host and not localhost! \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/build.gradle b/samples/server/petstore/jaxrs-resteasy/java8/build.gradle new file mode 100644 index 000000000000..b4805e5de7be --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/build.gradle @@ -0,0 +1,36 @@ +apply plugin: 'war' + +project.version = "1.0.0" +project.group = "org.openapitools" + +repositories { + maven { url "https://repo1.maven.org/maven2" } +} + +dependencies { + providedCompile 'org.jboss.resteasy:resteasy-jaxrs:3.0.11.Final' + providedCompile 'org.jboss.resteasy:jaxrs-api:3.0.11.Final' + providedCompile 'org.jboss.resteasy:resteasy-validator-provider-11:3.0.11.Final' + providedCompile 'org.jboss.resteasy:resteasy-multipart-provider:3.0.11.Final' + providedCompile 'javax.annotation:javax.annotation-api:1.2' + providedCompile 'javax:javaee-api:7.0' + providedCompile 'org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec:1.0.0.Final' + compile 'io.swagger:swagger-annotations:1.5.22' + compile 'org.jboss.resteasy:resteasy-jackson2-provider:3.0.11.Final' + providedCompile 'javax.validation:validation-api:1.1.0.Final' + compile 'com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.9' + compile 'joda-time:joda-time:2.7' + //TODO: swaggerFeature + compile 'io.swagger:swagger-jaxrs:1.5.12' + + testCompile 'junit:junit:4.13', + 'org.hamcrest:hamcrest-core:1.3' +} + +sourceSets { + main { + java { + srcDir 'src/gen/java' + } + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/pom.xml b/samples/server/petstore/jaxrs-resteasy/java8/pom.xml new file mode 100644 index 000000000000..925aad942238 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/pom.xml @@ -0,0 +1,192 @@ + + 4.0.0 + org.openapitools + jaxrs-resteasy-java8-server + war + jaxrs-resteasy-java8-server + 1.0.0 + + src/main/java + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + + maven-failsafe-plugin + 2.6 + + + + integration-test + verify + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + add-source + generate-sources + + add-source + + + + + src/gen/java + + + + + + + + + + + javax + javaee-api + 7.0 + provided + + + + io.swagger + swagger-annotations + ${swagger-core-version} + + + + com.google.code.findbugs + jsr305 + 3.0.2 + + + org.slf4j + slf4j-log4j12 + ${slf4j-version} + + + javax.servlet + servlet-api + ${servlet-api-version} + provided + + + + org.jboss.resteasy + resteasy-jaxrs + ${resteasy-version} + provided + + + org.jboss.resteasy + jaxrs-api + 3.0.12.Final + provided + + + org.jboss.resteasy + resteasy-validator-provider-11 + 3.6.3.SP1 + provided + + + org.jboss.resteasy + resteasy-multipart-provider + ${resteasy-version} + provided + + + org.jboss.resteasy + resteasy-jackson2-provider + ${resteasy-version} + provided + + + javax.annotation + javax.annotation-api + 1.2 + provided + + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-version} + + + io.swagger + swagger-jaxrs + ${swagger-core-version} + + + junit + junit + ${junit-version} + test + + + org.testng + testng + 6.8.8 + test + + + junit + junit + + + snakeyaml + org.yaml + + + bsh + org.beanshell + + + + + + javax.validation + validation-api + 1.1.0.Final + provided + + + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + true + + + + + 1.5.22 + 2.11.2 + 9.2.9.v20150224 + 3.13.0.Final + 1.6.3 + 4.13.1 + 2.5 + + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/settings.gradle b/samples/server/petstore/jaxrs-resteasy/java8/settings.gradle new file mode 100644 index 000000000000..663aa14bae8b --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "jaxrs-resteasy-java8-server" \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java new file mode 100644 index 000000000000..6e0c12c35cab --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiException.java @@ -0,0 +1,32 @@ +package org.openapitools.api; + +/** + * The exception that can be used to store the HTTP status code returned by an API response. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class ApiException extends Exception { + + /** The HTTP status code. */ + private int code; + + /** + * Constructor. + * + * @param code The HTTP status code. + * @param msg The error message. + */ + public ApiException(int code, String msg) { + super(msg); + this.code = code; + } + + /** + * Get the HTTP status code. + * + * @return The HTTP status code. + */ + public int getCode() { + return code; + } + +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiOriginFilter.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiOriginFilter.java new file mode 100644 index 000000000000..ae4ceb1a77c2 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiOriginFilter.java @@ -0,0 +1,22 @@ +package org.openapitools.api; + +import java.io.IOException; + +import javax.servlet.*; +import javax.servlet.http.HttpServletResponse; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class ApiOriginFilter implements javax.servlet.Filter { + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + HttpServletResponse res = (HttpServletResponse) response; + res.addHeader("Access-Control-Allow-Origin", "*"); + res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT"); + res.addHeader("Access-Control-Allow-Headers", "Content-Type"); + chain.doFilter(request, response); + } + + public void destroy() {} + + public void init(FilterConfig filterConfig) throws ServletException {} +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiResponseMessage.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiResponseMessage.java new file mode 100644 index 000000000000..35fc693af013 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/ApiResponseMessage.java @@ -0,0 +1,69 @@ +package org.openapitools.api; + +import javax.xml.bind.annotation.XmlTransient; + +@javax.xml.bind.annotation.XmlRootElement +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class ApiResponseMessage { + public static final int ERROR = 1; + public static final int WARNING = 2; + public static final int INFO = 3; + public static final int OK = 4; + public static final int TOO_BUSY = 5; + + int code; + String type; + String message; + + public ApiResponseMessage(){} + + public ApiResponseMessage(int code, String message){ + this.code = code; + switch(code){ + case ERROR: + setType("error"); + break; + case WARNING: + setType("warning"); + break; + case INFO: + setType("info"); + break; + case OK: + setType("ok"); + break; + case TOO_BUSY: + setType("too busy"); + break; + default: + setType("unknown"); + break; + } + this.message = message; + } + + @XmlTransient + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/JacksonConfig.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/JacksonConfig.java new file mode 100644 index 000000000000..56feb995554f --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/JacksonConfig.java @@ -0,0 +1,24 @@ +package org.openapitools.api; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + +import javax.ws.rs.ext.ContextResolver; +import javax.ws.rs.ext.Provider; +import java.io.IOException; + +@Provider +public class JacksonConfig implements ContextResolver { + private final ObjectMapper objectMapper; + + public JacksonConfig() throws Exception { + + objectMapper = new ObjectMapper() + .registerModule(new JavaTimeModule()) + .setDateFormat(new RFC3339DateFormat()); + } + + public ObjectMapper getContext(Class arg0) { + return objectMapper; + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/LocalDateProvider.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/LocalDateProvider.java new file mode 100644 index 000000000000..a858315c384a --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/LocalDateProvider.java @@ -0,0 +1,31 @@ +package org.openapitools.api; + +import java.time.LocalDate; +import javax.ws.rs.ext.ParamConverter; +import javax.ws.rs.ext.ParamConverterProvider; +import javax.ws.rs.ext.Provider; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +@Provider +public class LocalDateProvider implements ParamConverterProvider { + + public static class LocalDateConverter implements ParamConverter { + + public LocalDate fromString(String string) { + LocalDate localDate = LocalDate.parse(string); + return localDate; + } + + public String toString(LocalDate t) { + return t.toString(); + } + } + + public ParamConverter getConverter(Class type, Type type1, Annotation[] antns) { + if (LocalDate.class.equals(type)) { + return (ParamConverter) new LocalDateConverter(); + } + return null; + } +} \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/NotFoundException.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/NotFoundException.java new file mode 100644 index 000000000000..7bba9680d59c --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/NotFoundException.java @@ -0,0 +1,10 @@ +package org.openapitools.api; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class NotFoundException extends ApiException { + private int code; + public NotFoundException (int code, String msg) { + super(code, msg); + this.code = code; + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/OffsetDateTimeProvider.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/OffsetDateTimeProvider.java new file mode 100644 index 000000000000..291aed756c71 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/OffsetDateTimeProvider.java @@ -0,0 +1,31 @@ +package org.openapitools.api; + +import java.time.OffsetDateTime; +import javax.ws.rs.ext.ParamConverter; +import javax.ws.rs.ext.ParamConverterProvider; +import javax.ws.rs.ext.Provider; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +@Provider +public class OffsetDateTimeProvider implements ParamConverterProvider { + + public static class OffsetDateTimeConverter implements ParamConverter { + + public OffsetDateTime fromString(String string) { + OffsetDateTime offsetDateTime = OffsetDateTime.parse(string); + return offsetDateTime; + } + + public String toString(OffsetDateTime t) { + return t.toString(); + } + } + + public ParamConverter getConverter(Class type, Type type1, Annotation[] antns) { + if (OffsetDateTime.class.equals(type)) { + return (ParamConverter) new OffsetDateTimeConverter(); + } + return null; + } +} \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApi.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApi.java new file mode 100644 index 000000000000..327b00e46c73 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApi.java @@ -0,0 +1,175 @@ +package org.openapitools.api; + +import org.openapitools.model.*; +import org.openapitools.api.PetApiService; + +import io.swagger.annotations.ApiParam; +import io.swagger.jaxrs.*; + +import java.io.File; +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; + +import java.util.Map; +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.ws.rs.core.Context; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; +import javax.ws.rs.*; +import javax.inject.Inject; + +import javax.validation.constraints.*; +import javax.validation.Valid; +import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput; + +@Path("/pet") + + +@io.swagger.annotations.Api(description = "the pet API") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class PetApi { + + @Inject PetApiService service; + + @POST + + @Consumes({ "application/json", "application/xml" }) + + @io.swagger.annotations.ApiOperation(value = "Add a new pet to the store", notes = "", response = Void.class, authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 405, message = "Invalid input", response = Void.class) }) + public Response addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true) @NotNull @Valid Pet body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.addPet(body,securityContext); + } + @DELETE + @Path("/{petId}") + + + @io.swagger.annotations.ApiOperation(value = "Deletes a pet", notes = "", response = Void.class, authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid pet value", response = Void.class) }) + public Response deletePet( @PathParam("petId") Long petId, @ApiParam(value = "" ) @HeaderParam("api_key") String apiKey,@Context SecurityContext securityContext) + throws NotFoundException { + return service.deletePet(petId,apiKey,securityContext); + } + @GET + @Path("/findByStatus") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Finds Pets by status", notes = "Multiple status values can be provided with comma separated strings", response = Pet.class, responseContainer = "List", authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid status value", response = Void.class) }) + public Response findPetsByStatus( @NotNull @QueryParam("status") List status,@Context SecurityContext securityContext) + throws NotFoundException { + return service.findPetsByStatus(status,securityContext); + } + @GET + @Path("/findByTags") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Finds Pets by tags", notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", response = Pet.class, responseContainer = "List", authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid tag value", response = Void.class) }) + public Response findPetsByTags( @NotNull @QueryParam("tags") List tags,@Context SecurityContext securityContext) + throws NotFoundException { + return service.findPetsByTags(tags,securityContext); + } + @GET + @Path("/{petId}") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Find pet by ID", notes = "Returns a single pet", response = Pet.class, authorizations = { + @io.swagger.annotations.Authorization(value = "api_key") + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Pet.class), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "Pet not found", response = Void.class) }) + public Response getPetById( @PathParam("petId") Long petId,@Context SecurityContext securityContext) + throws NotFoundException { + return service.getPetById(petId,securityContext); + } + @PUT + + @Consumes({ "application/json", "application/xml" }) + + @io.swagger.annotations.ApiOperation(value = "Update an existing pet", notes = "", response = Void.class, authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "Pet not found", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 405, message = "Validation exception", response = Void.class) }) + public Response updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true) @NotNull @Valid Pet body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.updatePet(body,securityContext); + } + @POST + @Path("/{petId}") + @Consumes({ "application/x-www-form-urlencoded" }) + + @io.swagger.annotations.ApiOperation(value = "Updates a pet in the store with form data", notes = "", response = Void.class, authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 405, message = "Invalid input", response = Void.class) }) + public Response updatePetWithForm( @PathParam("petId") Long petId,@ApiParam(value = "Updated name of the pet") @FormParam("name") String name,@ApiParam(value = "Updated status of the pet") @FormParam("status") String status,@Context SecurityContext securityContext) + throws NotFoundException { + return service.updatePetWithForm(petId,name,status,securityContext); + } + @POST + @Path("/{petId}/uploadImage") + @Consumes({ "multipart/form-data" }) + @Produces({ "application/json" }) + @io.swagger.annotations.ApiOperation(value = "uploads an image", notes = "", response = ModelApiResponse.class, authorizations = { + @io.swagger.annotations.Authorization(value = "petstore_auth", scopes = { + @io.swagger.annotations.AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), + @io.swagger.annotations.AuthorizationScope(scope = "read:pets", description = "read your pets") + }) + }, tags={ "pet", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) }) + public Response uploadFile(MultipartFormDataInput input, @PathParam("petId") Long petId,@Context SecurityContext securityContext) + throws NotFoundException { + return service.uploadFile(input,petId,securityContext); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApiService.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApiService.java new file mode 100644 index 000000000000..5415004bc635 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/PetApiService.java @@ -0,0 +1,38 @@ +package org.openapitools.api; + +import org.openapitools.api.*; +import org.openapitools.model.*; +import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput; + + +import java.io.File; +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; + +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public interface PetApiService { + Response addPet(Pet body,SecurityContext securityContext) + throws NotFoundException; + Response deletePet(Long petId,String apiKey,SecurityContext securityContext) + throws NotFoundException; + Response findPetsByStatus(List status,SecurityContext securityContext) + throws NotFoundException; + Response findPetsByTags(List tags,SecurityContext securityContext) + throws NotFoundException; + Response getPetById(Long petId,SecurityContext securityContext) + throws NotFoundException; + Response updatePet(Pet body,SecurityContext securityContext) + throws NotFoundException; + Response updatePetWithForm(Long petId,String name,String status,SecurityContext securityContext) + throws NotFoundException; + Response uploadFile(MultipartFormDataInput input,Long petId,SecurityContext securityContext) + throws NotFoundException; +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RFC3339DateFormat.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RFC3339DateFormat.java new file mode 100644 index 000000000000..3c9230efefe2 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RFC3339DateFormat.java @@ -0,0 +1,38 @@ +package org.openapitools.api; + +import com.fasterxml.jackson.databind.util.StdDateFormat; + +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +public class RFC3339DateFormat extends DateFormat { + private static final long serialVersionUID = 1L; + private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC"); + + private final StdDateFormat fmt = new StdDateFormat() + .withTimeZone(TIMEZONE_Z) + .withColonInTimeZone(true); + + public RFC3339DateFormat() { + this.calendar = new GregorianCalendar(); + } + + @Override + public Date parse(String source, ParsePosition pos) { + return fmt.parse(source, pos); + } + + @Override + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + return fmt.format(date, toAppendTo, fieldPosition); + } + + @Override + public Object clone() { + return this; + } +} \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RestApplication.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RestApplication.java new file mode 100644 index 000000000000..05e478441455 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/RestApplication.java @@ -0,0 +1,9 @@ +package org.openapitools.api; + +import javax.ws.rs.ApplicationPath; +import javax.ws.rs.core.Application; + +@ApplicationPath("/v2") +public class RestApplication extends Application { + +} \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApi.java new file mode 100644 index 000000000000..a79712327381 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApi.java @@ -0,0 +1,90 @@ +package org.openapitools.api; + +import org.openapitools.model.*; +import org.openapitools.api.StoreApiService; + +import io.swagger.annotations.ApiParam; +import io.swagger.jaxrs.*; + +import java.util.Map; +import org.openapitools.model.Order; + +import java.util.Map; +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.ws.rs.core.Context; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; +import javax.ws.rs.*; +import javax.inject.Inject; + +import javax.validation.constraints.*; +import javax.validation.Valid; + +@Path("/store") + + +@io.swagger.annotations.Api(description = "the store API") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class StoreApi { + + @Inject StoreApiService service; + + @DELETE + @Path("/order/{orderId}") + + + @io.swagger.annotations.ApiOperation(value = "Delete purchase order by ID", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", response = Void.class, tags={ "store", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "Order not found", response = Void.class) }) + public Response deleteOrder( @PathParam("orderId") String orderId,@Context SecurityContext securityContext) + throws NotFoundException { + return service.deleteOrder(orderId,securityContext); + } + @GET + @Path("/inventory") + + @Produces({ "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Returns pet inventories by status", notes = "Returns a map of status codes to quantities", response = Integer.class, responseContainer = "Map", authorizations = { + @io.swagger.annotations.Authorization(value = "api_key") + }, tags={ "store", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Map.class, responseContainer = "Map") }) + public Response getInventory(@Context SecurityContext securityContext) + throws NotFoundException { + return service.getInventory(securityContext); + } + @GET + @Path("/order/{orderId}") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Find purchase order by ID", notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", response = Order.class, tags={ "store", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Order.class), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "Order not found", response = Void.class) }) + public Response getOrderById( @Min(1L) @Max(5L) @PathParam("orderId") Long orderId,@Context SecurityContext securityContext) + throws NotFoundException { + return service.getOrderById(orderId,securityContext); + } + @POST + @Path("/order") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Place an order for a pet", notes = "", response = Order.class, tags={ "store", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Order.class), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid Order", response = Void.class) }) + public Response placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true) @NotNull @Valid Order body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.placeOrder(body,securityContext); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApiService.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApiService.java new file mode 100644 index 000000000000..ed4c8338a600 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StoreApiService.java @@ -0,0 +1,28 @@ +package org.openapitools.api; + +import org.openapitools.api.*; +import org.openapitools.model.*; + + +import java.util.Map; +import org.openapitools.model.Order; + +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public interface StoreApiService { + Response deleteOrder(String orderId,SecurityContext securityContext) + throws NotFoundException; + Response getInventory(SecurityContext securityContext) + throws NotFoundException; + Response getOrderById(Long orderId,SecurityContext securityContext) + throws NotFoundException; + Response placeOrder(Order body,SecurityContext securityContext) + throws NotFoundException; +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StringUtil.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StringUtil.java new file mode 100644 index 000000000000..4bbe3a4447bc --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/StringUtil.java @@ -0,0 +1,42 @@ +package org.openapitools.api; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class StringUtil { + /** + * Check if the given array contains the given value (with case-insensitive comparison). + * + * @param array The array + * @param value The value to search + * @return true if the array contains the value + */ + public static boolean containsIgnoreCase(String[] array, String value) { + for (String str : array) { + if (value == null && str == null) return true; + if (value != null && value.equalsIgnoreCase(str)) return true; + } + return false; + } + + /** + * Join an array of strings with the given separator. + *

+ * Note: This might be replaced by utility method from commons-lang or guava someday + * if one of those libraries is added as dependency. + *

+ * + * @param array The array of strings + * @param separator The separator + * @return the resulting string + */ + public static String join(String[] array, String separator) { + int len = array.length; + if (len == 0) return ""; + + StringBuilder out = new StringBuilder(); + out.append(array[0]); + for (int i = 1; i < len; i++) { + out.append(separator).append(array[i]); + } + return out.toString(); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApi.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApi.java new file mode 100644 index 000000000000..d325a05a54f1 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApi.java @@ -0,0 +1,134 @@ +package org.openapitools.api; + +import org.openapitools.model.*; +import org.openapitools.api.UserApiService; + +import io.swagger.annotations.ApiParam; +import io.swagger.jaxrs.*; + +import java.util.List; +import org.openapitools.model.User; + +import java.util.Map; +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.ws.rs.core.Context; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; +import javax.ws.rs.*; +import javax.inject.Inject; + +import javax.validation.constraints.*; +import javax.validation.Valid; + +@Path("/user") + + +@io.swagger.annotations.Api(description = "the user API") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class UserApi { + + @Inject UserApiService service; + + @POST + + + + @io.swagger.annotations.ApiOperation(value = "Create user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Void.class) }) + public Response createUser(@ApiParam(value = "Created user object" ,required=true) @NotNull @Valid User body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.createUser(body,securityContext); + } + @POST + @Path("/createWithArray") + + + @io.swagger.annotations.ApiOperation(value = "Creates list of users with given input array", notes = "", response = Void.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Void.class) }) + public Response createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true) @NotNull @Valid List body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.createUsersWithArrayInput(body,securityContext); + } + @POST + @Path("/createWithList") + + + @io.swagger.annotations.ApiOperation(value = "Creates list of users with given input array", notes = "", response = Void.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Void.class) }) + public Response createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true) @NotNull @Valid List body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.createUsersWithListInput(body,securityContext); + } + @DELETE + @Path("/{username}") + + + @io.swagger.annotations.ApiOperation(value = "Delete user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "User not found", response = Void.class) }) + public Response deleteUser( @PathParam("username") String username,@Context SecurityContext securityContext) + throws NotFoundException { + return service.deleteUser(username,securityContext); + } + @GET + @Path("/{username}") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Get user by user name", notes = "", response = User.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = User.class), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "User not found", response = Void.class) }) + public Response getUserByName( @PathParam("username") String username,@Context SecurityContext securityContext) + throws NotFoundException { + return service.getUserByName(username,securityContext); + } + @GET + @Path("/login") + + @Produces({ "application/xml", "application/json" }) + @io.swagger.annotations.ApiOperation(value = "Logs user into the system", notes = "", response = String.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = String.class), + + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid username/password supplied", response = Void.class) }) + public Response loginUser( @NotNull @QueryParam("username") String username, @NotNull @QueryParam("password") String password,@Context SecurityContext securityContext) + throws NotFoundException { + return service.loginUser(username,password,securityContext); + } + @GET + @Path("/logout") + + + @io.swagger.annotations.ApiOperation(value = "Logs out current logged in user session", notes = "", response = Void.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = Void.class) }) + public Response logoutUser(@Context SecurityContext securityContext) + throws NotFoundException { + return service.logoutUser(securityContext); + } + @PUT + @Path("/{username}") + + + @io.swagger.annotations.ApiOperation(value = "Updated user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", }) + @io.swagger.annotations.ApiResponses(value = { + @io.swagger.annotations.ApiResponse(code = 400, message = "Invalid user supplied", response = Void.class), + + @io.swagger.annotations.ApiResponse(code = 404, message = "User not found", response = Void.class) }) + public Response updateUser( @PathParam("username") String username,@ApiParam(value = "Updated user object" ,required=true) @NotNull @Valid User body,@Context SecurityContext securityContext) + throws NotFoundException { + return service.updateUser(username,body,securityContext); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApiService.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApiService.java new file mode 100644 index 000000000000..35d72d421127 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/api/UserApiService.java @@ -0,0 +1,36 @@ +package org.openapitools.api; + +import org.openapitools.api.*; +import org.openapitools.model.*; + + +import java.util.List; +import org.openapitools.model.User; + +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public interface UserApiService { + Response createUser(User body,SecurityContext securityContext) + throws NotFoundException; + Response createUsersWithArrayInput(List body,SecurityContext securityContext) + throws NotFoundException; + Response createUsersWithListInput(List body,SecurityContext securityContext) + throws NotFoundException; + Response deleteUser(String username,SecurityContext securityContext) + throws NotFoundException; + Response getUserByName(String username,SecurityContext securityContext) + throws NotFoundException; + Response loginUser(String username,String password,SecurityContext securityContext) + throws NotFoundException; + Response logoutUser(SecurityContext securityContext) + throws NotFoundException; + Response updateUser(String username,User body,SecurityContext securityContext) + throws NotFoundException; +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Category.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Category.java new file mode 100644 index 000000000000..4884ee2c4c27 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Category.java @@ -0,0 +1,83 @@ +package org.openapitools.model; + +import java.util.Objects; +import java.util.ArrayList; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.*; +import io.swagger.annotations.*; + +@ApiModel(description="A category for a pet")@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class Category { + + private Long id; + private String name; + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("id") + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("name") + public String getName() { + return 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(id, category.id) && + Objects.equals(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 "); + } +} + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/ModelApiResponse.java new file mode 100644 index 000000000000..d3a12b7874dd --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/ModelApiResponse.java @@ -0,0 +1,98 @@ +package org.openapitools.model; + +import java.util.Objects; +import java.util.ArrayList; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.*; +import io.swagger.annotations.*; + +@ApiModel(description="Describes the result of uploading an image resource")@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class ModelApiResponse { + + private Integer code; + private String type; + private String message; + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("code") + public Integer getCode() { + return code; + } + public void setCode(Integer code) { + this.code = code; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("type") + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("message") + public String getMessage() { + return 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(code, _apiResponse.code) && + Objects.equals(type, _apiResponse.type) && + Objects.equals(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 "); + } +} + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Order.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Order.java new file mode 100644 index 000000000000..2987afa9926f --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Order.java @@ -0,0 +1,169 @@ +package org.openapitools.model; + +import java.util.Objects; +import java.util.ArrayList; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.time.OffsetDateTime; +import javax.validation.constraints.*; +import io.swagger.annotations.*; + +@ApiModel(description="An order for a pets from the pet store")@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class Order { + + private Long id; + private Long petId; + private Integer quantity; + private OffsetDateTime shipDate; + + /** + * Order Status + */ + public enum StatusEnum { + PLACED("placed"), + + APPROVED("approved"), + + DELIVERED("delivered"); + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + } + + private StatusEnum status; + private Boolean complete = false; + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("id") + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("petId") + public Long getPetId() { + return petId; + } + public void setPetId(Long petId) { + this.petId = petId; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("quantity") + public Integer getQuantity() { + return quantity; + } + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("shipDate") + public OffsetDateTime getShipDate() { + return shipDate; + } + public void setShipDate(OffsetDateTime shipDate) { + this.shipDate = shipDate; + } + + /** + * Order Status + **/ + + @ApiModelProperty(value = "Order Status") + @JsonProperty("status") + public StatusEnum getStatus() { + return status; + } + public void setStatus(StatusEnum status) { + this.status = status; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("complete") + public Boolean getComplete() { + return 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(id, order.id) && + Objects.equals(petId, order.petId) && + Objects.equals(quantity, order.quantity) && + Objects.equals(shipDate, order.shipDate) && + Objects.equals(status, order.status) && + Objects.equals(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 "); + } +} + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Pet.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Pet.java new file mode 100644 index 000000000000..73788837d0f7 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Pet.java @@ -0,0 +1,174 @@ +package org.openapitools.model; + +import java.util.Objects; +import java.util.ArrayList; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.openapitools.model.Category; +import org.openapitools.model.Tag; +import javax.validation.constraints.*; +import io.swagger.annotations.*; + +@ApiModel(description="A pet for sale in the pet store")@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class Pet { + + private Long id; + private Category category; + private String name; + private List photoUrls = new ArrayList<>(); + private List tags = new ArrayList<>(); + + /** + * pet status in the store + */ + public enum StatusEnum { + AVAILABLE("available"), + + PENDING("pending"), + + SOLD("sold"); + private String value; + + StatusEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + } + + private StatusEnum status; + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("id") + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("category") + public Category getCategory() { + return category; + } + public void setCategory(Category category) { + this.category = category; + } + + /** + **/ + + @ApiModelProperty(example = "doggie", required = true, value = "") + @JsonProperty("name") + @NotNull + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + + /** + **/ + + @ApiModelProperty(required = true, value = "") + @JsonProperty("photoUrls") + @NotNull + public List getPhotoUrls() { + return photoUrls; + } + public void setPhotoUrls(List photoUrls) { + this.photoUrls = photoUrls; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("tags") + public List getTags() { + return tags; + } + public void setTags(List tags) { + this.tags = tags; + } + + /** + * pet status in the store + **/ + + @ApiModelProperty(value = "pet status in the store") + @JsonProperty("status") + public StatusEnum getStatus() { + return 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(id, pet.id) && + Objects.equals(category, pet.category) && + Objects.equals(name, pet.name) && + Objects.equals(photoUrls, pet.photoUrls) && + Objects.equals(tags, pet.tags) && + Objects.equals(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 "); + } +} + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Tag.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Tag.java new file mode 100644 index 000000000000..afd723dee10c --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/Tag.java @@ -0,0 +1,83 @@ +package org.openapitools.model; + +import java.util.Objects; +import java.util.ArrayList; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.*; +import io.swagger.annotations.*; + +@ApiModel(description="A tag for a pet")@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class Tag { + + private Long id; + private String name; + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("id") + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("name") + public String getName() { + return 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(id, tag.id) && + Objects.equals(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 "); + } +} + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/User.java b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/User.java new file mode 100644 index 000000000000..2e649203067e --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/gen/java/org/openapitools/model/User.java @@ -0,0 +1,174 @@ +package org.openapitools.model; + +import java.util.Objects; +import java.util.ArrayList; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.*; +import io.swagger.annotations.*; + +@ApiModel(description="A User who is purchasing from the pet store")@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class User { + + private Long id; + private String username; + private String firstName; + private String lastName; + private String email; + private String password; + private String phone; + private Integer userStatus; + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("id") + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("username") + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("firstName") + public String getFirstName() { + return firstName; + } + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("lastName") + public String getLastName() { + return lastName; + } + public void setLastName(String lastName) { + this.lastName = lastName; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("email") + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("password") + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + + /** + **/ + + @ApiModelProperty(value = "") + @JsonProperty("phone") + public String getPhone() { + return phone; + } + public void setPhone(String phone) { + this.phone = phone; + } + + /** + * User Status + **/ + + @ApiModelProperty(value = "User Status") + @JsonProperty("userStatus") + public Integer getUserStatus() { + return 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(id, user.id) && + Objects.equals(username, user.username) && + Objects.equals(firstName, user.firstName) && + Objects.equals(lastName, user.lastName) && + Objects.equals(email, user.email) && + Objects.equals(password, user.password) && + Objects.equals(phone, user.phone) && + Objects.equals(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 "); + } +} + diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java b/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java new file mode 100644 index 000000000000..0b264cc92ced --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/PetApiServiceImpl.java @@ -0,0 +1,64 @@ +package org.openapitools.api.impl; + +import org.openapitools.api.*; +import org.openapitools.model.*; +import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput; + + +import java.io.File; +import org.openapitools.model.ModelApiResponse; +import org.openapitools.model.Pet; + +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.enterprise.context.RequestScoped; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; + +@RequestScoped +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class PetApiServiceImpl implements PetApiService { + public Response addPet(Pet body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response deletePet(Long petId,String apiKey,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response findPetsByStatus(List status,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response findPetsByTags(List tags,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response getPetById(Long petId,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response updatePet(Pet body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response updatePetWithForm(Long petId,String name,String status,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response uploadFile(MultipartFormDataInput input,Long petId,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/StoreApiServiceImpl.java b/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/StoreApiServiceImpl.java new file mode 100644 index 000000000000..4669635c2590 --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/StoreApiServiceImpl.java @@ -0,0 +1,42 @@ +package org.openapitools.api.impl; + +import org.openapitools.api.*; +import org.openapitools.model.*; + + +import java.util.Map; +import org.openapitools.model.Order; + +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.enterprise.context.RequestScoped; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; + +@RequestScoped +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class StoreApiServiceImpl implements StoreApiService { + public Response deleteOrder(String orderId,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response getInventory(SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response getOrderById(Long orderId,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response placeOrder(Order body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/UserApiServiceImpl.java b/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/UserApiServiceImpl.java new file mode 100644 index 000000000000..40d14d0be55b --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/main/java/org/openapitools/api/impl/UserApiServiceImpl.java @@ -0,0 +1,62 @@ +package org.openapitools.api.impl; + +import org.openapitools.api.*; +import org.openapitools.model.*; + + +import java.util.List; +import org.openapitools.model.User; + +import java.util.List; +import org.openapitools.api.NotFoundException; + +import java.io.InputStream; + +import javax.enterprise.context.RequestScoped; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; + +@RequestScoped +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaResteasyServerCodegen") +public class UserApiServiceImpl implements UserApiService { + public Response createUser(User body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response createUsersWithArrayInput(List body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response createUsersWithListInput(List body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response deleteUser(String username,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response getUserByName(String username,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response loginUser(String username,String password,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response logoutUser(SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } + public Response updateUser(String username,User body,SecurityContext securityContext) + throws NotFoundException { + // do some magic! + return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); + } +} diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/jboss-web.xml b/samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/jboss-web.xml new file mode 100644 index 000000000000..9c05ed07b78b --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/jboss-web.xml @@ -0,0 +1,3 @@ + + /v2 + \ No newline at end of file diff --git a/samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/web.xml b/samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000000..f52301872f8d --- /dev/null +++ b/samples/server/petstore/jaxrs-resteasy/java8/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,14 @@ + + + + + ApiOriginFilter + org.openapitools.api.ApiOriginFilter + + + ApiOriginFilter + /* + + diff --git a/samples/server/petstore/jaxrs-resteasy/joda/pom.xml b/samples/server/petstore/jaxrs-resteasy/joda/pom.xml index eccafff3b7ed..0825ab39dc38 100644 --- a/samples/server/petstore/jaxrs-resteasy/joda/pom.xml +++ b/samples/server/petstore/jaxrs-resteasy/joda/pom.xml @@ -129,7 +129,7 @@ com.fasterxml.jackson.datatype jackson-datatype-joda - 2.11.2 + ${jackson-version} joda-time @@ -187,6 +187,7 @@ 1.5.22 + 2.11.2 9.2.9.v20150224 3.13.0.Final 1.6.3 diff --git a/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/JacksonConfig.java b/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/JacksonConfig.java index a7d1fcae4b87..0505794e04e6 100644 --- a/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/JacksonConfig.java +++ b/samples/server/petstore/jaxrs-resteasy/joda/src/gen/java/org/openapitools/api/JacksonConfig.java @@ -1,8 +1,8 @@ package org.openapitools.api; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.datatype.joda.JodaModule; @@ -21,7 +21,6 @@ public class JacksonConfig implements ContextResolver { public JacksonConfig() throws Exception { objectMapper = new ObjectMapper() - .setDateFormat(new RFC3339DateFormat()) .registerModule(new JodaModule() { { addSerializer(DateTime.class, new StdSerializer(DateTime.class) { @@ -38,10 +37,11 @@ public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider pr }); } - }); + }) + .setDateFormat(new RFC3339DateFormat()); } public ObjectMapper getContext(Class arg0) { return objectMapper; } -} \ No newline at end of file +}