FINERACT-2694: Return validation errors instead of 500 NPE when type parameters are omitted#6149
Open
Abhishek6122008 wants to merge 3 commits into
Conversation
…parameters are omitted SmsCampaignValidator, EmailCampaignValidator and StandingInstructionDataValidator queue a notNull validation error for triggerType/campaignType/transferType but dereference the extracted value (intValue() / enum fromInt switch) before the queued errors are thrown. Omitting the parameter therefore crashes with a NullPointerException and the API returns HTTP 500 instead of the intended 400 with the "parameter is mandatory" error. Add null guards at each dereference so the already-queued validation errors surface, and add regression tests reproducing the NPE for all three validators.
…-missing-type-params
… validator tests The recurrence-detail regression tests built their request JSON with String.formatted() on a text block containing newlines, which SpotBugs flags as VA_FORMAT_STRING_USES_NEWLINE and failed the spotbugsTest quality check. Build the JSON with String.replace() instead so no format string is involved; the enum value is still resolved at compile time and the assertions are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Describe the changes made and why they were made. (Ignore if these details are present on the associated Apache Fineract JIRA ticket.)
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
Your assigned reviewer(s) will follow our guidelines for code reviews.