updates for reserved words

This commit is contained in:
Tony Tam
2014-09-03 11:18:19 -07:00
parent bc0cc567d9
commit 79c456ecfc
4 changed files with 22 additions and 3 deletions

View File

@@ -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<String> reservedWords();

View File

@@ -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)

View File

@@ -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);