From aa09678b510d550c088069b4ca482bfa45665d50 Mon Sep 17 00:00:00 2001 From: hideya kawahara Date: Thu, 11 Feb 2016 19:50:14 +0900 Subject: [PATCH] add missing sanitization for operationId --- .../swagger/codegen/languages/SwiftCodegen.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java index 2d7a4244529..9f190761f83 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java @@ -293,6 +293,21 @@ public class SwiftCodegen extends DefaultCodegen implements CodegenConfig { return initialCaps(name) + "API"; } + @Override + public String toOperationId(String operationId) { + // throw exception if method name is empty + if (StringUtils.isEmpty(operationId)) { + throw new RuntimeException("Empty method name (operationId) not allowed"); + } + + // method name cannot use reserved keyword, e.g. return + if (reservedWords.contains(operationId)) { + throw new RuntimeException(operationId + " (reserved word) cannot be used as method name"); + } + + return camelize(sanitizeName(operationId), true); + } + @Override public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map definitions, Swagger swagger) { path = normalizePath(path); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.