You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by "nidhiii128 (via GitHub)" <gi...@apache.org> on 2026/02/08 11:42:28 UTC

[PR] FINERACT-2475: Implement missing Business Events for Client lifecycle… [fineract]

nidhiii128 opened a new pull request, #5467:
URL: https://github.com/apache/fineract/pull/5467

   … transitions
   
   ## Description
   
   Apache Fineract is moving toward a robust Event-Driven Architecture (EDA) as part of the modernization efforts (referencing FINERACT-2022). While the Client module already supported events for creation and activation, several critical lifecycle transitions remained "silent," making it difficult for external systems to synchronize or react to client state changes.ChangesThis PR completes the event coverage for the Client entity by implementing the following:
   New Business Event Classes: Created 5 new classes in org.apache.fineract.infrastructure.event.business.domain.client, all extending the modern ClientBusinessEvent base class:
   ClientCloseBusinessEvent
   ClientWithdrawBusinessEvent
   ClientReactivateBusinessEvent
   ClientUndoRejectionBusinessEvent
   ClientUndoWithdrawalBusinessEventService 
   Integration: Updated ClientWritePlatformServiceJpaRepositoryImpl to trigger these events using the businessEventNotifierService.
   Transaction Safety: Events are triggered immediately following saveAndFlush() to ensure notifications are only sent after successful database persistence.
   Impact
   EDA Support: External integration layers (like notification services or audit logs) can now subscribe to the full suite of client lifecycle events.Performance: The changes introduce O(1) overhead and adhere to the lightweight event-handling framework of the project.
   
   ## Checklist
   
   Please make sure these boxes are checked before submitting your pull request - thanks!
   
   - [x] Write the commit message as per [our guidelines](https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md#pull-requests)
   - [x] 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.
   - [x] Create/update [unit or integration tests](https://fineract.apache.org/docs/current/#_testing) for verifying the changes made.
   - [x] Follow our [coding conventions](https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions).
   - [x] 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
   - [x] [This PR must not be a "code dump"](https://cwiki.apache.org/confluence/display/FINERACT/Pull+Request+Size+Limit). Large changes can be made in a branch, with assistance. Ask for help on the [developer mailing list](https://fineract.apache.org/#contribute).
   
   Your assigned reviewer(s) will follow our [guidelines for code reviews](https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement Business Events for missing Client lifecycle transitions [fineract]

Posted by "nidhiii128 (via GitHub)" <gi...@apache.org>.
nidhiii128 closed pull request #5467: FINERACT-2475: Implement Business Events for missing Client lifecycle transitions
URL: https://github.com/apache/fineract/pull/5467


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement missing Business Events for Client lifecycle… [fineract]

Posted by "airajena (via GitHub)" <gi...@apache.org>.
airajena commented on PR #5467:
URL: https://github.com/apache/fineract/pull/5467#issuecomment-3871865340

   @Aman-Mittal we are still enforcing one commit per PR here at fineract right? if that's the case @nidhiii128 you need to squash all your commits. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement Business Events for missing Client lifecycle transitions [fineract]

Posted by "nidhiii128 (via GitHub)" <gi...@apache.org>.
nidhiii128 commented on code in PR #5467:
URL: https://github.com/apache/fineract/pull/5467#discussion_r2788742054


##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java:
##########
@@ -1094,7 +1102,7 @@ public CommandProcessingResult undoWithdrawal(Long entityId, JsonCommand command
         }
         client.reOpened(currentUser, undoWithdrawalDate);
         this.clientRepository.saveAndFlush(client);
-
+        businessEventNotifierService.notifyPostBusinessEvent(new ClientUndoWithdrawalBusinessEvent(client));

Review Comment:
   @Aman-Mittal  I have added the unit tests for the Client lifecycle events in ClientWritePlatformServiceJpaRepositoryImplTest.java to ensure logic coverage as requested.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement Business Events for missing Client lifecycle transitions [fineract]

Posted by "nidhiii128 (via GitHub)" <gi...@apache.org>.
nidhiii128 commented on PR #5467:
URL: https://github.com/apache/fineract/pull/5467#issuecomment-3878716670

   > @Aman-Mittal we are still enforcing one commit per PR here at fineract right? if that's the case @nidhiii128 you need to squash all your commits.
   
   @airajena  I have squashed all changes into a single signed commit and corrected the PR title. The formatting has also been fixed using Spotless. The PR should now satisfy all compliance checks and is ready for your final review. Thanks!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement missing Business Events for Client lifecycle… [fineract]

Posted by "nidhiii128 (via GitHub)" <gi...@apache.org>.
nidhiii128 commented on PR #5467:
URL: https://github.com/apache/fineract/pull/5467#issuecomment-3869659654

   > please run ./gradlew spotlessApply spotbugsMain spotbugsTest checkstyleMain checkstyleTest before every commits and don't forget to sign your commits.
   
   I have now run spotlessApply, spotbugs, and checkstyle locally to ensure the build is clean. I've also pushed a signed commit that satisfies the project standards. All CI checks are now passing. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement missing Business Events for Client lifecycle… [fineract]

Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on PR #5467:
URL: https://github.com/apache/fineract/pull/5467#issuecomment-3872380042

   > @Aman-Mittal we are still enforcing one commit per PR here at fineract right? if that's the case @nidhiii128 you need to squash all your commits.
   
   Yes i agree, its one commit PR, even if in this case if we are follow per person commit per pr it is still breaking the convention. 
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement missing Business Events for Client lifecycle… [fineract]

Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal commented on code in PR #5467:
URL: https://github.com/apache/fineract/pull/5467#discussion_r2781946367


##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java:
##########
@@ -1094,7 +1102,7 @@ public CommandProcessingResult undoWithdrawal(Long entityId, JsonCommand command
         }
         client.reOpened(currentUser, undoWithdrawalDate);
         this.clientRepository.saveAndFlush(client);
-
+        businessEventNotifierService.notifyPostBusinessEvent(new ClientUndoWithdrawalBusinessEvent(client));

Review Comment:
   Can you add unit tests for these function for coverage 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement Business Events for missing Client lifecycle transitions [fineract]

Posted by "airajena (via GitHub)" <gi...@apache.org>.
airajena commented on PR #5467:
URL: https://github.com/apache/fineract/pull/5467#issuecomment-3882956348

   > > @Aman-Mittal we are still enforcing one commit per PR here at fineract right? if that's the case @nidhiii128 you need to squash all your commits.
   > 
   > @airajena I have squashed all changes into a single signed commit and corrected the PR title. The formatting has also been fixed using Spotless. The PR should now satisfy all compliance checks and is ready for your final review. Thanks!
   
   Seems the raised PR was using an outdated 'develop' branch as base. Please rebase your current branch. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement missing Business Events for Client lifecycle… [fineract]

Posted by "airajena (via GitHub)" <gi...@apache.org>.
airajena commented on PR #5467:
URL: https://github.com/apache/fineract/pull/5467#issuecomment-3867786749

   please run ./gradlew spotlessApply spotbugsMain spotbugsTest checkstyleMain checkstyleTest before every commits and don't forget to sign your commits. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2475: Implement Business Events for missing Client lifecycle transitions [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy closed pull request #5467: FINERACT-2475: Implement Business Events for missing Client lifecycle transitions
URL: https://github.com/apache/fineract/pull/5467


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org