From 79c456ecfc40f9e34466fc77cbae53c050815c62 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Wed, 3 Sep 2014 11:18:19 -0700 Subject: [PATCH] updates for reserved words --- .../wordnik/swagger/codegen/CodegenConfig.java | 2 ++ .../wordnik/swagger/codegen/DefaultCodegen.java | 15 +++++++++++++-- .../codegen/languages/JavaClientCodegen.java | 5 +++++ src/main/resources/objc/model-header.mustache | 3 ++- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/wordnik/swagger/codegen/CodegenConfig.java b/src/main/java/com/wordnik/swagger/codegen/CodegenConfig.java index 0e72ed81665a..cd0e166b18e5 100644 --- a/src/main/java/com/wordnik/swagger/codegen/CodegenConfig.java +++ b/src/main/java/com/wordnik/swagger/codegen/CodegenConfig.java @@ -15,6 +15,8 @@ public interface CodegenConfig { String modelPackage(); String toApiName(String name); String toModelName(String name); + String toParamName(String name); + String escapeReservedWord(String name); Set reservedWords(); diff --git a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java index 0e3d5fc7eb3e..1b242d086890 100644 --- a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java +++ b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java @@ -87,6 +87,17 @@ public class DefaultCodegen { return name; } + public String toParamName(String name) { + if(reservedWords.contains(name)) { + return escapeReservedWord(name); + } + return name; + } + + public String escapeReservedWord(String name) { + throw new RuntimeException("reserved word " + name + " not allowed"); + } + public String toModelImport(String name) { if("".equals(modelPackage())) return name; @@ -457,7 +468,7 @@ public class DefaultCodegen { CodegenProperty model = fromProperty(qp.getName(), property); p.collectionFormat = collectionFormat; p.dataType = model.datatype; - p.paramName = qp.getName(); + p.paramName = toParamName(qp.getName()); } else { BodyParameter bp = (BodyParameter) param; @@ -482,7 +493,7 @@ public class DefaultCodegen { if(sub instanceof RefModel) p.dataType = ((RefModel)sub).getSimpleRef(); } - p.paramName = bp.getName(); + p.paramName = toParamName(bp.getName()); } allParams.add(p); if(param instanceof QueryParameter) diff --git a/src/main/java/com/wordnik/swagger/codegen/languages/JavaClientCodegen.java b/src/main/java/com/wordnik/swagger/codegen/languages/JavaClientCodegen.java index 8f0eccab81f4..8ec271fad1e1 100644 --- a/src/main/java/com/wordnik/swagger/codegen/languages/JavaClientCodegen.java +++ b/src/main/java/com/wordnik/swagger/codegen/languages/JavaClientCodegen.java @@ -47,6 +47,11 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { ); } + @Override + public String escapeReservedWord(String name) { + return "_" + name; + } + @Override public String apiFileFolder() { return outputFolder + File.separator + sourceFolder + File.separator + apiPackage().replaceAll("\\.", File.separator); diff --git a/src/main/resources/objc/model-header.mustache b/src/main/resources/objc/model-header.mustache index 80b4458bca89..9dc5f15f4e84 100644 --- a/src/main/resources/objc/model-header.mustache +++ b/src/main/resources/objc/model-header.mustache @@ -11,7 +11,8 @@ {{#vars}} @property(nonatomic) {{datatype}} {{name}}; {{#description}}/* {{{description}}} {{#isNotRequired}}[optional]{{/isNotRequired}} */{{/description}}{{newline}} {{/vars}} -- (id) {{#vars}}{{name}}: ({{datatype}}) {{name}}{{#hasMore}}{{newline}} {{/hasMore}}{{^hasMore}};{{/hasMore}} +- (id) {{#vars}}{{name}}: ({{datatype}}) {{name}}{{#hasMore}} + {{/hasMore}}{{^hasMore}};{{/hasMore}} {{/vars}} {{newline}} - (id) initWithValues: (NSDictionary*)dict;