Skip to content

FINERACT-2489: Fix NPE for missing charts in Recurring Deposit Product#5490

Open
Dhanno98 wants to merge 1 commit intoapache:developfrom
Dhanno98:FINERACT-2489/fix-npe-for-charts-in-recurring-deposit-product
Open

FINERACT-2489: Fix NPE for missing charts in Recurring Deposit Product#5490
Dhanno98 wants to merge 1 commit intoapache:developfrom
Dhanno98:FINERACT-2489/fix-npe-for-charts-in-recurring-deposit-product

Conversation

@Dhanno98
Copy link
Contributor

@Dhanno98 Dhanno98 commented Feb 13, 2026

Description

Implements FINERACT-2489.

Problem

While creating a Recurring Deposit Product using POST /v1/recurringdepositproducts, the request fails with HTTP 500 Internal Server Error when the charts parameter is omitted.

Current Behavior

The validation flow effectively requires charts as required. However, when it is missing a NullPointerException occurs inside DepositProductDataValidator.validateChartsData() before the validation framework can return a proper validation error.
So the users receive a 500 response instead of a 400 along with a meaningful validation message.

Why this happens

Unlike optional parameters, the code path for charts does not check parameterExists() before validation, which indicates the parameter is mandatory.
DataValidatorBuilder.notNull().jsonArrayNotEmpty() is already present but execution proceeds further and triggers NPE.

What this PR does

  • Add a null guard to prevent NPE.
  • Allow the existing validator to correctly return a 400 Bad Request with a proper validation message consistent with the rest of the mandatory fields when they are found missing.
  • Updates API documentation to move charts from Optional Fields to Mandatory Fields.

Result after fix

If charts is missing, the API now returns a consistent validation error, similar to other mandatory fields.
No functional behavior is changed beyond improving error handling and documentation alignment.

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per our guidelines
  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
  • Create/update unit or integration tests for verifying the changes made.
  • Follow our coding conventions.
  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
  • This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.

Your assigned reviewer(s) will follow our guidelines for code reviews.

@Dhanno98 Dhanno98 force-pushed the FINERACT-2489/fix-npe-for-charts-in-recurring-deposit-product branch from dc1e201 to c160eb2 Compare February 14, 2026 15:00
@Dhanno98
Copy link
Contributor Author

Rebased the branch onto the latest develop and force-pushed. Thank you!

@Dhanno98
Copy link
Contributor Author

I checked the failed job and it appears that the failure in verify (build-core, main) is related to the unresolved org.eclipse.swt.${osgi.platform} dependency. I can see similar failures in a few other recent PRs as well.

I have not modified any build or dependency configuration in this PR but please let me know if you think I should investigate anything further or rebase once this is resolved in develop.
Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant