asyncapi / jasyncapi

/jay-sync-api/ is a Java code-first tool for AsyncAPI specification
Apache License 2.0
67 stars 23 forks source link

Incorrect data type for exclusiveMinimum and exclusiveMaximum #96

Closed ivanalayan15 closed 1 year ago

ivanalayan15 commented 2 years ago

Describe the bug

Incorrect data type for exclusiveMinimum and exclusiveMaximum

How to Reproduce

See the Schema.java

exclusiveMinimum and exclusiveMaximum has a data type of integer which has to be a boolean.

https://github.com/asyncapi/jasyncapi/blob/8e2cbb0a2085f9f518dfac71c9973117940b2a50/asyncapi-core/src/main/java/com/asyncapi/v2/model/schema/Schema.java#L272

https://github.com/asyncapi/jasyncapi/blob/8e2cbb0a2085f9f518dfac71c9973117940b2a50/asyncapi-core/src/main/java/com/asyncapi/v2/model/schema/Schema.java#L288

Expected behavior

This fields should be boolean data type

github-actions[bot] commented 2 years ago

Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

Crain-32 commented 2 years ago

Numeric values are in line with the latest 2021 Draft

exclusiveMaximum/exclusiveMinimum were swapped from Boolean to Numeric around Draft-06, so no need for change.

ivanalayan15 commented 2 years ago

hmmm got it thanks for that, but should it be change to big decimal data type? to able to handle decimal values.

Crain-32 commented 2 years ago

Hmm, I didn't think about that. BigDecimal would put it into the greatest level of Compliance with the Draft, so probably that.

Pakisan commented 2 years ago

@Crain-32 @ivanalayan15 As I remember we must respect 07 standard. Will try to change it as soon as possible. Or you can crate pr

Crain-32 commented 2 years ago

@Pakisan You can find my Draft PR above. Kotlin wasn't working on my Local, so I made it in case someone else can run the tests while I debug Kotlin over the weekend.

Beyond exclusiveMin and exclusiveMax I swapped min and max to be BigDecimal, as the standard calls them "numbers".

Technically multipleOf could be a BigDecimal/BigInteger, however it states the value is only valid if Division by the value results in an integer. So I left it as-is.

ivanalayan15 commented 2 years ago

hi @Crain-32 @Pakisan , i raise a new PR since @Crain-32 changes when i test it on my local got some issue with unit test which broke because of the change of the data type here is the PR: https://github.com/asyncapi/jasyncapi/pull/100 i able to run the kotlin test in my local see the pr for details thanks

Crain-32 commented 2 years ago

Once @Pakisan responds I can drop #99 and we can move forward with #100. Thanks for Testing that, I still need to fix my Kotlin :/

ivanalayan15 commented 2 years ago

hello @Pakisan any update on it thank you

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart:

Pakisan commented 1 year ago

@ivanalayan15 @Crain-32 merged.

https://github.com/asyncapi/jasyncapi/issues/126