Skip to content

FINERACT-2657: Fix NPE updating a provisioning criteria by matching definitions on categoryId#6027

Open
oluexpert99 wants to merge 1 commit into
apache:developfrom
TECHSERVICES-LIMITED:bugfix/FINERACT-2657
Open

FINERACT-2657: Fix NPE updating a provisioning criteria by matching definitions on categoryId#6027
oluexpert99 wants to merge 1 commit into
apache:developfrom
TECHSERVICES-LIMITED:bugfix/FINERACT-2657

Conversation

@oluexpert99

Copy link
Copy Markdown
Contributor

Description

  • ProvisioningCriteria.update matched incoming definitions by the surrogate id, but the public UPDATE
    payload keys each definition only by categoryId, so data.getId() was null and update() threw a
    NullPointerException (HTTP 500) on every provisioning-criteria update.
  • Match the existing definition by categoryId (its natural key, unique per criteria) and reject an
    unknown categoryId with a clean validation error instead of the NPE; add a getCategoryId() accessor
    on ProvisioningCriteriaDefinition.
  • Add ProvisioningCriteriaTest covering the match-by-categoryId update path and the unknown-category
    validation path.

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.

…efinitions on categoryId

- ProvisioningCriteria.update matched incoming definitions by the surrogate id, but the public UPDATE
  payload keys each definition only by categoryId, so data.getId() was null and update() threw a
  NullPointerException (HTTP 500) on every provisioning-criteria update.
- Match the existing definition by categoryId (its natural key, unique per criteria) and reject an
  unknown categoryId with a clean validation error instead of the NPE; add a getCategoryId() accessor
  on ProvisioningCriteriaDefinition.
- Add ProvisioningCriteriaTest covering the match-by-categoryId update path and the unknown-category
  validation path.

Signed-off-by: oluexpert99 <farooq@techservicehub.io>
@oluexpert99 oluexpert99 force-pushed the bugfix/FINERACT-2657 branch from d9295bf to 9406803 Compare June 23, 2026 23:33
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