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"
|
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")
|
javacOptions ++= Seq("-target", "1.6", "-source", "1.6", "-Xlint:unchecked", "-Xlint:deprecation")
|
||||||
|
|
||||||
|
@ -27,9 +27,13 @@ class BasicScalaGenerator extends BasicGenerator {
|
|||||||
"Int",
|
"Int",
|
||||||
"String",
|
"String",
|
||||||
"Long",
|
"Long",
|
||||||
|
"Short",
|
||||||
|
"Char",
|
||||||
|
"Byte",
|
||||||
"Float",
|
"Float",
|
||||||
"Double",
|
"Double",
|
||||||
"Boolean",
|
"Boolean",
|
||||||
|
"AnyRef",
|
||||||
"Any")
|
"Any")
|
||||||
|
|
||||||
override def typeMapping = Map(
|
override def typeMapping = Map(
|
||||||
@ -37,11 +41,15 @@ class BasicScalaGenerator extends BasicGenerator {
|
|||||||
"boolean" -> "Boolean",
|
"boolean" -> "Boolean",
|
||||||
"string" -> "String",
|
"string" -> "String",
|
||||||
"int" -> "Int",
|
"int" -> "Int",
|
||||||
|
"long" -> "Long",
|
||||||
"float" -> "Float",
|
"float" -> "Float",
|
||||||
|
"byte" -> "Byte",
|
||||||
|
"short" -> "Short",
|
||||||
|
"char" -> "Char",
|
||||||
"long" -> "Long",
|
"long" -> "Long",
|
||||||
"double" -> "Double",
|
"double" -> "Double",
|
||||||
"file" -> "File",
|
"object" -> "Any",
|
||||||
"object" -> "Any")
|
"file" -> "File")
|
||||||
|
|
||||||
// template used for models
|
// template used for models
|
||||||
modelTemplateFiles += "model.mustache" -> ".scala"
|
modelTemplateFiles += "model.mustache" -> ".scala"
|
||||||
@ -56,7 +64,47 @@ class BasicScalaGenerator extends BasicGenerator {
|
|||||||
override def destinationDir = "generated-code/scala/src/main/scala"
|
override def destinationDir = "generated-code/scala/src/main/scala"
|
||||||
|
|
||||||
// reserved words which need special quoting
|
// 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
|
// import/require statements for specific datatypes
|
||||||
override def importMapping = Map(
|
override def importMapping = Map(
|
||||||
|
@ -261,7 +261,10 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
|
|||||||
"while",
|
"while",
|
||||||
"with",
|
"with",
|
||||||
"yield")
|
"yield")
|
||||||
override val importMapping = cfg.defaultImports
|
override val importMapping = Map(
|
||||||
|
"Date" -> "java.util.Date",
|
||||||
|
"File" -> "java.io.File"
|
||||||
|
) ++ cfg.defaultImports
|
||||||
override val typeMapping = Map(
|
override val typeMapping = Map(
|
||||||
"array" -> "List",
|
"array" -> "List",
|
||||||
"boolean" -> "Boolean",
|
"boolean" -> "Boolean",
|
||||||
@ -502,7 +505,7 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
|
|||||||
case n: Int => {
|
case n: Int => {
|
||||||
if (dt.substring(0, n).toLowerCase == "array") {
|
if (dt.substring(0, n).toLowerCase == "array") {
|
||||||
val dtt = dt.substring(n + 1, dt.length - 1)
|
val dtt = dt.substring(n + 1, dt.length - 1)
|
||||||
s"List[${typeMapping.getOrElse(dtt, dtt)}]"
|
"List[%s]".format(typeMapping.getOrElse(dtt, dtt))
|
||||||
} else dt
|
} else dt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -511,20 +514,24 @@ class ScalaAsyncClientGenerator(cfg: SwaggerGenConfig) extends BasicGenerator {
|
|||||||
|
|
||||||
override def toDeclaration(obj: ModelProperty): (String, String) = {
|
override def toDeclaration(obj: ModelProperty): (String, String) = {
|
||||||
obj.`type` match {
|
obj.`type` match {
|
||||||
case "Array" | "array" => {
|
case "Array" | "array" => makeContainerType(obj, "List")
|
||||||
val inner = {
|
case "Set" | "set" => makeContainerType(obj, "Set")
|
||||||
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)
|
|
||||||
(e, toDefaultValue(inner, obj))
|
|
||||||
}
|
|
||||||
case e: String => (toDeclaredType(e), toDefaultValue(e, obj))
|
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 = "%s[%s]" format (container, toDeclaredType(inner))
|
||||||
|
(e, toDefaultValue(inner, obj))
|
||||||
|
}
|
||||||
|
|
||||||
// escape keywords
|
// escape keywords
|
||||||
override def escapeReservedWord(word: String) = "`" + word + "`"
|
override def escapeReservedWord(word: String) = "`" + word + "`"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user