From 4d05b5d81f07cde411c4426a0584c63f28e7db24 Mon Sep 17 00:00:00 2001 From: George Sibble Date: Tue, 16 Jul 2013 14:20:49 -0700 Subject: [PATCH 1/7] Only check in lists and dictionaries The "in" operator also works on strings which can cause problems with this line if the attribute and the object are named the same thing. Signed-off-by: George Sibble --- src/main/resources/python/swagger.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/python/swagger.mustache b/src/main/resources/python/swagger.mustache index c635d85b90d..b5761bbfb56 100644 --- a/src/main/resources/python/swagger.mustache +++ b/src/main/resources/python/swagger.mustache @@ -159,7 +159,7 @@ class ApiClient: instance = objClass() for attr, attrType in instance.swaggerTypes.iteritems(): - if attr in obj: + if attr in obj and type(obj) in [list, dict]: value = obj[attr] if attrType in ['str', 'int', 'long', 'float', 'bool']: attrType = eval(attrType) From 0628c63b15a44b430992834756df76b8bc547a23 Mon Sep 17 00:00:00 2001 From: George Sibble Date: Tue, 16 Jul 2013 14:32:17 -0700 Subject: [PATCH 2/7] Check for None Type Signed-off-by: George Sibble --- src/main/resources/python/swagger.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/python/swagger.mustache b/src/main/resources/python/swagger.mustache index b5761bbfb56..6cec36e4fed 100644 --- a/src/main/resources/python/swagger.mustache +++ b/src/main/resources/python/swagger.mustache @@ -159,7 +159,7 @@ class ApiClient: instance = objClass() for attr, attrType in instance.swaggerTypes.iteritems(): - if attr in obj and type(obj) in [list, dict]: + if obj is not None and attr in obj and type(obj) in [list, dict]: value = obj[attr] if attrType in ['str', 'int', 'long', 'float', 'bool']: attrType = eval(attrType) From 329f2817c28e16f7cb4b25c65b7b6ff3af344232 Mon Sep 17 00:00:00 2001 From: Jason Sykes Date: Mon, 30 Sep 2013 17:50:36 -0400 Subject: [PATCH 3/7] Fix to scroll left side of sample docs --- .../src/main/webapp/assets/js/main.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js b/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js index d80666acad2..df6fc525f81 100644 --- a/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js +++ b/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js @@ -60,4 +60,16 @@ function goToAnchor() { window.scrollTo(0,$('a[name='+anchor+']').offset().top - 80); } } +function resize() +{ + $(".sidebar").css('height', $(window).height() -60); + $("#content-window").css('height', $(window).height() -60); +} +$(function(){ + window.onresize = resize; + resize(); + $(window).bind('hashchange', function() { + choose(window.location.href.toString()); + }).trigger('hashchange'); +}); From 13eb43513894665b6d02f6efc54358ec840fc04e Mon Sep 17 00:00:00 2001 From: Jason Sykes Date: Mon, 30 Sep 2013 17:56:39 -0400 Subject: [PATCH 4/7] removed trigger --- .../docs/swagger-static-docs/src/main/webapp/assets/js/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js b/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js index df6fc525f81..979af06e531 100644 --- a/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js +++ b/samples/docs/swagger-static-docs/src/main/webapp/assets/js/main.js @@ -71,5 +71,5 @@ $(function(){ resize(); $(window).bind('hashchange', function() { choose(window.location.href.toString()); - }).trigger('hashchange'); + }); }); From f17654cd9655c4cf3405230b04566f43e936b4c4 Mon Sep 17 00:00:00 2001 From: Ivan Porto Carrero Date: Tue, 1 Oct 2013 20:16:03 -0700 Subject: [PATCH 5/7] adds bodyParamRequired --- build.sbt | 2 +- src/main/scala/com/wordnik/swagger/codegen/Codegen.scala | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 172e5c891ad..8a808b74a77 100644 --- a/build.sbt +++ b/build.sbt @@ -7,7 +7,7 @@ name := "swagger-codegen" version := "2.0.10-SNAPSHOT" -scalaVersion := "2.9.1" +scalaVersion := "2.10.0" javacOptions ++= Seq("-target", "1.6", "-source", "1.6", "-Xlint:unchecked", "-Xlint:deprecation") diff --git a/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala b/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala index 096dd45819e..7f375e3ff2e 100644 --- a/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala +++ b/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala @@ -208,6 +208,7 @@ class Codegen(config: CodegenConfig) { val formParams = new ListBuffer[AnyRef] var paramList = new ListBuffer[HashMap[String, AnyRef]] var errorList = new ListBuffer[HashMap[String, AnyRef]] + var bodyParamRequired: Option[String] = Some("true") if (operation.responseMessages != null) { operation.responseMessages.foreach(param => { @@ -255,8 +256,9 @@ class Codegen(config: CodegenConfig) { params += "baseName" -> "body" param.required match { case true => params += "required" -> "true" - case _ => + case _ => bodyParamRequired = None } + bodyParam = Some("body") bodyParams += params.clone } @@ -352,6 +354,7 @@ class Codegen(config: CodegenConfig) { "notes" -> operation.notes, "deprecated" -> operation.`deprecated`, "bodyParam" -> bodyParam, + "bodyParamRequired" -> bodyParamRequired, "emptyBodyParam" -> (if (writeMethods contains operation.method.toUpperCase) "{}" else ""), "allParams" -> sp, "bodyParams" -> bodyParams.toList, From 7bde2ffd6edb98d7b4f867d0452b1f55137f4367 Mon Sep 17 00:00:00 2001 From: Mark Crowther Date: Thu, 3 Oct 2013 15:59:40 +0100 Subject: [PATCH 6/7] 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 +} From ee19dfadf1f549ffefbd3fb5b0dc6b28950de8e1 Mon Sep 17 00:00:00 2001 From: Gregg Carrier Date: Wed, 16 Oct 2013 22:11:15 -0400 Subject: [PATCH 7/7] more descriptive exception message than MatchError --- .../scala/com/wordnik/swagger/model/SwaggerModelSerializer.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/scala/com/wordnik/swagger/model/SwaggerModelSerializer.scala b/src/main/scala/com/wordnik/swagger/model/SwaggerModelSerializer.scala index d2aff8ee7b1..8b63333f07d 100644 --- a/src/main/scala/com/wordnik/swagger/model/SwaggerModelSerializer.scala +++ b/src/main/scala/com/wordnik/swagger/model/SwaggerModelSerializer.scala @@ -87,6 +87,7 @@ object SwaggerSerializers { new ResourceListingSerializer + new ApiListingSerializer } + case _ => throw new IllegalArgumentException("%s is not a valid Swagger version".format(version)) } }