From 7bde2ffd6edb98d7b4f867d0452b1f55137f4367 Mon Sep 17 00:00:00 2001 From: Mark Crowther Date: Thu, 3 Oct 2013 15:59:40 +0100 Subject: [PATCH] Fix Java Generator to always generate valid Java variable names --- src/main/resources/Java/api.mustache | 6 +++--- .../com/wordnik/swagger/codegen/BasicJavaGenerator.scala | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/resources/Java/api.mustache b/src/main/resources/Java/api.mustache index 2d647d5c5d2..de2248f8930 100644 --- a/src/main/resources/Java/api.mustache +++ b/src/main/resources/Java/api.mustache @@ -41,10 +41,10 @@ public class {{classname}} { {{/requiredParamCount}} {{#queryParams}}if(!"null".equals(String.valueOf({{paramName}}))) - queryParams.put("{{paramName}}", String.valueOf({{paramName}})); + queryParams.put("{{baseName}}", String.valueOf({{paramName}})); {{/queryParams}} - {{#headerParams}}headerParams.put("{{paramName}}", {{paramName}}); + {{#headerParams}}headerParams.put("{{baseName}}", {{paramName}}); {{/headerParams}} String contentType = "application/json"; @@ -68,4 +68,4 @@ public class {{classname}} { } {{/operation}} } -{{/operations}} \ No newline at end of file +{{/operations}} diff --git a/src/main/scala/com/wordnik/swagger/codegen/BasicJavaGenerator.scala b/src/main/scala/com/wordnik/swagger/codegen/BasicJavaGenerator.scala index b11ce15b58d..f624d6781a8 100644 --- a/src/main/scala/com/wordnik/swagger/codegen/BasicJavaGenerator.scala +++ b/src/main/scala/com/wordnik/swagger/codegen/BasicJavaGenerator.scala @@ -93,6 +93,11 @@ class BasicJavaGenerator extends BasicGenerator { // file suffix override def fileSuffix = ".java" + override def toVarName(name: String): String = { + val paramName = name.replaceAll("[^a-zA-Z0-9_]","") + super.toVarName(paramName) + } + // response classes override def processResponseClass(responseClass: String): Option[String] = { responseClass match { @@ -209,4 +214,4 @@ class BasicJavaGenerator extends BasicGenerator { ("JsonUtil.mustache", destinationDir + java.io.File.separator + invokerPackage.get.replace(".", java.io.File.separator) + java.io.File.separator, "JsonUtil.java"), ("apiException.mustache", destinationDir + java.io.File.separator + invokerPackage.get.replace(".", java.io.File.separator) + java.io.File.separator, "ApiException.java"), ("pom.mustache", "generated-code/java", "pom.xml")) -} \ No newline at end of file +}