-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[java] Appropriate instantiation of model with dynamic properties #6052
Conversation
👍 Thanks for opening this issue! The team will review the labels and make any necessary changes. |
cc @bbdouglas @sreeshas @jfiala @lukoyanov @cbornet @jeff9finger @karismann @Zomzog @lwlee2608 @bkabrda cc @OpenAPITools/generator-core-team |
Bumping this for review before I fix merge conflicts |
Any update? This is causing real issues on a project im working on. |
@robmartin-scibite have you by any chance tested the code in this branch? I'd pinged others and didn't yet get feedback. I can resolve conflicts and maybe push to master so you can evaluate and others can provide feedback. |
* master: (720 commits) [docs] Update README badges (#7276) Update apiInvoker.mustache and sample file for akka-scala client for issue #7258 fix (#7259) [Dart] Get all enum values in a list (#7166) Update .gitattributes [ci] Set ubuntu workflow verification to autoclrf=true, safeclrf=false Update check-supported-versions.yaml [ci] Update gitattributes and allow skipping docs generation for Windows CI workflows (#7273) [core][bug] FILES is now path relative with no prefixes (#7271) Update check-supported-versions.yaml Update check-supported-versions.yaml (#7268) [Java][jersey2] Add jersey injection dependencies (#7240) [C][Clang Static Analyzer] Remove the useless variable when assembling URL (#7255) Date format dart (#6389) minor enhancement to java client generator (#7253) typescript: Fix Union Types Import Issue (#6789) Modifying the es5 and es6 templates for javascript to handle default values (#6649) [python-exp] simplify examples (#7157) Support for KumuluzEE microprofile runtime (#5944) [C#][netcore] minor improvements and bug fixes (#7244) Deprecate Flash (ActionScript) client generator (#7231) ...
* master: (219 commits) [java] Appropriate instantiation of model with dynamic properties (OpenAPITools#6052) [docs] Update README badges (OpenAPITools#7276) Update apiInvoker.mustache and sample file for akka-scala client for issue OpenAPITools#7258 fix (OpenAPITools#7259) [Dart] Get all enum values in a list (OpenAPITools#7166) Update .gitattributes [ci] Set ubuntu workflow verification to autoclrf=true, safeclrf=false Update check-supported-versions.yaml [ci] Update gitattributes and allow skipping docs generation for Windows CI workflows (OpenAPITools#7273) [core][bug] FILES is now path relative with no prefixes (OpenAPITools#7271) Update check-supported-versions.yaml Update check-supported-versions.yaml (OpenAPITools#7268) [Java][jersey2] Add jersey injection dependencies (OpenAPITools#7240) [C][Clang Static Analyzer] Remove the useless variable when assembling URL (OpenAPITools#7255) Date format dart (OpenAPITools#6389) minor enhancement to java client generator (OpenAPITools#7253) typescript: Fix Union Types Import Issue (OpenAPITools#6789) Modifying the es5 and es6 templates for javascript to handle default values (OpenAPITools#6649) [python-exp] simplify examples (OpenAPITools#7157) Support for KumuluzEE microprofile runtime (OpenAPITools#5944) [C#][netcore] minor improvements and bug fixes (OpenAPITools#7244) ...
This is an intermediary work around for issues such as #3456.
This fixes #5920.
There's still an issue with applying the import of HashMap when referencing a map-like type. For an example of the issue, generate with the new mapSchemas.yaml test file and inspect the
FreeformObjectTypes
type.Applying container import logic similar to what's done in DefaultCodegen:
for map does not work as expected because Java defines the type mapping as
java.util.Map
and the instantiation type asjava.util.HashMap
. It seems like the above snippet in DefaultCodegen might need to account for both the type mapping and the instantiation type when modifying a model's imports.PR checklist
./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc).master
,4.3.x
,5.0.x
. Default:master
.