added uniqueness for nickname, #612

This commit is contained in:
Tony Tam
2015-04-10 23:07:00 -07:00
parent f7c195a7ac
commit 765a5c6aa1

View File

@@ -24,6 +24,7 @@ import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
@@ -154,6 +155,7 @@ public class DefaultGenerator extends AbstractGenerator implements Generator {
for (String tag : paths.keySet()) {
List<CodegenOperation> ops = paths.get(tag);
Map<String, Object> operation = processOperations(config, tag, ops);
operation.put("basePath", basePath);
operation.put("contextPath", contextPath);
operation.put("baseName", tag);
@@ -363,10 +365,24 @@ public class DefaultGenerator extends AbstractGenerator implements Generator {
Map<String, Object> operations = new HashMap<String, Object>();
Map<String, Object> objs = new HashMap<String, Object>();
objs.put("classname", config.toApiName(tag));
// check for operationId uniqueness
Set<String> opIds = new HashSet<String>();
int counter = 0;
for(CodegenOperation op : ops) {
String opId = op.nickname;
if(opIds.contains(opId)) {
counter ++;
op.nickname += "_" + counter;
}
opIds.add(opId);
}
objs.put("operation", ops);
operations.put("operations", objs);
operations.put("package", config.apiPackage());
Set<String> allImports = new LinkedHashSet<String>();
for (CodegenOperation op : ops) {
allImports.addAll(op.imports);