Skip to content

Conversation

@karzang
Copy link
Contributor

@karzang karzang commented Jul 27, 2023

This PR improves the handling of number datatypes used in oneOf by removing a previous workaround which treated BigDecimal as a languagePrimitiveType.

This PR fixes #16166 since treating BigDecimal as a primitive results in, the generator not adding any imports for it. Instead this change provides separate handling of number datatypes in the oneof_model.mustache template.

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/utils/export_docs_generators.sh
    
    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*.
    For Windows users, please run the script in Git BASH.
  • In case you are adding a new generator, run the following additional script :
    ./bin/utils/ensure-up-to-date
    
    Commit all changed files.
  • File the PR against the correct branch: master (6.3.0) (minor release - breaking changes with fallbacks), 7.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.

@karzang karzang marked this pull request as ready for review July 27, 2023 14:42
@karzang
Copy link
Contributor Author

karzang commented Jul 27, 2023

@cachescrubber (2022/02) @welshm (2022/02) @MelleD (2022/02) @atextor (2022/02) @manedev79 (2022/02) @javisst (2022/02) @borsch (2022/02) @banlevente (2022/02)

@wing328

@welshm
Copy link
Contributor

welshm commented Jul 27, 2023

Change looks fine to me - but it's targeting Java Client and OK HTTP - not Spring. Looks like we don't have a Java Client technical committee though

@karzang karzang changed the title [Java][Client] Refactor handling of 'number' types in oneOf [Java][okhttp-gson] Refactor handling of 'number' types in oneOf Jul 28, 2023
@wing328
Copy link
Member

wing328 commented Aug 1, 2023

@karzang thanks for the PR. Can you please add a fake endpoint with parameter type number so as to catch the issue moving forward?

e.g. from the issue

		"parameters": [
			{
				"name": "amount",
				"in": "path",
				"required": true,
				"schema": {
					"type": "number"
				}
			},

@wing328
Copy link
Member

wing328 commented Aug 6, 2023

tested locally to confirm the fix. will file a PR to add a test after merging this PR

update: done via #16263

@wing328 wing328 merged commit e299382 into OpenAPITools:master Aug 6, 2023
@wing328 wing328 added this to the 7.0.0 milestone Aug 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] BigDecimal not imported in 7.0.0

3 participants