forked from loafle/openapi-generator-original
Check classVarName against reserved keywords (#3079)
Must fix #1831 and #13
This commit is contained in:
parent
40a293dcda
commit
dd0c2a84ee
@ -810,7 +810,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
* @return the snake-cased variable name
|
||||
*/
|
||||
public String toApiVarName(String name) {
|
||||
return snakeCase(name);
|
||||
return lowerCamelCase(name);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1533,13 +1533,13 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the snake-case of the string
|
||||
* Return the lowerCamelCase of the string
|
||||
*
|
||||
* @param name string to be snake-cased
|
||||
* @return snake-cased string
|
||||
* @param name string to be lowerCamelCased
|
||||
* @return lowerCamelCase string
|
||||
*/
|
||||
@SuppressWarnings("static-method")
|
||||
public String snakeCase(String name) {
|
||||
public String lowerCamelCase(String name) {
|
||||
return (name.length() > 0) ? (Character.toLowerCase(name.charAt(0)) + name.substring(1)) : "";
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ public class ErlangClientCodegen extends DefaultCodegen implements CodegenConfig
|
||||
if (languageSpecificPrimitives.contains(type))
|
||||
return (type);
|
||||
} else
|
||||
type = getTypeDeclaration(toModelName(snakeCase(schemaType)));
|
||||
type = getTypeDeclaration(toModelName(lowerCamelCase(schemaType)));
|
||||
return type;
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig
|
||||
} else if (typeMapping.containsKey(typeDeclaration)) {
|
||||
return typeMapping.get(typeDeclaration);
|
||||
} else {
|
||||
return getTypeDeclaration(toModelName(snakeCase(typeDeclaration)));
|
||||
return getTypeDeclaration(toModelName(lowerCamelCase(typeDeclaration)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -179,7 +179,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig
|
||||
} else if (typeMapping.containsKey(schemaType)) {
|
||||
return typeMapping.get(schemaType);
|
||||
} else {
|
||||
return getTypeDeclaration(toModelName(snakeCase(schemaType)));
|
||||
return getTypeDeclaration(toModelName(lowerCamelCase(schemaType)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -695,4 +695,12 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
||||
return mime != null && JSON_VENDOR_MIME_PATTERN.matcher(mime).matches();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toApiVarName(String name) {
|
||||
String apiVarName = super.toApiVarName(name);
|
||||
if (reservedWords.contains(apiVarName)) {
|
||||
apiVarName = escapeReservedWord(apiVarName);
|
||||
}
|
||||
return apiVarName;
|
||||
}
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
|
||||
if (alias != null && !alias.isEmpty()) {
|
||||
this.bundleAlias = alias.toLowerCase(Locale.ROOT);
|
||||
} else {
|
||||
this.bundleAlias = snakeCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(Locale.ROOT);
|
||||
this.bundleAlias = lowerCamelCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(Locale.ROOT);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ import java.util.stream.Collectors;
|
||||
public class JavaClientCodegenTest {
|
||||
|
||||
@Test
|
||||
public void arraysInRequestBody() throws Exception {
|
||||
public void arraysInRequestBody() {
|
||||
OpenAPI openAPI = TestUtils.createOpenAPI();
|
||||
final JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.setOpenAPI(openAPI);
|
||||
@ -103,8 +103,7 @@ public class JavaClientCodegenTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nullValuesInComposedSchema() throws Exception {
|
||||
OpenAPI openAPI = TestUtils.createOpenAPI();
|
||||
public void nullValuesInComposedSchema() {
|
||||
final JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
ComposedSchema schema = new ComposedSchema();
|
||||
CodegenModel result = codegen.fromModel("CompSche",
|
||||
@ -192,7 +191,7 @@ public class JavaClientCodegenTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageNamesSetInvokerDerivedFromApi() throws Exception {
|
||||
public void testPackageNamesSetInvokerDerivedFromApi() {
|
||||
final JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model");
|
||||
codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.zzzzzzz.aaaaa.api");
|
||||
@ -207,7 +206,7 @@ public class JavaClientCodegenTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPackageNamesSetInvokerDerivedFromModel() throws Exception {
|
||||
public void testPackageNamesSetInvokerDerivedFromModel() {
|
||||
final JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model");
|
||||
codegen.processOpts();
|
||||
@ -455,4 +454,12 @@ public class JavaClientCodegenTest {
|
||||
codegenParameter.dataType = "String";
|
||||
return codegenParameter;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void escapeName() {
|
||||
final JavaClientCodegen codegen = new JavaClientCodegen();
|
||||
assertEquals("_default", codegen.toApiVarName("Default"));
|
||||
assertEquals("_int", codegen.toApiVarName("int"));
|
||||
assertEquals("pony", codegen.toApiVarName("pony"));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user