Skip to content

Fixes #19170: [java] Avoid name collision for models named "Schema" when annotation library it's not used#19178

Open
gtsystem wants to merge 1 commit intoOpenAPITools:masterfrom
gtsystem:fix_19170
Open

Fixes #19170: [java] Avoid name collision for models named "Schema" when annotation library it's not used#19178
gtsystem wants to merge 1 commit intoOpenAPITools:masterfrom
gtsystem:fix_19170

Conversation

@gtsystem
Copy link
Contributor

This change avoid the collision of models named "Schema" in the case AnnotationLibrary swagger2 is not set.

In short, the Schema key is now added to importMapping only when necessary.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh ./bin/configs/*.yaml
    ./bin/utils/export_docs_generators.sh
    
    (For Windows users, please run the script in Git BASH)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • File the PR against the correct branch: master (upcoming 7.6.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

cc
@bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10) @martin-mfg (2023/08)

@gtsystem gtsystem changed the title [java] Avoid name collision for models named "Schema" when annotation library it's not used (Fixes #19129) Fixes #19129: [java] Avoid name collision for models named "Schema" when annotation library it's not used Jul 16, 2024
@gtsystem gtsystem changed the title Fixes #19129: [java] Avoid name collision for models named "Schema" when annotation library it's not used Fixes #19170: [java] Avoid name collision for models named "Schema" when annotation library it's not used Jul 16, 2024
@martin-mfg
Copy link
Contributor

Hi @gtsystem, thanks for the PR!

  1. Some months ago, I had opened [JAVA][SPRING] add imports & primitives to reserved words #16713, which also solves the problem that is being addressed here, but in a more generalized way. If we could merge #16713, this PR here would be not necessary anymore.
  2. Otherwise, I think the suggested fix you (@gtsystem) described in [BUG][Java] Schema name collision with template imports #19170 - adding "Schema" to reserved words - would be the preferred solution. It would work regardless of swagger2 annotations being used or not.
  3. The third choice would be merging this PR. I confirm it does fix the problem.

I would prefer solution 1 listed above. If that's not possible, I'd still prefer option 2 over option 3.

@wing328, could you kindly merge #16713?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments