Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 28 additions & 10 deletions modules/swagger-codegen-distribution/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
<parent>
<groupId>com.wordnik</groupId>
<artifactId>swagger-codegen-project</artifactId>
<version>2.1.0-M1</version>
<version>2.1.1-M1</version>
<relativePath>../..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.wordnik</groupId>
<artifactId>swagger-codegen-distribution</artifactId>
<packaging>jar</packaging>
<name>swagger-codegen (executable)</name>
<version>2.1.0-M1</version>
<version>2.1.1-M1</version>
<build>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<outputDirectory>target/classes</outputDirectory>
Expand All @@ -19,6 +19,17 @@
<directory>target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.wordnik.swagger.codegen.Codegen</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
Expand All @@ -41,14 +52,21 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.wordnik.swagger.codegen.Codegen</mainClass>
</manifest>
</archive>
</configuration>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Expand Down
4 changes: 2 additions & 2 deletions modules/swagger-codegen/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
<parent>
<groupId>com.wordnik</groupId>
<artifactId>swagger-codegen-project</artifactId>
<version>2.1.0-M1</version>
<version>2.1.1-M1</version>
<relativePath>../..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.wordnik</groupId>
<artifactId>swagger-codegen</artifactId>
<packaging>jar</packaging>
<name>swagger-codegen (core library)</name>
<version>2.1.0-M1</version>
<version>2.1.1-M1</version>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<defaultGoal>install</defaultGoal>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@ public String escapeReservedWord(String name) {

@Override
public String apiFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replace('.', File.separatorChar);
}

public String modelFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ public String escapeReservedWord(String name) {

@Override
public String apiFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replace('.', File.separatorChar);
}

public String modelFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ public String escapeReservedWord(String name) {

@Override
public String apiFileFolder() {
return outputFolder + "/" + apiPackage().replaceAll("\\.", "/");
return outputFolder + "/" + apiPackage().replace('.', File.separatorChar);
}

public String modelFileFolder() {
return outputFolder + "/" + modelPackage().replaceAll("\\.", "/");
return outputFolder + "/" + modelPackage().replace('.', File.separatorChar);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public PythonClientCodegen() {
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
supportingFiles.add(new SupportingFile("swagger.mustache", module, "swagger.py"));
supportingFiles.add(new SupportingFile("__init__.mustache", module, "__init__.py"));
supportingFiles.add(new SupportingFile("__init__.mustache", modelPackage.replaceAll("\\.", File.separator), "__init__.py"));
supportingFiles.add(new SupportingFile("__init__.mustache", modelPackage.replace('.', File.separatorChar), "__init__.py"));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,11 @@ public String escapeReservedWord(String name) {

@Override
public String apiFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replace('.', File.separatorChar);
}

public String modelFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,11 @@ public String escapeReservedWord(String name) {

@Override
public String apiFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + apiPackage().replace('.', File.separatorChar);
}

public String modelFileFolder() {
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replaceAll("\\.", "/");
return outputFolder + "/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,11 @@ public class ApiInvoker {
}

public static Object deserialize(String json, String containerType, Class cls) throws ApiException {
if(null != containerType) {
containerType = containerType.toLowerCase();
}
try{
if("List".equals(containerType)) {
if("list".equals(containerType) || "array".equals(containerType)) {
JavaType typeInfo = JsonUtil.getJsonMapper().getTypeFactory().constructCollectionType(List.class, cls);
List response = (List<?>) JsonUtil.getJsonMapper().readValue(json, typeInfo);
return response;
Expand Down
11 changes: 9 additions & 2 deletions modules/swagger-generator/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.wordnik</groupId>
<artifactId>swagger-codegen-project</artifactId>
<version>2.1.0-M1</version>
<version>2.1.1-M1</version>
<relativePath>../..</relativePath>
</parent>
<groupId>com.wordnik</groupId>
Expand Down Expand Up @@ -200,10 +200,18 @@
<artifactId>jetty-deploy</artifactId>
<version>${jetty-version}</version>
</dependency>

<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.11</artifactId>
<version>${scala-test-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
Expand All @@ -228,6 +236,5 @@

<scala-maven-plugin-version>3.1.5</scala-maven-plugin-version>
<scala-version>2.10.0</scala-version>
<scala-test-version>1.9</scala-test-version>
</properties>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,13 @@ public void init(ServletConfig config) throws ServletException {
bc.setBasePath("/api");
bc.setTitle("Swagger Generator");
bc.setDescription("This is an online swagger codegen server. You can find out more " +
"at <a href=\"https://github.com/wordnik/swagger-generator\">https://github.com/wordnik/swagger-generator</a> or on irc.freenode.net, #swagger." +
"at <a href=\"https://github.com/wordnik/swagger-generator\">https://github.com/swagger-api/swagger-codegen</a> or on irc.freenode.net, #swagger." +
"http://helloreverb.com/terms/");
bc.setTermsOfServiceUrl("http://helloreverb.com/terms/");
bc.setContact("apiteam@swagger.io");
bc.setLicense("Apache 2.0");
bc.setVersion("1.0.0");
bc.setHost("generator.swagger.io");
bc.setLicenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html");
bc.setResourcePackage("com.wordnik.swagger.generator.resource");
bc.setScan(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,25 @@

public class ResponseCode {
private String code;
private String link;
public ResponseCode() {}

public ResponseCode(String code, String link) {
setCode(code);
setLink(link);
}

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public ResponseCode() {}

public ResponseCode(String code) {
setCode(code);
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,33 @@

import com.fasterxml.jackson.databind.JsonNode;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.util.List;
import java.util.ArrayList;

public class Generator {
static Logger LOGGER = LoggerFactory.getLogger(Generator.class);

public static String generateClient(String language, GeneratorInput opts) throws ApiException {
Swagger swagger;
LOGGER.debug("generate client for " + language);
if(opts == null) {
throw new BadRequestException(400, "No options were supplied");
}
JsonNode node = opts.getSpec();
if(node == null) {
throw new BadRequestException(400, "No swagger specification was supplied");
if(opts.getSwaggerUrl() != null) {
swagger = new SwaggerParser().read(opts.getSwaggerUrl());
}
else
throw new BadRequestException(400, "No swagger specification was supplied");
}
else {
swagger = new SwaggerParser().read(node);
}
Swagger swagger = new SwaggerParser().read(node);
if(swagger == null) {
throw new BadRequestException(400, "The swagger specification supplied was not valid");
}
Expand Down Expand Up @@ -67,8 +80,56 @@ public static String generateClient(String language, GeneratorInput opts) throws
return outputFilename;
}

public static String generateServer(String language, GeneratorInput opts) {
return "";
public static String generateServer(String language, GeneratorInput opts) throws ApiException {
LOGGER.debug("generate server for " + language);
if(opts == null) {
throw new BadRequestException(400, "No options were supplied");
}
JsonNode node = opts.getSpec();
if(node == null) {
throw new BadRequestException(400, "No swagger specification was supplied");
}
Swagger swagger = new SwaggerParser().read(node);
if(swagger == null) {
throw new BadRequestException(400, "The swagger specification supplied was not valid");
}

ClientOptInput clientOptInput = new ClientOptInput();
ClientOpts clientOpts = new ClientOpts();
String outputFolder = getTmpFolder().getAbsolutePath() + File.separator + language + "-server";
String outputFilename = outputFolder + "-bundle.zip";

clientOptInput
.opts(clientOpts)
.swagger(swagger);

CodegenConfig codegenConfig = Codegen.getConfig(language);
if(codegenConfig == null) {
throw new BadRequestException(400, "Unsupported target " + language + " supplied");
}

codegenConfig.setOutputDir(outputFolder);

Json.prettyPrint(clientOpts);

clientOptInput.setConfig(codegenConfig);

try{
List<File> files = new Codegen().opts(clientOptInput).generate();
if(files.size() > 0) {
List<File> filesToAdd = new ArrayList<File>();
filesToAdd.add(new File(outputFolder));
ZipUtil zip = new ZipUtil();
zip.compressFiles(filesToAdd, outputFilename);
}
else {
throw new BadRequestException(400, "A target generation was attempted, but no files were created!");
}
}
catch (Exception e) {
throw new BadRequestException(500, "Unable to build target: " + e.getMessage());
}
return outputFilename;
}

public static InputOption clientOptions(String language) {
Expand Down
Loading