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)

Reply via email to