Skip to content

Commit cbb2716

Browse files
authored
Add samples to test jaxrs spec (withXml option enabled) (#22148)
* add samples to test jaxrs spec with xml option enabled * add new files
1 parent fdbabee commit cbb2716

File tree

70 files changed

+13592
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+13592
-4
lines changed

.github/workflows/samples-jaxrs.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ jobs:
2020
- samples/server/petstore/jaxrs/jersey2-useTags
2121
- samples/server/petstore/jaxrs-jersey
2222
- samples/server/petstore/jaxrs-spec
23-
- samples/server/petstore/jaxrs-spec-interface
24-
- samples/server/petstore/jaxrs-spec-interface-response
25-
- samples/server/petstore/jaxrs-jersey
26-
- samples/server/petstore/jaxrs-spec
23+
- samples/server/petstore/jaxrs-spec-withxml
2724
- samples/server/petstore/jaxrs-spec-interface
2825
- samples/server/petstore/jaxrs-spec-interface-response
2926
- samples/server/petstore/jaxrs-datelib-j8
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: jaxrs-spec
2+
outputDir: samples/server/petstore/jaxrs-spec-withxml/
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/jaxrs-spec/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/spec
5+
additionalProperties:
6+
artifactId: jaxrs-spec-withxml-petstore-server
7+
serializableModel: "true"
8+
hideGenerationTimestamp: "true"
9+
generateBuilders: "true"
10+
withXml: true
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
#ApiClient.cs
10+
11+
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
12+
#foo/*/qux
13+
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14+
15+
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16+
#foo/**/qux
17+
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18+
19+
# You can also negate patterns with an exclamation (!).
20+
# For example, you can ignore all files in a docs folder with the file extension .md:
21+
#docs/*.md
22+
# Then explicitly reverse the ignore rule for a single file:
23+
#!docs/README.md
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
README.md
2+
pom.xml
3+
src/gen/java/org/openapitools/api/AnotherFakeApi.java
4+
src/gen/java/org/openapitools/api/FakeApi.java
5+
src/gen/java/org/openapitools/api/FakeClassnameTestApi.java
6+
src/gen/java/org/openapitools/api/FooApi.java
7+
src/gen/java/org/openapitools/api/PetApi.java
8+
src/gen/java/org/openapitools/api/RestApplication.java
9+
src/gen/java/org/openapitools/api/RestResourceRoot.java
10+
src/gen/java/org/openapitools/api/StoreApi.java
11+
src/gen/java/org/openapitools/api/UserApi.java
12+
src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java
13+
src/gen/java/org/openapitools/model/AllOfWithSingleRef.java
14+
src/gen/java/org/openapitools/model/Animal.java
15+
src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java
16+
src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java
17+
src/gen/java/org/openapitools/model/ArrayTest.java
18+
src/gen/java/org/openapitools/model/Capitalization.java
19+
src/gen/java/org/openapitools/model/Cat.java
20+
src/gen/java/org/openapitools/model/Category.java
21+
src/gen/java/org/openapitools/model/ChildWithNullable.java
22+
src/gen/java/org/openapitools/model/ClassModel.java
23+
src/gen/java/org/openapitools/model/Client.java
24+
src/gen/java/org/openapitools/model/DeprecatedObject.java
25+
src/gen/java/org/openapitools/model/Dog.java
26+
src/gen/java/org/openapitools/model/EnumArrays.java
27+
src/gen/java/org/openapitools/model/EnumClass.java
28+
src/gen/java/org/openapitools/model/EnumTest.java
29+
src/gen/java/org/openapitools/model/FakeBigDecimalMap200Response.java
30+
src/gen/java/org/openapitools/model/FakeTestsDefaultsDefaultResponse.java
31+
src/gen/java/org/openapitools/model/FileSchemaTestClass.java
32+
src/gen/java/org/openapitools/model/Foo.java
33+
src/gen/java/org/openapitools/model/FooGetDefaultResponse.java
34+
src/gen/java/org/openapitools/model/FormatTest.java
35+
src/gen/java/org/openapitools/model/HasOnlyReadOnly.java
36+
src/gen/java/org/openapitools/model/HealthCheckResult.java
37+
src/gen/java/org/openapitools/model/IntegerEnum.java
38+
src/gen/java/org/openapitools/model/MapTest.java
39+
src/gen/java/org/openapitools/model/MixedPropertiesAndAdditionalPropertiesClass.java
40+
src/gen/java/org/openapitools/model/Model200Response.java
41+
src/gen/java/org/openapitools/model/ModelApiResponse.java
42+
src/gen/java/org/openapitools/model/ModelFile.java
43+
src/gen/java/org/openapitools/model/ModelList.java
44+
src/gen/java/org/openapitools/model/ModelReturn.java
45+
src/gen/java/org/openapitools/model/Name.java
46+
src/gen/java/org/openapitools/model/NullableClass.java
47+
src/gen/java/org/openapitools/model/NumberOnly.java
48+
src/gen/java/org/openapitools/model/ObjectWithDeprecatedFields.java
49+
src/gen/java/org/openapitools/model/Order.java
50+
src/gen/java/org/openapitools/model/OuterComposite.java
51+
src/gen/java/org/openapitools/model/OuterEnum.java
52+
src/gen/java/org/openapitools/model/OuterEnumDefaultValue.java
53+
src/gen/java/org/openapitools/model/OuterEnumInteger.java
54+
src/gen/java/org/openapitools/model/OuterEnumIntegerDefaultValue.java
55+
src/gen/java/org/openapitools/model/OuterObjectWithEnumProperty.java
56+
src/gen/java/org/openapitools/model/ParentWithNullable.java
57+
src/gen/java/org/openapitools/model/Pet.java
58+
src/gen/java/org/openapitools/model/ReadOnlyFirst.java
59+
src/gen/java/org/openapitools/model/SingleRefType.java
60+
src/gen/java/org/openapitools/model/SpecialModelName.java
61+
src/gen/java/org/openapitools/model/StringEnum.java
62+
src/gen/java/org/openapitools/model/Tag.java
63+
src/gen/java/org/openapitools/model/TestInlineFreeformAdditionalPropertiesRequest.java
64+
src/gen/java/org/openapitools/model/User.java
65+
src/main/openapi/openapi.yaml
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.17.0-SNAPSHOT
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# JAX-RS server with OpenAPI
2+
3+
## Overview
4+
This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using an
5+
[OpenAPI-Spec](https://openapis.org), you can easily generate a server stub.
6+
7+
This is an example of building a OpenAPI-enabled JAX-RS server.
8+
This example uses the [JAX-RS](https://jax-rs-spec.java.net/) framework.
9+
10+
11+
The JAX-RS implementation needs to be provided by the application server you are deploying on.
12+
13+
To run the server from the command line, you can use maven to provision and start a TomEE Server.
14+
Please execute the following:
15+
16+
```
17+
mvn -Dtomee-embedded-plugin.http=80 package org.apache.tomee.maven:tomee-embedded-maven-plugin:7.0.5:run
18+
```
19+
20+
You can then call your server endpoints under:
21+
22+
```
23+
http://localhost:80/v2/
24+
```
25+
26+
Note that if you have configured the `host` to be something other than localhost, the calls through
27+
swagger-ui will be directed to that host and not localhost!
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2+
<modelVersion>4.0.0</modelVersion>
3+
<groupId>org.openapitools</groupId>
4+
<artifactId>jaxrs-spec-withxml-petstore-server</artifactId>
5+
<packaging>war</packaging>
6+
<name>jaxrs-spec-withxml-petstore-server</name>
7+
<version>1.0.0</version>
8+
9+
10+
<build>
11+
<sourceDirectory>src/main/java</sourceDirectory>
12+
<plugins>
13+
<plugin>
14+
<groupId>org.codehaus.mojo</groupId>
15+
<artifactId>build-helper-maven-plugin</artifactId>
16+
<version>1.9.1</version>
17+
<executions>
18+
<execution>
19+
<id>add-source</id>
20+
<phase>generate-sources</phase>
21+
<goals>
22+
<goal>add-source</goal>
23+
</goals>
24+
<configuration>
25+
<sources>
26+
<source>src/gen/java</source>
27+
</sources>
28+
</configuration>
29+
</execution>
30+
</executions>
31+
</plugin>
32+
<plugin>
33+
<groupId>org.apache.maven.plugins</groupId>
34+
<artifactId>maven-war-plugin</artifactId>
35+
<version>3.1.0</version>
36+
<configuration>
37+
<failOnMissingWebXml>false</failOnMissingWebXml>
38+
</configuration>
39+
</plugin>
40+
<plugin>
41+
<artifactId>maven-failsafe-plugin</artifactId>
42+
<version>2.6</version>
43+
<executions>
44+
<execution>
45+
<goals>
46+
<goal>integration-test</goal>
47+
<goal>verify</goal>
48+
</goals>
49+
</execution>
50+
</executions>
51+
</plugin>
52+
</plugins>
53+
</build>
54+
<dependencies>
55+
<dependency>
56+
<groupId>jakarta.ws.rs</groupId>
57+
<artifactId>jakarta.ws.rs-api</artifactId>
58+
<version>${jakarta.ws.rs-version}</version>
59+
<scope>provided</scope>
60+
</dependency>
61+
<dependency>
62+
<groupId>com.fasterxml.jackson.datatype</groupId>
63+
<artifactId>jackson-datatype-jsr310</artifactId>
64+
<version>${jackson-version}</version>
65+
</dependency>
66+
<dependency>
67+
<groupId>com.fasterxml.jackson.jaxrs</groupId>
68+
<artifactId>jackson-jaxrs-json-provider</artifactId>
69+
<version>${jackson-version}</version>
70+
</dependency>
71+
<dependency>
72+
<groupId>joda-time</groupId>
73+
<artifactId>joda-time</artifactId>
74+
<version>${joda-version}</version>
75+
</dependency>
76+
<dependency>
77+
<groupId>javax.annotation</groupId>
78+
<artifactId>javax.annotation-api</artifactId>
79+
<version>${javax.annotation-api-version}</version>
80+
</dependency>
81+
<dependency>
82+
<groupId>io.swagger</groupId>
83+
<artifactId>swagger-annotations</artifactId>
84+
<scope>provided</scope>
85+
<version>1.5.3</version>
86+
</dependency>
87+
<!-- @Nullable annotation -->
88+
<dependency>
89+
<groupId>com.google.code.findbugs</groupId>
90+
<artifactId>jsr305</artifactId>
91+
<version>3.0.2</version>
92+
</dependency>
93+
<dependency>
94+
<groupId>junit</groupId>
95+
<artifactId>junit</artifactId>
96+
<version>${junit-version}</version>
97+
<scope>test</scope>
98+
</dependency>
99+
<dependency>
100+
<groupId>org.testng</groupId>
101+
<artifactId>testng</artifactId>
102+
<version>6.8.8</version>
103+
<scope>test</scope>
104+
<exclusions>
105+
<exclusion>
106+
<artifactId>junit</artifactId>
107+
<groupId>junit</groupId>
108+
</exclusion>
109+
<exclusion>
110+
<artifactId>snakeyaml</artifactId>
111+
<groupId>org.yaml</groupId>
112+
</exclusion>
113+
<exclusion>
114+
<artifactId>bsh</artifactId>
115+
<groupId>org.beanshell</groupId>
116+
</exclusion>
117+
</exclusions>
118+
</dependency>
119+
<!-- Bean Validation API support -->
120+
<dependency>
121+
<groupId>jakarta.validation</groupId>
122+
<artifactId>jakarta.validation-api</artifactId>
123+
<version>${beanvalidation-version}</version>
124+
<scope>provided</scope>
125+
</dependency>
126+
<dependency>
127+
<groupId>org.openapitools</groupId>
128+
<artifactId>jackson-databind-nullable</artifactId>
129+
<version>${jackson-databind-nullable-version}</version>
130+
</dependency>
131+
</dependencies>
132+
<properties>
133+
<java.version>1.8</java.version>
134+
<maven.compiler.source>${java.version}</maven.compiler.source>
135+
<maven.compiler.target>${java.version}</maven.compiler.target>
136+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
137+
<jackson-version>2.19.2</jackson-version>
138+
<junit-version>4.13.2</junit-version>
139+
<joda-version>2.10.13</joda-version>
140+
<javax.annotation-api-version>1.3.2</javax.annotation-api-version>
141+
<beanvalidation-version>2.0.2</beanvalidation-version>
142+
<jakarta.ws.rs-version>2.1.6</jakarta.ws.rs-version>
143+
<jackson-databind-nullable-version>0.2.7</jackson-databind-nullable-version>
144+
</properties>
145+
</project>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.openapitools.api;
2+
3+
import org.openapitools.model.Client;
4+
5+
import javax.ws.rs.*;
6+
import javax.ws.rs.core.Response;
7+
8+
import io.swagger.annotations.*;
9+
10+
import java.io.InputStream;
11+
import java.util.Map;
12+
import java.util.List;
13+
import javax.validation.constraints.*;
14+
import javax.validation.Valid;
15+
16+
/**
17+
* Represents a collection of functions to interact with the API endpoints.
18+
*/
19+
@Path("/another-fake/dummy")
20+
@Api(description = "the another-fake API")
21+
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", comments = "Generator version: 7.17.0-SNAPSHOT")
22+
public class AnotherFakeApi {
23+
24+
@PATCH
25+
@Consumes({ "application/json" })
26+
@Produces({ "application/json" })
27+
@ApiOperation(value = "To test special tags", notes = "To test special tags and operation ID starting with number", response = Client.class, tags={ "$another-fake?" })
28+
@ApiResponses(value = {
29+
@ApiResponse(code = 200, message = "successful operation", response = Client.class)
30+
})
31+
public Response call123testSpecialTags(@Valid @NotNull Client client) {
32+
return Response.ok().entity("magic!").build();
33+
}
34+
}

0 commit comments

Comments
 (0)