From 4f715342a131db87c80b8d005430aa0cd837d405 Mon Sep 17 00:00:00 2001 From: frinux Date: Thu, 7 Jan 2016 10:14:02 +0100 Subject: [PATCH 1/3] projectName support to fill package.json template Inspired by ClojureClientCodegen.java, it is interesting to use projectName from info.title swagger spec to fill up package.json name attribute --- .../swagger/codegen/languages/NodeJSServerCodegen.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java index d4bb00bb652..65da63b5ada 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java @@ -259,6 +259,16 @@ public void preprocessSwagger(Swagger swagger) { } } this.additionalProperties.put("serverPort", port); + + if (swagger.getInfo() != null) { + Info info = swagger.getInfo(); + if (projectName == null && info.getTitle() != null) { + // when projectName is not specified, generate it from info.title + //used in package.json + projectName = dashize(info.getTitle()); + this.additionalProperties.put("projectName", projectName); + } + } } @Override From 6064f32ba566347421eca1816aef0f3907490e54 Mon Sep 17 00:00:00 2001 From: frinux Date: Thu, 7 Jan 2016 10:19:35 +0100 Subject: [PATCH 2/3] Compilation error fixed io.swagger.models.Info dependency added --- .../java/io/swagger/codegen/languages/NodeJSServerCodegen.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java index 65da63b5ada..142e17c3c3f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java @@ -11,6 +11,7 @@ import io.swagger.codegen.*; import io.swagger.models.Swagger; +import io.swagger.models.Info; import io.swagger.util.Yaml; import java.io.File; From 15676ff72e7fa09a1ce74ac52ab45785651f0786 Mon Sep 17 00:00:00 2001 From: frinux Date: Thu, 7 Jan 2016 10:26:10 +0100 Subject: [PATCH 3/3] Update NodeJSServerCodegen.java projectName was already defined so never overriden. --- .../io/swagger/codegen/languages/NodeJSServerCodegen.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java index 142e17c3c3f..a468b0b98a8 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/NodeJSServerCodegen.java @@ -263,9 +263,9 @@ public void preprocessSwagger(Swagger swagger) { if (swagger.getInfo() != null) { Info info = swagger.getInfo(); - if (projectName == null && info.getTitle() != null) { - // when projectName is not specified, generate it from info.title - //used in package.json + if (info.getTitle() != null) { + // when info.title is defined, use it for projectName + // used in package.json projectName = dashize(info.getTitle()); this.additionalProperties.put("projectName", projectName); }