diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index d3998a47bca..507a4d1d59f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -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)) : ""; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java index 8d5836f717f..f924229a172 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java @@ -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; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java index 5d935d75bdc..011501670b7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java @@ -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))); } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index b95c9bf8d3b..89ad9e0dd91 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -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; + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index d29dd788497..4a58052af4b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -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); } } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index acfd791fd03..48183b49efb 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -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")); + } }