From 92f9b33eb6c1cf7af246f1449c2b9c1372c21bad Mon Sep 17 00:00:00 2001 From: Paul Ebermann Date: Mon, 31 Aug 2015 15:14:54 +0200 Subject: [PATCH] Issue #1142: sanitize api name before camelizing. This builds on #1139 in order to solve another part of #1142: When the first component of a path contained a dash, the generated class name contained this dash too (for the "language" spring-mvc). --- .../io/swagger/codegen/languages/JaxRSServerCodegen.java | 2 +- .../codegen/languages/SpringMVCServerCodegen.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java index 3966cb9bea7..eb0f6be03e9 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java @@ -163,7 +163,7 @@ public class JaxRSServerCodegen extends JavaClientCodegen implements CodegenConf if (name.length() == 0) { return "DefaultApi"; } - name = name.replaceAll("[^a-zA-Z0-9]+", "_"); + name = sanitizeName(name); return camelize(name) + "Api"; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java index 597fd1f1936..863a1aef2e7 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java @@ -175,6 +175,15 @@ public class SpringMVCServerCodegen extends JavaClientCodegen implements Codegen return objs; } + @Override + public String toApiName(String name) { + if (name.length() == 0) { + return "DefaultApi"; + } + name = sanitizeName(name); + return camelize(name) + "Api"; + } + public void setConfigPackage(String configPackage) { this.configPackage = configPackage; }