added support for nickname generation

This commit is contained in:
Tony Tam 2014-06-10 20:05:19 -07:00
parent a404823c54
commit bcabb03225
2 changed files with 20 additions and 6 deletions

View File

@ -329,18 +329,29 @@ abstract class BasicGenerator extends CodegenConfig with PathUtil {
allImports --= containers
allImports.foreach(i => {
val model = toModelName(i)
if(!includedModels.contains(model)) {
if(!importMapping.containsKey(model)) {
if(!imports.flatten.map(m => m._2).toSet.contains(importScope + model)){
imports += Map("import" -> (importScope + model))
}
if(!includedModels.contains(model) && !importMapping.containsKey(model)) {
if(!imports.flatten.map(m => m._2).toSet.contains(importScope + model)){
imports += Map("import" -> (importScope + model))
}
}
})
val names = new HashSet[String]
for((path, operation) <- operationList) {
val op = codegen.apiToMap(path, operation)
o += Map("path" -> path) ++ op
val nickname = op.getOrElse("nickname", op("httpMethod")).asInstanceOf[String]
var updatedNickname = nickname
if(names.contains(nickname)) {
var counter = 0
var done = false
while(!done) {
updatedNickname = nickname + "_" + className + "_" + counter
if(!names.contains(updatedNickname)) done = true
counter += 1
}
}
names += updatedNickname
o += (Map("path" -> path) ++ op ++ Map("nickname" -> updatedNickname))
}
operations += Map("operation" -> o)

View File

@ -247,6 +247,9 @@ class Codegen(config: CodegenConfig) {
params += "hasMore" -> "true"
params += "allowMultiple" -> param.allowMultiple.toString
if(param.dataType == "File") params += "isFile" -> "true"
else params += "notFile" -> "true"
val u = param.dataType.indexOf("[") match {
case -1 => config.toDeclaredType(param.dataType)
case n: Int => {