FINERACT-1694 Categorization for Events

This commit is contained in:
Ruchi Dhamankar
2022-09-30 09:13:10 +02:00
committed by Aleksandar Vidakovic
parent af63dbc9fa
commit 5bd804ada8
94 changed files with 399 additions and 84 deletions
@@ -22,12 +22,20 @@ import java.util.List;
public class BulkBusinessEvent extends AbstractBusinessEvent<List<BusinessEvent<?>>> {
private static final String CATEGORY = "Bulk";
private static final String TYPE = "BulkBusinessEvent";
public BulkBusinessEvent(List<BusinessEvent<?>> value) {
super(value);
}
@Override
public String getType() {
return "BulkBusinessEvent";
return TYPE;
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -23,4 +23,6 @@ public interface BusinessEvent<T> {
T get();
String getType();
String getCategory();
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.client.domain.Client;
public class ClientActivateBusinessEvent extends ClientBusinessEvent {
private static final String TYPE = "ClientActivateBusinessEvent";
public ClientActivateBusinessEvent(Client value) {
super(value);
}
@Override
public String getType() {
return "ClientActivateBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.client.domain.Client;
public abstract class ClientBusinessEvent extends AbstractBusinessEvent<Client> {
private static final String CATEGORY = "Client";
public ClientBusinessEvent(Client value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.client.domain.Client;
public class ClientCreateBusinessEvent extends ClientBusinessEvent {
private static final String TYPE = "ClientCreateBusinessEvent";
public ClientCreateBusinessEvent(Client value) {
super(value);
}
@Override
public String getType() {
return "ClientCreateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.client.domain.Client;
public class ClientRejectBusinessEvent extends ClientBusinessEvent {
private static final String TYPE = "ClientRejectBusinessEvent";
public ClientRejectBusinessEvent(Client value) {
super(value);
}
@Override
public String getType() {
return "ClientRejectBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.savings.domain.FixedDepositAccount;
public abstract class FixedDepositAccountBusinessEvent extends AbstractBusinessEvent<FixedDepositAccount> {
private static final String CATEGORY = "Deposit";
public FixedDepositAccountBusinessEvent(FixedDepositAccount value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.FixedDepositAccount;
public class FixedDepositAccountCreateBusinessEvent extends FixedDepositAccountBusinessEvent {
private static final String TYPE = "FixedDepositAccountCreateBusinessEvent";
public FixedDepositAccountCreateBusinessEvent(FixedDepositAccount value) {
super(value);
}
@Override
public String getType() {
return "FixedDepositAccountCreateBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.savings.domain.RecurringDepositAccount;
public abstract class RecurringDepositAccountBusinessEvent extends AbstractBusinessEvent<RecurringDepositAccount> {
private static final String CATEGORY = "Deposit";
public RecurringDepositAccountBusinessEvent(RecurringDepositAccount value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.RecurringDepositAccount;
public class RecurringDepositAccountCreateBusinessEvent extends RecurringDepositAccountBusinessEvent {
private static final String TYPE = "RecurringDepositAccountCreateBusinessEvent";
public RecurringDepositAccountCreateBusinessEvent(RecurringDepositAccount value) {
super(value);
}
@Override
public String getType() {
return "RecurringDepositAccountCreateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
public class CentersCreateBusinessEvent extends GroupsBusinessEvent {
private static final String TYPE = "CentersCreateBusinessEvent";
public CentersCreateBusinessEvent(CommandProcessingResult value) {
super(value);
}
@Override
public String getType() {
return "CentersCreateBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.infrastructure.event.business.domain.AbstractBusiness
public abstract class GroupsBusinessEvent extends AbstractBusinessEvent<CommandProcessingResult> {
private static final String CATEGORY = "Group";
public GroupsBusinessEvent(CommandProcessingResult value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
public class GroupsCreateBusinessEvent extends GroupsBusinessEvent {
private static final String TYPE = "GroupsCreateBusinessEvent";
public GroupsCreateBusinessEvent(CommandProcessingResult value) {
super(value);
}
@Override
public String getType() {
return "GroupsCreateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanAcceptTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanAcceptTransferBusinessEvent";
public LoanAcceptTransferBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanAcceptTransferBusinessEvent";
return TYPE;
}
}
@@ -26,13 +26,21 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanAdjustTransactionBusinessEvent extends AbstractBusinessEvent<LoanAdjustTransactionBusinessEvent.Data> {
private static final String TYPE = "LoanAdjustTransactionBusinessEvent";
private static final String CATEGORY = "Loan";
public LoanAdjustTransactionBusinessEvent(Data value) {
super(value);
}
@Override
public String getType() {
return "LoanAdjustTransactionBusinessEvent";
return TYPE;
}
@Override
public String getCategory() {
return CATEGORY;
}
@RequiredArgsConstructor
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanApplyOverdueChargeBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanApplyOverdueChargeBusinessEvent";
public LoanApplyOverdueChargeBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanApplyOverdueChargeBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanApprovedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanApprovedBusinessEvent";
public LoanApprovedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanApprovedBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanBalanceChangedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanBalanceChangedBusinessEvent";
public LoanBalanceChangedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanBalanceChangedBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public abstract class LoanBusinessEvent extends AbstractBusinessEvent<Loan> {
private static final String CATEGORY = "Loan";
public LoanBusinessEvent(Loan value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCloseAsRescheduleBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCloseAsRescheduleBusinessEvent";
public LoanCloseAsRescheduleBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanCloseAsRescheduleBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCloseBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCloseBusinessEvent";
public LoanCloseBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanCloseBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCreatedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCreatedBusinessEvent";
public LoanCreatedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanCreatedBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanDisbursalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanDisbursalBusinessEvent";
public LoanDisbursalBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanDisbursalBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanInitiateTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanInitiateTransferBusinessEvent";
public LoanInitiateTransferBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanInitiateTransferBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanInterestRecalculationBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanInterestRecalculationBusinessEvent";
public LoanInterestRecalculationBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanInterestRecalculationBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanReassignOfficerBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanReassignOfficerBusinessEvent";
public LoanReassignOfficerBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanReassignOfficerBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRejectTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRejectTransferBusinessEvent";
public LoanRejectTransferBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanRejectTransferBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRejectedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRejectedBusinessEvent";
public LoanRejectedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanRejectedBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRemoveOfficerBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRemoveOfficerBusinessEvent";
public LoanRemoveOfficerBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanRemoveOfficerBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRescheduledDueCalendarChangeBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRescheduledDueCalendarChangeBusinessEvent";
public LoanRescheduledDueCalendarChangeBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanRescheduledDueCalendarChangeBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRescheduledDueHolidayBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRescheduledDueHolidayBusinessEvent";
public LoanRescheduledDueHolidayBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanRescheduledDueHolidayBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanScheduleVariationsAddedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanScheduleVariationsAddedBusinessEvent";
public LoanScheduleVariationsAddedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanScheduleVariationsAddedBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanScheduleVariationsDeletedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanScheduleVariationsDeletedBusinessEvent";
public LoanScheduleVariationsDeletedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanScheduleVariationsDeletedBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanStatusChangedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanStatusChangedBusinessEvent";
public LoanStatusChangedBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanStatusChangedBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUndoApprovalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUndoApprovalBusinessEvent";
public LoanUndoApprovalBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanUndoApprovalBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUndoDisbursalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUndoDisbursalBusinessEvent";
public LoanUndoDisbursalBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanUndoDisbursalBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUndoLastDisbursalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUndoLastDisbursalBusinessEvent";
public LoanUndoLastDisbursalBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanUndoLastDisbursalBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUpdateDisbursementDataBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUpdateDisbursementDataBusinessEvent";
public LoanUpdateDisbursementDataBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanUpdateDisbursementDataBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanWithdrawTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanWithdrawTransferBusinessEvent";
public LoanWithdrawTransferBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanWithdrawTransferBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanAddChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanAddChargeBusinessEvent";
public LoanAddChargeBusinessEvent(LoanCharge value) {
super(value);
}
@Override
public String getType() {
return "LoanAddChargeBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public abstract class LoanChargeBusinessEvent extends AbstractBusinessEvent<LoanCharge> {
private static final String CATEGORY = "Loan";
public LoanChargeBusinessEvent(LoanCharge value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanDeleteChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanDeleteChargeBusinessEvent";
public LoanDeleteChargeBusinessEvent(LoanCharge value) {
super(value);
}
@Override
public String getType() {
return "LoanDeleteChargeBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanUpdateChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanUpdateChargeBusinessEvent";
public LoanUpdateChargeBusinessEvent(LoanCharge value) {
super(value);
}
@Override
public String getType() {
return "LoanUpdateChargeBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanWaiveChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanWaiveChargeBusinessEvent";
public LoanWaiveChargeBusinessEvent(LoanCharge value) {
super(value);
}
@Override
public String getType() {
return "LoanWaiveChargeBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanWaiveChargeUndoBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanWaiveChargeUndoBusinessEvent";
public LoanWaiveChargeUndoBusinessEvent(LoanCharge value) {
super(value);
}
@Override
public String getType() {
return "LoanWaiveChargeUndoBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
public abstract class LoanProductBusinessEvent extends AbstractBusinessEvent<LoanProduct> {
private static final String CATEGORY = "Loan";
public LoanProductBusinessEvent(LoanProduct value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
public class LoanProductCreateBusinessEvent extends LoanProductBusinessEvent {
private static final String TYPE = "LoanProductCreateBusinessEvent";
public LoanProductCreateBusinessEvent(LoanProduct value) {
super(value);
}
@Override
public String getType() {
return "LoanProductCreateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanChargePaymentPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanChargePaymentPostBusinessEvent";
public LoanChargePaymentPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanChargePaymentPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanChargePaymentPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanChargePaymentPreBusinessEvent";
public LoanChargePaymentPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanChargePaymentPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanChargeRefundBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanChargeRefundBusinessEvent";
public LoanChargeRefundBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanChargeRefundBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanCreditBalanceRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanCreditBalanceRefundPostBusinessEvent";
public LoanCreditBalanceRefundPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanCreditBalanceRefundPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCreditBalanceRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCreditBalanceRefundPreBusinessEvent";
public LoanCreditBalanceRefundPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanCreditBalanceRefundPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanDisbursalTransactionBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanDisbursalTransactionBusinessEvent";
public LoanDisbursalTransactionBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanDisbursalTransactionBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanForeClosurePostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanForeClosurePostBusinessEvent";
public LoanForeClosurePostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanForeClosurePostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanForeClosurePreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanForeClosurePreBusinessEvent";
public LoanForeClosurePreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanForeClosurePreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanRefundPostBusinessEvent";
public LoanRefundPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanRefundPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRefundPreBusinessEvent";
public LoanRefundPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanRefundPreBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public abstract class LoanTransactionBusinessEvent extends AbstractBusinessEvent<LoanTransaction> {
private static final String CATEGORY = "Loan";
public LoanTransactionBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionGoodwillCreditPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionGoodwillCreditPostBusinessEvent";
public LoanTransactionGoodwillCreditPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionGoodwillCreditPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionGoodwillCreditPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionGoodwillCreditPreBusinessEvent";
public LoanTransactionGoodwillCreditPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionGoodwillCreditPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionMakeRepaymentPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionMakeRepaymentPostBusinessEvent";
public LoanTransactionMakeRepaymentPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionMakeRepaymentPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionMakeRepaymentPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionMakeRepaymentPreBusinessEvent";
public LoanTransactionMakeRepaymentPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionMakeRepaymentPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionMerchantIssuedRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionMerchantIssuedRefundPostBusinessEvent";
public LoanTransactionMerchantIssuedRefundPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionMerchantIssuedRefundPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionMerchantIssuedRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionMerchantIssuedRefundPreBusinessEvent";
public LoanTransactionMerchantIssuedRefundPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionMerchantIssuedRefundPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionPayoutRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionPayoutRefundPostBusinessEvent";
public LoanTransactionPayoutRefundPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionPayoutRefundPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionPayoutRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionPayoutRefundPreBusinessEvent";
public LoanTransactionPayoutRefundPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionPayoutRefundPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionRecoveryPaymentPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionRecoveryPaymentPostBusinessEvent";
public LoanTransactionRecoveryPaymentPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionRecoveryPaymentPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionRecoveryPaymentPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionRecoveryPaymentPreBusinessEvent";
public LoanTransactionRecoveryPaymentPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanTransactionRecoveryPaymentPreBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanUndoWrittenOffBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanUndoWrittenOffBusinessEvent";
public LoanUndoWrittenOffBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanUndoWrittenOffBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanWaiveInterestBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanWaiveInterestBusinessEvent";
public LoanWaiveInterestBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanWaiveInterestBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanWrittenOffPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanWrittenOffPostBusinessEvent";
public LoanWrittenOffPostBusinessEvent(LoanTransaction value) {
super(value);
}
@Override
public String getType() {
return "LoanWrittenOffPostBusinessEvent";
return TYPE;
}
}
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanWrittenOffPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanWrittenOffPreBusinessEvent";
public LoanWrittenOffPreBusinessEvent(Loan value) {
super(value);
}
@Override
public String getType() {
return "LoanWrittenOffPreBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public abstract class SavingsAccountBusinessEvent extends AbstractBusinessEvent<SavingsAccount> {
private static final String CATEGORY = "Savings";
public SavingsAccountBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsActivateBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsActivateBusinessEvent";
public SavingsActivateBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getType() {
return "SavingsActivateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsApproveBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsApproveBusinessEvent";
public SavingsApproveBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getType() {
return "SavingsApproveBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsCloseBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsCloseBusinessEvent";
public SavingsCloseBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getType() {
return "SavingsCloseBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsCreateBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsCreateBusinessEvent";
public SavingsCreateBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getType() {
return "SavingsCreateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsPostInterestBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsPostInterestBusinessEvent";
public SavingsPostInterestBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getType() {
return "SavingsPostInterestBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsRejectBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsRejectBusinessEvent";
public SavingsRejectBusinessEvent(SavingsAccount value) {
super(value);
}
@Override
public String getType() {
return "SavingsRejectBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
public abstract class SavingsAccountTransactionBusinessEvent extends AbstractBusinessEvent<SavingsAccountTransaction> {
private static final String CATEGORY = "Savings";
public SavingsAccountTransactionBusinessEvent(SavingsAccountTransaction value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
public class SavingsDepositBusinessEvent extends SavingsAccountTransactionBusinessEvent {
private static final String TYPE = "SavingsDepositBusinessEvent";
public SavingsDepositBusinessEvent(SavingsAccountTransaction value) {
super(value);
}
@Override
public String getType() {
return "SavingsDepositBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
public class SavingsWithdrawalBusinessEvent extends SavingsAccountTransactionBusinessEvent {
private static final String TYPE = "SavingsWithdrawalBusinessEvent";
public SavingsWithdrawalBusinessEvent(SavingsAccountTransaction value) {
super(value);
}
@Override
public String getType() {
return "SavingsWithdrawalBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.shareaccounts.domain.ShareAccount;
public class ShareAccountApproveBusinessEvent extends ShareAccountBusinessEvent {
private static final String TYPE = "ShareAccountApproveBusinessEvent";
public ShareAccountApproveBusinessEvent(ShareAccount value) {
super(value);
}
@Override
public String getType() {
return "ShareAccountApproveBusinessEvent";
return TYPE;
}
}
@@ -23,7 +23,14 @@ import org.apache.fineract.portfolio.shareaccounts.domain.ShareAccount;
public abstract class ShareAccountBusinessEvent extends AbstractBusinessEvent<ShareAccount> {
private static final String CATEGORY = "Share";
public ShareAccountBusinessEvent(ShareAccount value) {
super(value);
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.shareaccounts.domain.ShareAccount;
public class ShareAccountCreateBusinessEvent extends ShareAccountBusinessEvent {
private static final String TYPE = "ShareAccountCreateBusinessEvent";
public ShareAccountCreateBusinessEvent(ShareAccount value) {
super(value);
}
@Override
public String getType() {
return "ShareAccountCreateBusinessEvent";
return TYPE;
}
}
@@ -22,12 +22,20 @@ import org.apache.fineract.infrastructure.event.business.domain.AbstractBusiness
public class ShareProductDividentsCreateBusinessEvent extends AbstractBusinessEvent<Long> {
private static final String TYPE = "ShareProductDividentsCreateBusinessEvent";
private static final String CATEGORY = "Share";
public ShareProductDividentsCreateBusinessEvent(Long value) {
super(value);
}
@Override
public String getType() {
return "ShareProductDividentsCreateBusinessEvent";
return TYPE;
}
@Override
public String getCategory() {
return CATEGORY;
}
}
@@ -42,6 +42,9 @@ public class ExternalEvent extends AbstractPersistableCustom {
@Column(name = "type", nullable = false)
private String type;
@Column(name = "category", nullable = false)
private String category;
@Column(name = "schema", nullable = false)
private String schema;
@@ -67,8 +70,9 @@ public class ExternalEvent extends AbstractPersistableCustom {
@Column(name = "business_date", nullable = false)
private LocalDate businessDate;
public ExternalEvent(String type, String schema, byte[] data, String idempotencyKey) {
public ExternalEvent(String type, String category, String schema, byte[] data, String idempotencyKey) {
this.type = type;
this.category = category;
this.schema = schema;
this.data = data;
this.idempotencyKey = idempotencyKey;
@@ -84,17 +84,19 @@ public class ExternalEventService {
BulkMessagePayloadV1 avroDto = new BulkMessagePayloadV1(messages);
byte[] data = byteBufferConverter.convert(avroDto.toByteBuffer());
return new ExternalEvent(bulkBusinessEvent.getType(), BulkMessagePayloadV1.class.getName(), data, idempotencyKey);
return new ExternalEvent(bulkBusinessEvent.getType(), bulkBusinessEvent.getCategory(), BulkMessagePayloadV1.class.getName(), data,
idempotencyKey);
}
private <T> ExternalEvent handleRegularBusinessEvent(BusinessEvent<T> event) throws IOException {
String eventType = event.getType();
String eventCategory = event.getCategory();
String idempotencyKey = idempotencyKeyGenerator.generate(event);
BusinessEventSerializer serializer = serializerFactory.create(event);
String schema = serializer.getSupportedSchema().getName();
byte[] data = serializer.serialize(event);
return new ExternalEvent(eventType, schema, data, idempotencyKey);
return new ExternalEvent(eventType, eventCategory, schema, data, idempotencyKey);
}
private void flushChangesBeforeSerialization() {
@@ -80,8 +80,7 @@ public class MessageFactory implements InitializingBean {
MessageId id = new MessageId(event.getId().intValue());
MessageSource source = new MessageSource(SOURCE_UUID);
MessageType type = new MessageType(event.getType());
String messageCategory = "nocategory";
MessageCategory category = new MessageCategory(messageCategory);
MessageCategory category = new MessageCategory(event.getCategory());
MessageIdempotencyKey idempotencyKey = new MessageIdempotencyKey(event.getIdempotencyKey());
MessageDataSchema dataSchema = new MessageDataSchema(event.getSchema());
MessageData data = new MessageData(byteBufferConverter.convert(event.getData()));
@@ -70,4 +70,5 @@
<include file="parts/0048_rework_loan_account_locks.xml" relativeToChangelogFile="true"/>
<include file="parts/0049_add_send_asynchronous_events_job.xml" relativeToChangelogFile="true"/>
<include file="parts/0050_add_reverse_flag_disbursement_details.xml" relativeToChangelogFile="true"/>
<include file="parts/0051_external_event_table_category_info.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
<changeSet author="fineract" id="1">
<addColumn tableName="m_external_event">
<column name="category" type="VARCHAR(100)">
<constraints nullable="false"/>
</column>
</addColumn>
</changeSet>
</databaseChangeLog>
@@ -156,6 +156,11 @@ class BusinessEventNotifierServiceImplTest {
public String getType() {
return null;
}
@Override
public String getCategory() {
return null;
}
}
}
@@ -99,8 +99,8 @@ class SendAsynchronousEventsTaskletTest {
@Test
public void givenBatchSize2WhenTaskExecutionThenSend2Events() throws Exception {
// given
List<ExternalEvent> events = Arrays.asList(new ExternalEvent("aType", "aSchema", new byte[0], "aIdemtpotencyKey"),
new ExternalEvent("aType", "aSchema", new byte[0], "aIdemtpotencyKey"));
List<ExternalEvent> events = Arrays.asList(new ExternalEvent("aType", "aCategory", "aSchema", new byte[0], "aIdemtpotencyKey"),
new ExternalEvent("aType", "aCategory", "aSchema", new byte[0], "aIdemtpotencyKey"));
// Dummy Message
MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey",
"aSchema", Mockito.mock(ByteBuffer.class));
@@ -120,8 +120,8 @@ class SendAsynchronousEventsTaskletTest {
@Test
public void givenBatchSize2WhenEventSendFailsThenExecutionStops() throws Exception {
// given
List<ExternalEvent> events = Arrays.asList(new ExternalEvent("aType", "aSchema", new byte[0], "aIdemtpotencyKey"),
new ExternalEvent("aType", "aSchema", new byte[0], "aIdemtpotencyKey"));
List<ExternalEvent> events = Arrays.asList(new ExternalEvent("aType", "aCategory", "aSchema", new byte[0], "aIdemtpotencyKey"),
new ExternalEvent("aType", "aCategory", "aSchema", new byte[0], "aIdemtpotencyKey"));
MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey",
"aSchema", Mockito.mock(ByteBuffer.class));
when(repository.findByStatusOrderById(Mockito.any(), Mockito.any())).thenReturn(events);
@@ -140,7 +140,7 @@ class SendAsynchronousEventsTaskletTest {
public void givenOneEventWhenEventSentThenEventStatusUpdates() throws Exception {
// given
ArgumentCaptor<ExternalEvent> externalEventArgumentCaptor = ArgumentCaptor.forClass(ExternalEvent.class);
List<ExternalEvent> events = Arrays.asList(new ExternalEvent("aType", "aSchema", new byte[0], "aIdemtpotencyKey"));
List<ExternalEvent> events = Arrays.asList(new ExternalEvent("aType", "aCategory", "aSchema", new byte[0], "aIdemtpotencyKey"));
MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey",
"aSchema", Mockito.mock(ByteBuffer.class));
when(repository.findByStatusOrderById(Mockito.any(), Mockito.any())).thenReturn(events);
@@ -159,4 +159,31 @@ class ExternalEventServiceTest {
assertThat(externalEvent.getType()).isEqualTo(eventType);
assertThat(externalEvent.getSchema()).isEqualTo(schema);
}
@Test
public void testPostEventShouldSaveEventCategory() throws IOException {
// given
ArgumentCaptor<ExternalEvent> externalEventArgumentCaptor = ArgumentCaptor.forClass(ExternalEvent.class);
String eventSchema = "org.apache.fineract.avro.loan.v1.LoanAccountDataV1";
String eventType = "TestType";
String eventCategory = "TestCategory";
String idempotencyKey = "key";
BusinessEvent event = mock(BusinessEvent.class);
BusinessEventSerializer eventSerializer = mock(BusinessEventSerializer.class);
byte[] data = new byte[0];
given(event.getType()).willReturn(eventType);
given(event.getCategory()).willReturn(eventCategory);
given(idempotencyKeyGenerator.generate(event)).willReturn(idempotencyKey);
given(serializerFactory.create(event)).willReturn(eventSerializer);
given(eventSerializer.getSupportedSchema()).will(invocation -> LoanAccountDataV1.class);
given(eventSerializer.serialize(event)).willReturn(data);
// when
underTest.postEvent(event);
// then
verify(repository).save(externalEventArgumentCaptor.capture());
ExternalEvent externalEvent = externalEventArgumentCaptor.getValue();
assertThat(externalEvent.getCategory()).isEqualTo(eventCategory);
}
}