This repository has been archived by the owner on Nov 13, 2024. It is now read-only.
Fixes to allow gson to correctly serialise constants and enums #72
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.
Why?
Related to findings as part of galasa-dev/projectmanagement#1467
Currently, generated Java bean classes declare constants as static fields, but gson doesn't serialise static fields, so the resulting JSON doesn't include these constants.
When converting an enum value to JSON, it doesn't use the enum's human-readable string values and instead, uses the enum's constant value as it is declared.
Changes
public final String MY_CONSTANT = "ConstantValue"
) so that gson can serialise such fields@SerializedName
annotations to generated enum values so that enums are correctly serialised into their string representationsUSERNAME_PASSWORD("UsernamePassword")
converting this value to JSON will be rendered asUsernamePassword
instead ofUSERNAME_PASSWORD
public MyBean ()
now becomespublic MyBean()
)MY_VALUE ("MyValue")
now becomesMY_VALUE("MyValue")
)