Aleksandar Vidakovic created FINERACT-1783:
----------------------------------------------
Summary: Make LoanRepaymentScheduleTransactionProcessor
customizeable
Key: FINERACT-1783
URL: https://issues.apache.org/jira/browse/FINERACT-1783
Project: Apache Fineract
Issue Type: Improvement
Reporter: Aleksandar Vidakovic
Assignee: Aleksandar Vidakovic
Fix For: 1.9.0
Currently Fineract supports 6 loan transaction processing strategies:
* standard
* heavens family
* early payment
* creocore
* Indian RBI
* principal/interest/penalty/fees order (default)
The strategy is loaded/instantiated via a factory class
"LoanRepaymentScheduleTransactionProcessor" and it's only method
"determineProcessor" by passing a "LoanTransactionProcessingStrategy" object.
"LoanTransactionProcessingStrategy" is effectively treated like an enum (only
its "code" attribute is used). The other attributes
"LoanTransactionProcessingStrategy" seem to be only for display purposes in a
UI.
Proposed improvements:
* remove hardcoded instantiations of processors
* remove "LoanTransactionProcessingStrategy" and avoid storing this
information in the database (table "ref_loan_transaction_processing_strategy")
in the first place. This would also remove some unnecessary constraints/joins
to this table.
* use dependency injection to make loan transaction processing customizable
* provide possibility to list all available processors for display in a UI
--
This message was sent by Atlassian Jira
(v8.20.10#820010)