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/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..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 @@ -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()); + }); +}); 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/resources/python/swagger.mustache b/src/main/resources/python/swagger.mustache index 11b817953ec..e62f854c7bf 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 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) 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 +} diff --git a/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala b/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala index b76455ec5b6..43b9eee76f2 100644 --- a/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala +++ b/src/main/scala/com/wordnik/swagger/codegen/Codegen.scala @@ -209,6 +209,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 => { @@ -256,8 +257,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 } @@ -353,6 +355,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, 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)) } }