From 765a5c6aa164fd7cf215523c09d0878b38ec776a Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Fri, 10 Apr 2015 23:07:00 -0700 Subject: [PATCH] added uniqueness for nickname, #612 --- .../swagger/codegen/DefaultGenerator.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultGenerator.java index c3cc734e750f..2abe2162ebd4 100644 --- a/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/DefaultGenerator.java @@ -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 ops = paths.get(tag); Map 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 operations = new HashMap(); Map objs = new HashMap(); objs.put("classname", config.toApiName(tag)); + + // check for operationId uniqueness + Set opIds = new HashSet(); + 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 allImports = new LinkedHashSet(); for (CodegenOperation op : ops) { allImports.addAll(op.imports);