-
Notifications
You must be signed in to change notification settings - Fork 6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Spring Petstore samples (async, java8-localdatetime) to CircleCI (#…
…7468) * add ci for spring mvc: async, localdatetime * update artifactId for new spring samples
- Loading branch information
Showing
61 changed files
with
6,059 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"library": "spring-mvc", | ||
"dateLibrary": "java8-localdatetime", | ||
"artifactId": "swagger-spring-mvc-j8-localdatetime" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/sh | ||
|
||
SCRIPT="$0" | ||
|
||
while [ -h "$SCRIPT" ] ; do | ||
ls=`ls -ld "$SCRIPT"` | ||
link=`expr "$ls" : '.*-> \(.*\)$'` | ||
if expr "$link" : '/.*' > /dev/null; then | ||
SCRIPT="$link" | ||
else | ||
SCRIPT=`dirname "$SCRIPT"`/"$link" | ||
fi | ||
done | ||
|
||
if [ ! -d "${APP_DIR}" ]; then | ||
APP_DIR=`dirname "$SCRIPT"`/.. | ||
APP_DIR=`cd "${APP_DIR}"; pwd` | ||
fi | ||
|
||
executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar" | ||
|
||
if [ ! -f "$executable" ] | ||
then | ||
mvn clean package | ||
fi | ||
|
||
# if you've executed sbt assembly previously it will use that instead. | ||
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" | ||
ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaSpring -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l spring -c bin/spring-mvc-petstore-j8-localdatetime.json -o samples/server/petstore/spring-mvc-j8-localdatetime -DhideGenerationTimestamp=true" | ||
|
||
java $JAVA_OPTS -jar $executable $ags |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
samples/server/petstore/spring-mvc-j8-localdatetime/.swagger-codegen-ignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Swagger Codegen Ignore | ||
# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen | ||
|
||
# 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 Swagger Codgen 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 |
1 change: 1 addition & 0 deletions
1
samples/server/petstore/spring-mvc-j8-localdatetime/.swagger-codegen/VERSION
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
2.4.0-SNAPSHOT |
12 changes: 12 additions & 0 deletions
12
samples/server/petstore/spring-mvc-j8-localdatetime/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Swagger generated server | ||
|
||
Spring MVC Server | ||
|
||
|
||
## Overview | ||
This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate a server stub. This is an example of building a swagger-enabled server in Java using the Spring MVC framework. | ||
|
||
The underlying library integrating swagger to Spring-MVC is [springfox](https://github.com/springfox/springfox) | ||
|
||
You can view the server in swagger-ui by pointing to | ||
http://localhost:8002/v2/swagger-ui.html |
147 changes: 147 additions & 0 deletions
147
samples/server/petstore/spring-mvc-j8-localdatetime/pom.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
<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"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>io.swagger</groupId> | ||
<artifactId>swagger-spring-mvc-j8-localdatetime</artifactId> | ||
<packaging>jar</packaging> | ||
<name>swagger-spring-mvc-j8-localdatetime</name> | ||
<version>1.0.0</version> | ||
<build> | ||
<sourceDirectory>src/main/java</sourceDirectory> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-war-plugin</artifactId> | ||
<version>3.1.0</version> | ||
</plugin> | ||
<plugin> | ||
<artifactId>maven-failsafe-plugin</artifactId> | ||
<version>2.6</version> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>integration-test</goal> | ||
<goal>verify</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.eclipse.jetty</groupId> | ||
<artifactId>jetty-maven-plugin</artifactId> | ||
<version>${jetty-version}</version> | ||
<configuration> | ||
<webAppConfig> | ||
<contextPath>/v2</contextPath> | ||
</webAppConfig> | ||
<webAppSourceDirectory>target/${project.artifactId}-${project.version}</webAppSourceDirectory> | ||
<stopPort>8079</stopPort> | ||
<stopKey>stopit</stopKey> | ||
<httpConnector> | ||
<port>8002</port> | ||
<idleTimeout>60000</idleTimeout> | ||
</httpConnector> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<id>start-jetty</id> | ||
<phase>pre-integration-test</phase> | ||
<goals> | ||
<goal>start</goal> | ||
</goals> | ||
<configuration> | ||
<scanIntervalSeconds>0</scanIntervalSeconds> | ||
<daemon>true</daemon> | ||
</configuration> | ||
</execution> | ||
<execution> | ||
<id>stop-jetty</id> | ||
<phase>post-integration-test</phase> | ||
<goals> | ||
<goal>stop</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-log4j12</artifactId> | ||
<version>${slf4j-version}</version> | ||
</dependency> | ||
|
||
<!--Spring dependencies --> | ||
<dependency> | ||
<groupId>org.springframework</groupId> | ||
<artifactId>spring-core</artifactId> | ||
<version>${spring-version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework</groupId> | ||
<artifactId>spring-webmvc</artifactId> | ||
<version>${spring-version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework</groupId> | ||
<artifactId>spring-web</artifactId> | ||
<version>${spring-version}</version> | ||
</dependency> | ||
|
||
<!--SpringFox dependencies--> | ||
<dependency> | ||
<groupId>io.springfox</groupId> | ||
<artifactId>springfox-swagger2</artifactId> | ||
<version>${springfox-version}</version> | ||
<exclusions> | ||
<exclusion> | ||
<groupId>com.fasterxml.jackson.core</groupId> | ||
<artifactId>jackson-annotations</artifactId> | ||
</exclusion> | ||
</exclusions> | ||
</dependency> | ||
<dependency> | ||
<groupId>io.springfox</groupId> | ||
<artifactId>springfox-swagger-ui</artifactId> | ||
<version>${springfox-version}</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>com.fasterxml.jackson.datatype</groupId> | ||
<artifactId>jackson-datatype-jsr310</artifactId> | ||
<version>${jackson-version}</version> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>junit</groupId> | ||
<artifactId>junit</artifactId> | ||
<version>${junit-version}</version> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.servlet</groupId> | ||
<artifactId>servlet-api</artifactId> | ||
<version>${servlet-api-version}</version> | ||
</dependency> | ||
<!-- Bean Validation API support --> | ||
<dependency> | ||
<groupId>javax.validation</groupId> | ||
<artifactId>validation-api</artifactId> | ||
<version>1.1.0.Final</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
</dependencies> | ||
<properties> | ||
<java.version>1.8</java.version> | ||
<maven.compiler.source>${java.version}</maven.compiler.source> | ||
<maven.compiler.target>${java.version}</maven.compiler.target> | ||
<jetty-version>9.2.15.v20160210</jetty-version> | ||
<slf4j-version>1.7.21</slf4j-version> | ||
<junit-version>4.12</junit-version> | ||
<servlet-api-version>2.5</servlet-api-version> | ||
<springfox-version>2.7.0</springfox-version> | ||
<jackson-version>2.8.9</jackson-version> | ||
<jackson-threetenbp-version>2.6.4</jackson-threetenbp-version> | ||
<spring-version>4.3.9.RELEASE</spring-version> | ||
</properties> | ||
</project> |
72 changes: 72 additions & 0 deletions
72
...ver/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/AnotherFakeApi.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
/** | ||
* NOTE: This class is auto generated by the swagger code generator program (2.4.0-SNAPSHOT). | ||
* https://github.com/swagger-api/swagger-codegen | ||
* Do not edit the class manually. | ||
*/ | ||
package io.swagger.api; | ||
|
||
import io.swagger.model.Client; | ||
import com.fasterxml.jackson.databind.ObjectMapper; | ||
import io.swagger.annotations.*; | ||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
import org.springframework.http.HttpStatus; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.validation.annotation.Validated; | ||
import org.springframework.web.bind.annotation.PathVariable; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestHeader; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RequestMethod; | ||
import org.springframework.web.bind.annotation.RequestParam; | ||
import org.springframework.web.bind.annotation.RequestPart; | ||
import org.springframework.web.multipart.MultipartFile; | ||
|
||
import javax.servlet.http.HttpServletRequest; | ||
import javax.validation.Valid; | ||
import javax.validation.constraints.*; | ||
import java.io.IOException; | ||
import java.util.List; | ||
import java.util.Optional; | ||
|
||
@Api(value = "another-fake", description = "the another-fake API") | ||
public interface AnotherFakeApi { | ||
|
||
Logger log = LoggerFactory.getLogger(AnotherFakeApi.class); | ||
|
||
default Optional<ObjectMapper> getObjectMapper() { | ||
return Optional.empty(); | ||
} | ||
|
||
default Optional<HttpServletRequest> getRequest() { | ||
return Optional.empty(); | ||
} | ||
|
||
default Optional<String> getAcceptHeader() { | ||
return getRequest().map(r -> r.getHeader("Accept")); | ||
} | ||
|
||
@ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) | ||
@ApiResponses(value = { | ||
@ApiResponse(code = 200, message = "successful operation", response = Client.class) }) | ||
@RequestMapping(value = "/another-fake/dummy", | ||
produces = { "application/json" }, | ||
consumes = { "application/json" }, | ||
method = RequestMethod.PATCH) | ||
default ResponseEntity<Client> testSpecialTags(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { | ||
if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { | ||
if (getAcceptHeader().get().contains("application/json")) { | ||
try { | ||
return new ResponseEntity<>(getObjectMapper().get().readValue("{ \"client\" : \"client\"}", Client.class), HttpStatus.NOT_IMPLEMENTED); | ||
} catch (IOException e) { | ||
log.error("Couldn't serialize response for content type application/json", e); | ||
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); | ||
} | ||
} | ||
} else { | ||
log.warn("ObjectMapper or HttpServletRequest not configured in default AnotherFakeApi interface so no example is generated"); | ||
} | ||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); | ||
} | ||
|
||
} |
31 changes: 31 additions & 0 deletions
31
...re/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/AnotherFakeApiController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package io.swagger.api; | ||
|
||
import com.fasterxml.jackson.databind.ObjectMapper; | ||
import org.springframework.stereotype.Controller; | ||
import javax.servlet.http.HttpServletRequest; | ||
import java.util.Optional; | ||
|
||
@Controller | ||
public class AnotherFakeApiController implements AnotherFakeApi { | ||
|
||
private final ObjectMapper objectMapper; | ||
|
||
private final HttpServletRequest request; | ||
|
||
@org.springframework.beans.factory.annotation.Autowired | ||
public AnotherFakeApiController(ObjectMapper objectMapper, HttpServletRequest request) { | ||
this.objectMapper = objectMapper; | ||
this.request = request; | ||
} | ||
|
||
@Override | ||
public Optional<ObjectMapper> getObjectMapper() { | ||
return Optional.ofNullable(objectMapper); | ||
} | ||
|
||
@Override | ||
public Optional<HttpServletRequest> getRequest() { | ||
return Optional.ofNullable(request); | ||
} | ||
|
||
} |
10 changes: 10 additions & 0 deletions
10
...erver/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/ApiException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package io.swagger.api; | ||
|
||
|
||
public class ApiException extends Exception{ | ||
private int code; | ||
public ApiException (int code, String msg) { | ||
super(msg); | ||
this.code = code; | ||
} | ||
} |
27 changes: 27 additions & 0 deletions
27
...er/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/ApiOriginFilter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package io.swagger.api; | ||
|
||
import java.io.IOException; | ||
|
||
import javax.servlet.*; | ||
import javax.servlet.http.HttpServletResponse; | ||
|
||
|
||
public class ApiOriginFilter implements javax.servlet.Filter { | ||
@Override | ||
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); | ||
} | ||
|
||
@Override | ||
public void destroy() { | ||
} | ||
|
||
@Override | ||
public void init(FilterConfig filterConfig) throws ServletException { | ||
} | ||
} |
Oops, something went wrong.