Skip to content

Commit 765a5c6

Browse files
committed
added uniqueness for nickname, #612
1 parent f7c195a commit 765a5c6

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultGenerator.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import java.util.ArrayList;
2626
import java.util.HashMap;
27+
import java.util.HashSet;
2728
import java.util.LinkedHashMap;
2829
import java.util.LinkedHashSet;
2930
import java.util.List;
@@ -154,6 +155,7 @@ public Reader getTemplate(String name) {
154155
for (String tag : paths.keySet()) {
155156
List<CodegenOperation> ops = paths.get(tag);
156157
Map<String, Object> operation = processOperations(config, tag, ops);
158+
157159
operation.put("basePath", basePath);
158160
operation.put("contextPath", contextPath);
159161
operation.put("baseName", tag);
@@ -363,10 +365,24 @@ public Map<String, Object> processOperations(CodegenConfig config, String tag, L
363365
Map<String, Object> operations = new HashMap<String, Object>();
364366
Map<String, Object> objs = new HashMap<String, Object>();
365367
objs.put("classname", config.toApiName(tag));
368+
369+
// check for operationId uniqueness
370+
Set<String> opIds = new HashSet<String>();
371+
int counter = 0;
372+
for(CodegenOperation op : ops) {
373+
String opId = op.nickname;
374+
if(opIds.contains(opId)) {
375+
counter ++;
376+
op.nickname += "_" + counter;
377+
}
378+
opIds.add(opId);
379+
}
366380
objs.put("operation", ops);
381+
367382
operations.put("operations", objs);
368383
operations.put("package", config.apiPackage());
369384

385+
370386
Set<String> allImports = new LinkedHashSet<String>();
371387
for (CodegenOperation op : ops) {
372388
allImports.addAll(op.imports);

0 commit comments

Comments
 (0)