Skip to content

Commit 91fc151

Browse files
wing328tanmaykm
andauthored
Add mapping features to Julia generators (#16370)
* add mapping features to julia generators * additional changes required for mapped names (#16383) --------- Co-authored-by: Tanmay Mohapatra <tanmaykm@gmail.com>
1 parent 7e67e3a commit 91fc151

16 files changed

Lines changed: 880 additions & 4 deletions

File tree

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
generatorName: julia-client
22
outputDir: samples/client/petstore/julia
3-
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/julia/petstore.yaml
44
templateDir: modules/openapi-generator/src/main/resources/julia-client
55
additionalProperties:
66
hideGenerationTimestamp: "true"
77
packageName: OpenAPIGenPetStoreClient
88
exportOperations: "true"
9-
exportModels: "true"
9+
exportModels: "true"
10+
modelNameMappings:
11+
another_model: MappedModel
12+
nameMappings:
13+
another_property: mappedProperty
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
generatorName: julia-server
22
outputDir: samples/server/petstore/julia
3-
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/julia/petstore.yaml
44
templateDir: modules/openapi-generator/src/main/resources/julia-server
55
additionalProperties:
66
hideGenerationTimestamp: "true"
77
packageName: OpenAPIGenPetStoreServer
88
exportOperations: "true"
9-
exportModels: "true"
9+
exportModels: "true"

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,11 @@ public String toModelFilename(String name) {
209209
return "model_" + toModelName(name);
210210
}
211211

212+
@Override
213+
public String toModelDocFilename(String name) {
214+
return toModelName(name);
215+
}
216+
212217
@Override
213218
public String toApiFilename(String name) {
214219
name = name.replaceAll("-", "_");
@@ -226,6 +231,12 @@ public String toApiName(String name) {
226231

227232
@Override
228233
public String toParamName(String name) {
234+
// obtain the name from parameterNameMapping directly if provided
235+
if (parameterNameMapping.containsKey(name)) {
236+
return parameterNameMapping.get(name);
237+
}
238+
239+
name = toVarName(name);
229240
CamelizeOption camelizeOption = CamelizeOption.UPPERCASE_FIRST_CHAR;
230241
name = camelize(sanitizeName(name), camelizeOption);
231242
name = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, name);
@@ -242,7 +253,13 @@ public String toApiVarName(String name) {
242253

243254
@Override
244255
public String toVarName(String name) {
256+
// obtain the name from nameMapping directly if provided
257+
if (nameMapping.containsKey(name)) {
258+
return nameMapping.get(name);
259+
}
260+
245261
return name;
262+
246263
}
247264

248265
/**
@@ -288,6 +305,11 @@ protected boolean needsVarEscape(String name) {
288305
*/
289306
@Override
290307
public String toModelName(final String name) {
308+
// obtain the name from modelNameMapping directly if provided
309+
if (modelNameMapping.containsKey(name)) {
310+
return modelNameMapping.get(name);
311+
}
312+
291313
String result = sanitizeName(name);
292314

293315
// remove dollar sign

0 commit comments

Comments
 (0)