-
-
Notifications
You must be signed in to change notification settings - Fork 183
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
feat!: supports optional properties in java #1485
feat!: supports optional properties in java #1485
Conversation
✅ Deploy Preview for modelina ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
@@ -109,31 +125,27 @@ export const JavaDefaultTypeMapping: JavaTypeMapping = { | |||
return 'Object'; | |||
}, | |||
Float({ constrainedModel }): string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of the parameters you have access to here is partOfProperty
(or something like that), where you have access to whether this model is part of an optional or required property.
I think it would make sense to use that instead of forcing it on unrelated meta models, cause optional or required information is not relevant directly on the model. It's not until it's part of a property it's relevant.
So for float for example you can do:
Float({ constrainedModel, partOfProperty }): string {
if(partOfProperty?.required) {
return 'Double'
}
return 'double'
},
This will also make your implementation a lot cleaner 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying to look for that, but must have missed it. Thanks for the tip 👍 Please review again
SonarCloud Quality Gate failed. 0 Bugs No Coverage information Catch issues before they fail your Quality Gate with our IDE extension SonarLint |
/rtm |
🎉 This PR is included in version 2.0.0-next.18 🎉 The release is available on: Your semantic-release bot 📦🚀 |
* fix!: use preferred ids over anonymous ids (#1099) * chore(release): v2.0.0-next.1 (#1113) * fix!: adds union type when operation.message.oneOf is set (#1136) * chore(release): v2.0.0-next.2 (#1144) * chore(release): v2.0.0-next.3 (#1146) * fix!: additionalItems being applied for regular arrays (#1140) * chore(release): v2.0.0-next.4 (#1151) * test: upgrades eslint and adds eslint-plugin-jest (#1166) * fix!: fixes required properties when if/then/else is used (#1149) * chore(release): v2.0.0-next.5 (#1184) * chore: update snapshot and packagelock * chore: update snapshot of example * feat: force release (#1221) * chore(release): v2.0.0-next.6 (#1222) * feat!: handle const and discriminator (#1169) * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: handle const * fixes bug when using oneOf in channel by not adding models to input model if they have already been scanned * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: handle const * feat: set correct java quotes * remove discriminator from CommonModel because we don't need it * remove discriminator from CommonModel because we don't need it * fixes review comments * adds constant constrainers * adds constant constrainers * adds constant constrainers * adds constant constrainers * remove unused var * chore(release): v2.0.0-next.7 (#1242) * fix!: should not carry over options from metaModel to constrainedModel (#1243) * chore(release): v2.0.0-next.8 (#1247) * docs: fixes constant constraints documentation (#1241) * refactor: adds discriminator in CommonModel and interpreters (#1269) * refactor: adds discriminator in CommonModel and interpreters * refactor: adds discriminator in CommonModel and interpreters * refactor: adds discriminator in MetaModel and ConstrainedMetaModel (#1270) * refactor: adds discriminator in CommonModel and interpreters * refactor: adds discriminator in MetaModel and ConstrainedMetaModel * refactor: adds discriminator in MetaModel and ConstrainedMetaModel * refactor: adds discriminator in MetaModel and ConstrainedMetaModel * fix test * review fix * fix!: update default Kotlin renderer to make non-required properties nullable (#1277) * chore(release): v2.0.0-next.9 (#1278) * feat!: adds interface for oneOf objects for Java (#1271) * refactor: adds discriminator in CommonModel and interpreters * refactor: adds discriminator in MetaModel and ConstrainedMetaModel * feat: adds interface for oneOf objects for Java * refactor: adds discriminator in MetaModel and ConstrainedMetaModel * update snapshot * refactor: adds discriminator in MetaModel and ConstrainedMetaModel * fix test * feat: adds interface for oneOf objects for Java * Revert "feat: adds interface for oneOf objects for Java" This reverts commit e7bd8fb. * review fix * merge fix * adds tests * adds documentation * fixes docs * Update docs/migrations/version-1-to-2.md Co-authored-by: Daniel KJ <[email protected]> * adds test for union without jackson preset * fixes docs * fixes docs * fixes docs --------- Co-authored-by: Daniel KJ <[email protected]> * chore(release): v2.0.0-next.10 (#1279) * chore: update Rust union render to use ConstrainedMetaModelOptionsDiscriminator (#1282) Update Rust union render to use `ConstrainedMetaModelOptionsDiscriminator` Co-authored-by: Daniel Kenyon-Jones <[email protected]> * fix wrong import * Revert "fix wrong import" This reverts commit b6c5be6. * fix: wrong import for Java preset (#1283) fix: wrong import * chore(release): v2.0.0-next.11 (#1286) * feat!: add discriminator support for OpenAPI v3 and Swagger v2 (#1281) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * chore(release): v2.0.0-next.12 (#1287) * feat!: use EXISTING_PROPERTY as JsonTypeInfo.As annotation to avoid duplicates when serializing (#1290) * chore(release): v2.0.0-next.13 (#1291) * chore: blackbox tests (#1303) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * feat!: enable nullable models (#1141) * chore(release): v2.0.0-next.14 (#1313) * chore: update new generators with next syntax * chore: fix linting problem * feat!: add java oneOf union support for properties of models (#1296) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * chore: update dependency * feat: update dependencies * feat: update dependencies * feat: update dependencies * feat: trigger release and update dependencies (#1428) * ci: temporarily enable release for next (#1430) * fix: ts/js unmarshalling function bug (#1429) * fix!: support java nullable double type (#1439) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * feat: update release configuration and trigger release (#1467) * chore(release): v2.0.0-next.15 (#1468) * feat: make discriminator property visible to deserializer from Java Jackson preset (#1469) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * chore(release): v2.0.0-next.16 (#1470) * fix: typescript interface variable assignment (#1472) Co-authored-by: Kristupas Narkeliunas <[email protected]> * chore(release): v2.0.0-next.17 (#1473) * feat!: upgrade to node 18 (#1422) * upgrade to v18 * adapt rest of workflows * update readme * recommit packagelock * feat!: supports optional properties in java (#1485) * chore(release): v2.0.0-next.18 (#1487) * chore: add next integration example (#1488) * fix: adds format in options instead of using original input (#1486) * chore(release): v2.0.0-next.19 (#1492) * feat!: generate models for OpenAPI parameters (#1498) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * chore(release): v2.0.0-next.20 (#1500) * fix: fixes java jackson discriminator when property is not camel case (#1502) * chore(release): v2.0.0-next.21 (#1504) * fix: fixes performance issues in java when calling parent unions (#1501) * chore(release): v2.0.0-next.22 (#1506) * feat!: refactors generators to use the same arg types (#1505) * chore(release): v2.0.0-next.23 (#1507) * fix: escape java string literals used for regex patterns and string constants (#1509) Co-authored-by: Daniel Kenyon-Jones <[email protected]> * chore(release): v2.0.0-next.24 (#1558) * chore: update linting and dev dependency versions * chore: update migration guide (#1560) * chore(release): v2.0.0-next.25 (#1571) --------- Co-authored-by: Kenneth Aasan <[email protected]> Co-authored-by: asyncapi-bot <[email protected]> Co-authored-by: Cyprian Gracz <[email protected]> Co-authored-by: Daniel KJ <[email protected]> Co-authored-by: Daniel Kenyon-Jones <[email protected]> Co-authored-by: Kristupas <[email protected]> Co-authored-by: Kristupas Narkeliunas <[email protected]> Co-authored-by: Daniel Kenyon-Jones <[email protected]>
Description
Related issue(s)
Fixes issues with #1141. Please see my comment