Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid using import mapping in model generation #11217

Merged
merged 7 commits into from
Jan 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions docs/generators/groovy.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -135,6 +136,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-inflector.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -133,6 +134,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-micronaut-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -145,6 +146,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-msf4j.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -139,6 +140,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-pkmst.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -140,6 +141,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-play-framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -143,6 +144,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-undertow-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -133,6 +134,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-vertx-web.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -133,6 +134,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java-vertx.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -136,6 +137,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/java.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -155,6 +156,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-cxf-cdi.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -146,6 +147,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-cxf-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -137,6 +138,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-cxf-extended.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -160,6 +161,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-cxf.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -155,6 +156,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-jersey.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -140,6 +141,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-resteasy-eap.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -140,6 +141,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-resteasy.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -139,6 +140,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/jaxrs-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -146,6 +147,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
2 changes: 2 additions & 0 deletions docs/generators/spring.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>else</li>
<li>enum</li>
<li>extends</li>
<li>file</li>
<li>final</li>
<li>finally</li>
<li>float</li>
Expand All @@ -157,6 +158,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>instanceof</li>
<li>int</li>
<li>interface</li>
<li>list</li>
<li>localreturntype</li>
<li>localvaraccept</li>
<li>localvaraccepts</li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -436,19 +436,6 @@ void generateModels(List<File> files, List<Object> allModels, List<String> unuse
// process models only
for (String name : modelKeys) {
try {
//don't generate models that have an import mapping
if (config.importMapping().containsKey(name)) {
LOGGER.debug("Model {} not imported due to import mapping", name);

for (String templateName : config.modelTemplateFiles().keySet()) {
// HACK: Because this returns early, could lead to some invalid model reporting.
String filename = config.modelFilename(templateName, name);
Path path = java.nio.file.Paths.get(filename);
this.templateProcessor.skip(path,"Skipped prior to model processing due to import mapping conflict (either by user or by generator)." );
}
continue;
}

// don't generate models that are not used as object (e.g. form parameters)
if (unusedModels.contains(name)) {
if (Boolean.FALSE.equals(skipFormModel)) {
Expand Down Expand Up @@ -516,11 +503,6 @@ void generateModels(List<File> files, List<Object> allModels, List<String> unuse
Map<String, Object> models = (Map<String, Object>) allProcessedModels.get(modelName);
models.put("modelPackage", config.modelPackage());
try {
//don't generate models that have an import mapping
if (config.importMapping().containsKey(modelName)) {
continue;
}

// TODO revise below as we've already performed unaliasing so that the isAlias check may be removed
List<Object> modelList = (List<Object>) models.get("models");
if (modelList != null && !modelList.isEmpty()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ public AbstractJavaCodegen() {
setReservedWordsLowerCase(
Arrays.asList(
// special words
"object",
"object", "list", "file",
// used as internal variables, can collide with parameter names
"localVarPath", "localVarQueryParams", "localVarCollectionQueryParams",
"localVarHeaderParams", "localVarCookieParams", "localVarFormParams", "localVarPostBody",
Expand Down Expand Up @@ -753,12 +753,6 @@ public String toParamName(String name) {

@Override
public String toModelName(final String name) {
// We need to check if import-mapping has a different model for this class, so we use it
// instead of the auto-generated one.
if (importMapping.containsKey(name)) {
return importMapping.get(name);
}

final String sanitizedName = sanitizeName(name);

String nameWithPrefixSuffix = sanitizedName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,10 @@ public void processOpts() {
//Templates to decode response headers
supportingFiles.add(new SupportingFile("model/ApiResponse.mustache", modelsFolder, "ApiResponse.java"));
supportingFiles.add(new SupportingFile("ApiResponseDecoder.mustache", invokerFolder, "ApiResponseDecoder.java"));

// TODO remove "file" from reserved word list as feign client doesn't support using `baseName`
// as the parameter name yet
reservedWords.remove("file");
}

if (!(FEIGN.equals(getLibrary()) || RESTTEMPLATE.equals(getLibrary()) || RETROFIT_2.equals(getLibrary()) || GOOGLE_API_CLIENT.equals(getLibrary()) || REST_ASSURED.equals(getLibrary()) || WEBCLIENT.equals(getLibrary()) || MICROPROFILE.equals(getLibrary()))) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,13 +242,16 @@ public String getHelp() {

@Override
public void processOpts() {

final List<Pair<String, String>> configOptions = additionalProperties.entrySet().stream()
.filter(e -> !Arrays.asList(API_FIRST, "hideGenerationTimestamp").contains(e.getKey()))
.filter(e -> cliOptions.stream().map(CliOption::getOpt).anyMatch(opt -> opt.equals(e.getKey())))
.map(e -> Pair.of(e.getKey(), e.getValue().toString())).collect(Collectors.toList());
additionalProperties.put("configOptions", configOptions);

// TODO remove "file" from reserved word list as feign client doesn't support using `baseName`
// as the parameter name yet
reservedWords.remove("file");

// Process java8 option before common java ones to change the default
// dateLibrary to java8.
LOGGER.info("----------------------------------");
Expand Down
Loading