Fix getter methods for Java model with additionalProperties #8245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR checklist
./bin/to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.shand./bin/security/{LANG}-petstore.shif updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\. Did not generate petstore example because that would significantly increase the diff3.0.0branch for changes related to OpenAPI spec 3.0. Default:master.Description of the PR
When a model class is configured with additionalProperties, getters for non-dynamic properties always return null because values have been set as properties of the map instead of the class. As a workaround, this commit ensures that we these values are retrieved from the underlying map.
This (partially) fixes #4970, fixes #5259, and fixes #5187
The issue of
additionalPropertiesis not completely solved by this PR, however, we support the situation whereadditionalPropertiesis of typeobject, or all fields are of the same type asadditionalProperties. I.e. it will not work if we have properties of typeintegerandadditionalPropertiesof typearraydue to incorrect type casting.