From 8608103c9fd741a6172cc152c9b58d1031c8d681 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 5 Sep 2023 20:03:27 +0800 Subject: [PATCH] add name mapping features to lua client generator (#16511) --- bin/configs/lua.yaml | 2 ++ .../codegen/languages/LuaClientCodegen.java | 15 +++++++++++++++ .../client/petstore/lua/petstore/model/user.lua | 4 ++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/bin/configs/lua.yaml b/bin/configs/lua.yaml index 280cf32e741..0114d8eb793 100644 --- a/bin/configs/lua.yaml +++ b/bin/configs/lua.yaml @@ -4,3 +4,5 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/lua additionalProperties: packageName: petstore +nameMappings: + phone: mobile diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java index 0c525dae653..81037ee6dcd 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java @@ -239,6 +239,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toVarName(String name) { + // obtain the name from nameMapping directly if provided + if (nameMapping.containsKey(name)) { + return nameMapping.get(name); + } + // replace - with _ e.g. created-at => created_at name = sanitizeName(name.replaceAll("-", "_")); @@ -263,6 +268,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toParamName(String name) { + // obtain the name from parameterNameMapping directly if provided + if (parameterNameMapping.containsKey(name)) { + return parameterNameMapping.get(name); + } + return toVarName(name); } @@ -273,6 +283,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toModelFilename(String name) { + // obtain the name from modelNameMapping directly if provided + if (modelNameMapping.containsKey(name)) { + return modelNameMapping.get(name); + } + if (!StringUtils.isEmpty(modelNamePrefix)) { name = modelNamePrefix + "_" + name; } diff --git a/samples/client/petstore/lua/petstore/model/user.lua b/samples/client/petstore/lua/petstore/model/user.lua index ae0b97969d1..16f98468571 100644 --- a/samples/client/petstore/lua/petstore/model/user.lua +++ b/samples/client/petstore/lua/petstore/model/user.lua @@ -19,7 +19,7 @@ local function cast_user(t) return setmetatable(t, user_mt) end -local function new_user(id, username, first_name, last_name, email, password, phone, user_status) +local function new_user(id, username, first_name, last_name, email, password, mobile, user_status) return cast_user({ ["id"] = id; ["username"] = username; @@ -27,7 +27,7 @@ local function new_user(id, username, first_name, last_name, email, password, ph ["lastName"] = last_name; ["email"] = email; ["password"] = password; - ["phone"] = phone; + ["phone"] = mobile; ["userStatus"] = user_status; }) end