forked from loafle/openapi-generator-original
[cpp-qt5] sanitize model names (#388)
* Escape characters that have language significance * Remove assignment to parameter variable
This commit is contained in:
parent
36f4452351
commit
c01f4bf220
@ -248,7 +248,7 @@ public class CppQt5ClientCodegen extends AbstractCppCodegen implements CodegenCo
|
|||||||
if (!folder.isEmpty())
|
if (!folder.isEmpty())
|
||||||
folder += File.separator;
|
folder += File.separator;
|
||||||
|
|
||||||
return "#include \"" + folder + name + ".h\"";
|
return "#include \"" + folder + toModelName(name) + ".h\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -285,7 +285,7 @@ public class CppQt5ClientCodegen extends AbstractCppCodegen implements CodegenCo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toModelFilename(String name) {
|
public String toModelFilename(String name) {
|
||||||
return modelNamePrefix + initialCaps(name);
|
return initialCaps(toModelName(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -381,7 +381,7 @@ public class CppQt5ClientCodegen extends AbstractCppCodegen implements CodegenCo
|
|||||||
@Override
|
@Override
|
||||||
public String toModelName(String type) {
|
public String toModelName(String type) {
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
LOGGER.warn("Model name can't be null. Defaul to 'UnknownModel'.");
|
LOGGER.warn("Model name can't be null. Default to 'UnknownModel'.");
|
||||||
type = "UnknownModel";
|
type = "UnknownModel";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -392,30 +392,31 @@ public class CppQt5ClientCodegen extends AbstractCppCodegen implements CodegenCo
|
|||||||
languageSpecificPrimitives.contains(type)) {
|
languageSpecificPrimitives.contains(type)) {
|
||||||
return type;
|
return type;
|
||||||
} else {
|
} else {
|
||||||
return modelNamePrefix + Character.toUpperCase(type.charAt(0)) + type.substring(1);
|
String typeName = sanitizeName(type);
|
||||||
|
return modelNamePrefix + Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toVarName(String name) {
|
public String toVarName(String name) {
|
||||||
// sanitize name
|
// sanitize name
|
||||||
name = sanitizeName(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.
|
String varName = sanitizeName(name);
|
||||||
|
|
||||||
// if it's all uppper case, convert to lower case
|
// if it's all uppper case, convert to lower case
|
||||||
if (name.matches("^[A-Z_]*$")) {
|
if (varName.matches("^[A-Z_]*$")) {
|
||||||
name = name.toLowerCase();
|
varName = varName.toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
// camelize (lower first character) the variable name
|
// camelize (lower first character) the variable name
|
||||||
// petId => pet_id
|
// petId => pet_id
|
||||||
name = underscore(name);
|
varName = underscore(varName);
|
||||||
|
|
||||||
// for reserved word or word starting with number, append _
|
// for reserved word or word starting with number, append _
|
||||||
if (isReservedWord(name) || name.matches("^\\d.*")) {
|
if (isReservedWord(varName) || varName.matches("^\\d.*")) {
|
||||||
name = escapeReservedWord(name);
|
varName = escapeReservedWord(varName);
|
||||||
}
|
}
|
||||||
|
|
||||||
return name;
|
return varName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user