From fe704eee1f61b8dd5b12640a8adb79d94abcf024 Mon Sep 17 00:00:00 2001 From: kolyjjj Date: Wed, 20 Apr 2016 18:32:14 +0800 Subject: [PATCH] include underscore when generating nodejs controller and service method --- .../java/io/swagger/codegen/DefaultCodegen.java | 13 ++++++++----- .../codegen/languages/NodeJSServerCodegen.java | 6 ++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index 92041101afc..2b1681f5f79 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -2319,18 +2319,21 @@ public class DefaultCodegen { */ @SuppressWarnings("static-method") public String removeNonNameElementToCamelCase(String name) { - String nonNameElementPattern = "[-_:;#]"; - name = StringUtils.join(Lists.transform(Lists.newArrayList(name.split(nonNameElementPattern)), new Function() { // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. + return removeNonNameElementToCamelCase(name, "[-_:;#]"); + } + + protected String removeNonNameElementToCamelCase(final String name, final String nonNameElementPattern) { + String result = StringUtils.join(Lists.transform(Lists.newArrayList(name.split(nonNameElementPattern)), new Function() { @Nullable @Override public String apply(String input) { return StringUtils.capitalize(input); } }), ""); - if (name.length() > 0) { - name = name.substring(0, 1).toLowerCase() + name.substring(1); + if (result.length() > 0) { + result = result.substring(0, 1).toLowerCase() + result.substring(1); } - return name; + return result; } /** 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 bf1cdcbb900..002496005e1 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 @@ -314,4 +314,10 @@ public class NodeJSServerCodegen extends DefaultCodegen implements CodegenConfig } return super.postProcessSupportingFileData(objs); } + + @Override + public String removeNonNameElementToCamelCase(String name) { + return removeNonNameElementToCamelCase(name, "[-:;#]"); + } + }