forked from loafle/openapi-generator-original
fix set generation in async client
This commit is contained in:
parent
7056081605
commit
4f95550977
@ -5,9 +5,9 @@ organization := "com.wordnik"
|
||||
|
||||
name := "swagger-codegen"
|
||||
|
||||
version := "2.0.9-WN11"
|
||||
version := "2.0.9-SNAPSHOT"
|
||||
|
||||
scalaVersion := "2.10.0"
|
||||
scalaVersion := "2.9.1"
|
||||
|
||||
javacOptions ++= Seq("-target", "1.6", "-source", "1.6", "-Xlint:unchecked", "-Xlint:deprecation")
|
||||
|
||||
|
@ -27,9 +27,13 @@ class BasicScalaGenerator extends BasicGenerator {
|
||||
"Int",
|
||||
"String",
|
||||
"Long",
|
||||
"Short",
|
||||
"Char",
|
||||
"Byte",
|
||||
"Float",
|
||||
"Double",
|
||||
"Boolean",
|
||||
"AnyRef",
|
||||
"Any")
|
||||
|
||||
override def typeMapping = Map(
|
||||
@ -37,11 +41,15 @@ class BasicScalaGenerator extends BasicGenerator {
|
||||
"boolean" -> "Boolean",
|
||||
"string" -> "String",
|
||||
"int" -> "Int",
|
||||
"long" -> "Long",
|
||||
"float" -> "Float",
|
||||
"byte" -> "Byte",
|
||||
"short" -> "Short",
|
||||
"char" -> "Char",
|
||||
"long" -> "Long",
|
||||
"double" -> "Double",
|
||||
"file" -> "File",
|
||||
"object" -> "Any")
|
||||
"object" -> "Any",
|
||||
"file" -> "File")
|
||||
|
||||
// template used for models
|
||||
modelTemplateFiles += "model.mustache" -> ".scala"
|
||||
@ -56,7 +64,47 @@ class BasicScalaGenerator extends BasicGenerator {
|
||||
override def destinationDir = "generated-code/scala/src/main/scala"
|
||||
|
||||
// reserved words which need special quoting
|
||||
override def reservedWords = Set("type", "package", "match", "object")
|
||||
override def reservedWords =
|
||||
Set(
|
||||
"abstract",
|
||||
"case",
|
||||
"catch",
|
||||
"class",
|
||||
"def",
|
||||
"do",
|
||||
"else",
|
||||
"extends",
|
||||
"false",
|
||||
"final",
|
||||
"finally",
|
||||
"for",
|
||||
"forSome",
|
||||
"if",
|
||||
"implicit",
|
||||
"import",
|
||||
"lazy",
|
||||
"match",
|
||||
"new",
|
||||
"null",
|
||||
"object",
|
||||
"override",
|
||||
"package",
|
||||
"private",
|
||||
"protected",
|
||||
"return",
|
||||
"sealed",
|
||||
"super",
|
||||
"this",
|
||||
"throw",
|
||||
"trait",
|
||||
"try",
|
||||
"true",
|
||||
"type",
|
||||
"val",
|
||||
"var",
|
||||
"while",
|
||||
"with",
|
||||
"yield")
|
||||
|
||||
// import/require statements for specific datatypes
|
||||
override def importMapping = Map(
|
||||
|
@ -261,7 +261,10 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
|
||||
"while",
|
||||
"with",
|
||||
"yield")
|
||||
override val importMapping = cfg.defaultImports
|
||||
override val importMapping = Map(
|
||||
"Date" -> "java.util.Date",
|
||||
"File" -> "java.io.File"
|
||||
) ++ cfg.defaultImports
|
||||
override val typeMapping = Map(
|
||||
"array" -> "List",
|
||||
"boolean" -> "Boolean",
|
||||
@ -502,7 +505,7 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
|
||||
case n: Int => {
|
||||
if (dt.substring(0, n).toLowerCase == "array") {
|
||||
val dtt = dt.substring(n + 1, dt.length - 1)
|
||||
s"List[${typeMapping.getOrElse(dtt, dtt)}]"
|
||||
"List[%s]".format(typeMapping.getOrElse(dtt, dtt))
|
||||
} else dt
|
||||
}
|
||||
}
|
||||
@ -511,19 +514,23 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
|
||||
|
||||
override def toDeclaration(obj: ModelProperty): (String, String) = {
|
||||
obj.`type` match {
|
||||
case "Array" | "array" => {
|
||||
case "Array" | "array" => makeContainerType(obj, "List")
|
||||
case "Set" | "set" => makeContainerType(obj, "Set")
|
||||
case e: String => (toDeclaredType(e), toDefaultValue(e, obj))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private def makeContainerType(obj: ModelProperty, container: String): (String, String) = {
|
||||
val inner = {
|
||||
obj.items match {
|
||||
case Some(items) => items.ref.getOrElse(items.`type`)
|
||||
case _ => throw new Exception("no inner type defined")
|
||||
}
|
||||
}
|
||||
val e = "List[%s]" format toDeclaredType(inner)
|
||||
val e = "%s[%s]" format (container, toDeclaredType(inner))
|
||||
(e, toDefaultValue(inner, obj))
|
||||
}
|
||||
case e: String => (toDeclaredType(e), toDefaultValue(e, obj))
|
||||
}
|
||||
}
|
||||
|
||||
// escape keywords
|
||||
override def escapeReservedWord(word: String) = "`" + word + "`"
|
||||
|
Loading…
x
Reference in New Issue
Block a user