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<?>>> { public class BulkBusinessEvent extends AbstractBusinessEvent<List<BusinessEvent<?>>> {
private static final String CATEGORY = "Bulk";
private static final String TYPE = "BulkBusinessEvent";
public BulkBusinessEvent(List<BusinessEvent<?>> value) { public BulkBusinessEvent(List<BusinessEvent<?>> value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "BulkBusinessEvent"; return TYPE;
}
@Override
public String getCategory() {
return CATEGORY;
} }
} }
@@ -23,4 +23,6 @@ public interface BusinessEvent<T> {
T get(); T get();
String getType(); String getType();
String getCategory();
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.client.domain.Client;
public class ClientActivateBusinessEvent extends ClientBusinessEvent { public class ClientActivateBusinessEvent extends ClientBusinessEvent {
private static final String TYPE = "ClientActivateBusinessEvent";
public ClientActivateBusinessEvent(Client value) { public ClientActivateBusinessEvent(Client value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class ClientBusinessEvent extends AbstractBusinessEvent<Client> {
private static final String CATEGORY = "Client";
public ClientBusinessEvent(Client value) { public ClientBusinessEvent(Client value) {
super(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 { public class ClientCreateBusinessEvent extends ClientBusinessEvent {
private static final String TYPE = "ClientCreateBusinessEvent";
public ClientCreateBusinessEvent(Client value) { public ClientCreateBusinessEvent(Client value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "ClientCreateBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.client.domain.Client;
public class ClientRejectBusinessEvent extends ClientBusinessEvent { public class ClientRejectBusinessEvent extends ClientBusinessEvent {
private static final String TYPE = "ClientRejectBusinessEvent";
public ClientRejectBusinessEvent(Client value) { public ClientRejectBusinessEvent(Client value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class FixedDepositAccountBusinessEvent extends AbstractBusinessEvent<FixedDepositAccount> {
private static final String CATEGORY = "Deposit";
public FixedDepositAccountBusinessEvent(FixedDepositAccount value) { public FixedDepositAccountBusinessEvent(FixedDepositAccount value) {
super(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 { public class FixedDepositAccountCreateBusinessEvent extends FixedDepositAccountBusinessEvent {
private static final String TYPE = "FixedDepositAccountCreateBusinessEvent";
public FixedDepositAccountCreateBusinessEvent(FixedDepositAccount value) { public FixedDepositAccountCreateBusinessEvent(FixedDepositAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class RecurringDepositAccountBusinessEvent extends AbstractBusinessEvent<RecurringDepositAccount> {
private static final String CATEGORY = "Deposit";
public RecurringDepositAccountBusinessEvent(RecurringDepositAccount value) { public RecurringDepositAccountBusinessEvent(RecurringDepositAccount value) {
super(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 { public class RecurringDepositAccountCreateBusinessEvent extends RecurringDepositAccountBusinessEvent {
private static final String TYPE = "RecurringDepositAccountCreateBusinessEvent";
public RecurringDepositAccountCreateBusinessEvent(RecurringDepositAccount value) { public RecurringDepositAccountCreateBusinessEvent(RecurringDepositAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "RecurringDepositAccountCreateBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
public class CentersCreateBusinessEvent extends GroupsBusinessEvent { public class CentersCreateBusinessEvent extends GroupsBusinessEvent {
private static final String TYPE = "CentersCreateBusinessEvent";
public CentersCreateBusinessEvent(CommandProcessingResult value) { public CentersCreateBusinessEvent(CommandProcessingResult value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class GroupsBusinessEvent extends AbstractBusinessEvent<CommandProcessingResult> {
private static final String CATEGORY = "Group";
public GroupsBusinessEvent(CommandProcessingResult value) { public GroupsBusinessEvent(CommandProcessingResult value) {
super(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 { public class GroupsCreateBusinessEvent extends GroupsBusinessEvent {
private static final String TYPE = "GroupsCreateBusinessEvent";
public GroupsCreateBusinessEvent(CommandProcessingResult value) { public GroupsCreateBusinessEvent(CommandProcessingResult value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "GroupsCreateBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanAcceptTransferBusinessEvent extends LoanBusinessEvent { public class LoanAcceptTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanAcceptTransferBusinessEvent";
public LoanAcceptTransferBusinessEvent(Loan value) { public LoanAcceptTransferBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public class LoanAdjustTransactionBusinessEvent extends AbstractBusinessEvent<LoanAdjustTransactionBusinessEvent.Data> {
private static final String TYPE = "LoanAdjustTransactionBusinessEvent";
private static final String CATEGORY = "Loan";
public LoanAdjustTransactionBusinessEvent(Data value) { public LoanAdjustTransactionBusinessEvent(Data value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanAdjustTransactionBusinessEvent"; return TYPE;
}
@Override
public String getCategory() {
return CATEGORY;
} }
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanApplyOverdueChargeBusinessEvent extends LoanBusinessEvent { public class LoanApplyOverdueChargeBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanApplyOverdueChargeBusinessEvent";
public LoanApplyOverdueChargeBusinessEvent(Loan value) { public LoanApplyOverdueChargeBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanApplyOverdueChargeBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanApprovedBusinessEvent extends LoanBusinessEvent { public class LoanApprovedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanApprovedBusinessEvent";
public LoanApprovedBusinessEvent(Loan value) { public LoanApprovedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanApprovedBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanBalanceChangedBusinessEvent extends LoanBusinessEvent { public class LoanBalanceChangedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanBalanceChangedBusinessEvent";
public LoanBalanceChangedBusinessEvent(Loan value) { public LoanBalanceChangedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class LoanBusinessEvent extends AbstractBusinessEvent<Loan> {
private static final String CATEGORY = "Loan";
public LoanBusinessEvent(Loan value) { public LoanBusinessEvent(Loan value) {
super(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 { public class LoanCloseAsRescheduleBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCloseAsRescheduleBusinessEvent";
public LoanCloseAsRescheduleBusinessEvent(Loan value) { public LoanCloseAsRescheduleBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanCloseAsRescheduleBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCloseBusinessEvent extends LoanBusinessEvent { public class LoanCloseBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCloseBusinessEvent";
public LoanCloseBusinessEvent(Loan value) { public LoanCloseBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanCloseBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCreatedBusinessEvent extends LoanBusinessEvent { public class LoanCreatedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCreatedBusinessEvent";
public LoanCreatedBusinessEvent(Loan value) { public LoanCreatedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanCreatedBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanDisbursalBusinessEvent extends LoanBusinessEvent { public class LoanDisbursalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanDisbursalBusinessEvent";
public LoanDisbursalBusinessEvent(Loan value) { public LoanDisbursalBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanDisbursalBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanInitiateTransferBusinessEvent extends LoanBusinessEvent { public class LoanInitiateTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanInitiateTransferBusinessEvent";
public LoanInitiateTransferBusinessEvent(Loan value) { public LoanInitiateTransferBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanInitiateTransferBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanInterestRecalculationBusinessEvent extends LoanBusinessEvent { public class LoanInterestRecalculationBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanInterestRecalculationBusinessEvent";
public LoanInterestRecalculationBusinessEvent(Loan value) { public LoanInterestRecalculationBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanInterestRecalculationBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanReassignOfficerBusinessEvent extends LoanBusinessEvent { public class LoanReassignOfficerBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanReassignOfficerBusinessEvent";
public LoanReassignOfficerBusinessEvent(Loan value) { public LoanReassignOfficerBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanReassignOfficerBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRejectTransferBusinessEvent extends LoanBusinessEvent { public class LoanRejectTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRejectTransferBusinessEvent";
public LoanRejectTransferBusinessEvent(Loan value) { public LoanRejectTransferBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanRejectTransferBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRejectedBusinessEvent extends LoanBusinessEvent { public class LoanRejectedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRejectedBusinessEvent";
public LoanRejectedBusinessEvent(Loan value) { public LoanRejectedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanRejectedBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRemoveOfficerBusinessEvent extends LoanBusinessEvent { public class LoanRemoveOfficerBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRemoveOfficerBusinessEvent";
public LoanRemoveOfficerBusinessEvent(Loan value) { public LoanRemoveOfficerBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanRemoveOfficerBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRescheduledDueCalendarChangeBusinessEvent extends LoanBusinessEvent { public class LoanRescheduledDueCalendarChangeBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRescheduledDueCalendarChangeBusinessEvent";
public LoanRescheduledDueCalendarChangeBusinessEvent(Loan value) { public LoanRescheduledDueCalendarChangeBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanRescheduledDueCalendarChangeBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRescheduledDueHolidayBusinessEvent extends LoanBusinessEvent { public class LoanRescheduledDueHolidayBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRescheduledDueHolidayBusinessEvent";
public LoanRescheduledDueHolidayBusinessEvent(Loan value) { public LoanRescheduledDueHolidayBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanRescheduledDueHolidayBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanScheduleVariationsAddedBusinessEvent extends LoanBusinessEvent { public class LoanScheduleVariationsAddedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanScheduleVariationsAddedBusinessEvent";
public LoanScheduleVariationsAddedBusinessEvent(Loan value) { public LoanScheduleVariationsAddedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanScheduleVariationsAddedBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanScheduleVariationsDeletedBusinessEvent extends LoanBusinessEvent { public class LoanScheduleVariationsDeletedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanScheduleVariationsDeletedBusinessEvent";
public LoanScheduleVariationsDeletedBusinessEvent(Loan value) { public LoanScheduleVariationsDeletedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanScheduleVariationsDeletedBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanStatusChangedBusinessEvent extends LoanBusinessEvent { public class LoanStatusChangedBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanStatusChangedBusinessEvent";
public LoanStatusChangedBusinessEvent(Loan value) { public LoanStatusChangedBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanStatusChangedBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUndoApprovalBusinessEvent extends LoanBusinessEvent { public class LoanUndoApprovalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUndoApprovalBusinessEvent";
public LoanUndoApprovalBusinessEvent(Loan value) { public LoanUndoApprovalBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanUndoApprovalBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUndoDisbursalBusinessEvent extends LoanBusinessEvent { public class LoanUndoDisbursalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUndoDisbursalBusinessEvent";
public LoanUndoDisbursalBusinessEvent(Loan value) { public LoanUndoDisbursalBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanUndoDisbursalBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUndoLastDisbursalBusinessEvent extends LoanBusinessEvent { public class LoanUndoLastDisbursalBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUndoLastDisbursalBusinessEvent";
public LoanUndoLastDisbursalBusinessEvent(Loan value) { public LoanUndoLastDisbursalBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanUndoLastDisbursalBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanUpdateDisbursementDataBusinessEvent extends LoanBusinessEvent { public class LoanUpdateDisbursementDataBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanUpdateDisbursementDataBusinessEvent";
public LoanUpdateDisbursementDataBusinessEvent(Loan value) { public LoanUpdateDisbursementDataBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanUpdateDisbursementDataBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanWithdrawTransferBusinessEvent extends LoanBusinessEvent { public class LoanWithdrawTransferBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanWithdrawTransferBusinessEvent";
public LoanWithdrawTransferBusinessEvent(Loan value) { public LoanWithdrawTransferBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanWithdrawTransferBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanAddChargeBusinessEvent extends LoanChargeBusinessEvent { public class LoanAddChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanAddChargeBusinessEvent";
public LoanAddChargeBusinessEvent(LoanCharge value) { public LoanAddChargeBusinessEvent(LoanCharge value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class LoanChargeBusinessEvent extends AbstractBusinessEvent<LoanCharge> {
private static final String CATEGORY = "Loan";
public LoanChargeBusinessEvent(LoanCharge value) { public LoanChargeBusinessEvent(LoanCharge value) {
super(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 { public class LoanDeleteChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanDeleteChargeBusinessEvent";
public LoanDeleteChargeBusinessEvent(LoanCharge value) { public LoanDeleteChargeBusinessEvent(LoanCharge value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanDeleteChargeBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanUpdateChargeBusinessEvent extends LoanChargeBusinessEvent { public class LoanUpdateChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanUpdateChargeBusinessEvent";
public LoanUpdateChargeBusinessEvent(LoanCharge value) { public LoanUpdateChargeBusinessEvent(LoanCharge value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanUpdateChargeBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanWaiveChargeBusinessEvent extends LoanChargeBusinessEvent { public class LoanWaiveChargeBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanWaiveChargeBusinessEvent";
public LoanWaiveChargeBusinessEvent(LoanCharge value) { public LoanWaiveChargeBusinessEvent(LoanCharge value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanWaiveChargeBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge;
public class LoanWaiveChargeUndoBusinessEvent extends LoanChargeBusinessEvent { public class LoanWaiveChargeUndoBusinessEvent extends LoanChargeBusinessEvent {
private static final String TYPE = "LoanWaiveChargeUndoBusinessEvent";
public LoanWaiveChargeUndoBusinessEvent(LoanCharge value) { public LoanWaiveChargeUndoBusinessEvent(LoanCharge value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class LoanProductBusinessEvent extends AbstractBusinessEvent<LoanProduct> {
private static final String CATEGORY = "Loan";
public LoanProductBusinessEvent(LoanProduct value) { public LoanProductBusinessEvent(LoanProduct value) {
super(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 { public class LoanProductCreateBusinessEvent extends LoanProductBusinessEvent {
private static final String TYPE = "LoanProductCreateBusinessEvent";
public LoanProductCreateBusinessEvent(LoanProduct value) { public LoanProductCreateBusinessEvent(LoanProduct value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanProductCreateBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanChargePaymentPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanChargePaymentPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanChargePaymentPostBusinessEvent";
public LoanChargePaymentPostBusinessEvent(LoanTransaction value) { public LoanChargePaymentPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanChargePaymentPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanChargePaymentPreBusinessEvent extends LoanBusinessEvent { public class LoanChargePaymentPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanChargePaymentPreBusinessEvent";
public LoanChargePaymentPreBusinessEvent(Loan value) { public LoanChargePaymentPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanChargePaymentPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanChargeRefundBusinessEvent extends LoanTransactionBusinessEvent { public class LoanChargeRefundBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanChargeRefundBusinessEvent";
public LoanChargeRefundBusinessEvent(LoanTransaction value) { public LoanChargeRefundBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanChargeRefundBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanCreditBalanceRefundPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanCreditBalanceRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanCreditBalanceRefundPostBusinessEvent";
public LoanCreditBalanceRefundPostBusinessEvent(LoanTransaction value) { public LoanCreditBalanceRefundPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanCreditBalanceRefundPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanCreditBalanceRefundPreBusinessEvent extends LoanBusinessEvent { public class LoanCreditBalanceRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanCreditBalanceRefundPreBusinessEvent";
public LoanCreditBalanceRefundPreBusinessEvent(Loan value) { public LoanCreditBalanceRefundPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanCreditBalanceRefundPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanDisbursalTransactionBusinessEvent extends LoanTransactionBusinessEvent { public class LoanDisbursalTransactionBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanDisbursalTransactionBusinessEvent";
public LoanDisbursalTransactionBusinessEvent(LoanTransaction value) { public LoanDisbursalTransactionBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanDisbursalTransactionBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanForeClosurePostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanForeClosurePostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanForeClosurePostBusinessEvent";
public LoanForeClosurePostBusinessEvent(LoanTransaction value) { public LoanForeClosurePostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanForeClosurePostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanForeClosurePreBusinessEvent extends LoanBusinessEvent { public class LoanForeClosurePreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanForeClosurePreBusinessEvent";
public LoanForeClosurePreBusinessEvent(Loan value) { public LoanForeClosurePreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanForeClosurePreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanRefundPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanRefundPostBusinessEvent";
public LoanRefundPostBusinessEvent(LoanTransaction value) { public LoanRefundPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanRefundPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanRefundPreBusinessEvent extends LoanBusinessEvent { public class LoanRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanRefundPreBusinessEvent";
public LoanRefundPreBusinessEvent(Loan value) { public LoanRefundPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class LoanTransactionBusinessEvent extends AbstractBusinessEvent<LoanTransaction> {
private static final String CATEGORY = "Loan";
public LoanTransactionBusinessEvent(LoanTransaction value) { public LoanTransactionBusinessEvent(LoanTransaction value) {
super(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 { public class LoanTransactionGoodwillCreditPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionGoodwillCreditPostBusinessEvent";
public LoanTransactionGoodwillCreditPostBusinessEvent(LoanTransaction value) { public LoanTransactionGoodwillCreditPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionGoodwillCreditPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionGoodwillCreditPreBusinessEvent extends LoanBusinessEvent { public class LoanTransactionGoodwillCreditPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionGoodwillCreditPreBusinessEvent";
public LoanTransactionGoodwillCreditPreBusinessEvent(Loan value) { public LoanTransactionGoodwillCreditPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionGoodwillCreditPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionMakeRepaymentPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanTransactionMakeRepaymentPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionMakeRepaymentPostBusinessEvent";
public LoanTransactionMakeRepaymentPostBusinessEvent(LoanTransaction value) { public LoanTransactionMakeRepaymentPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionMakeRepaymentPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionMakeRepaymentPreBusinessEvent extends LoanBusinessEvent { public class LoanTransactionMakeRepaymentPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionMakeRepaymentPreBusinessEvent";
public LoanTransactionMakeRepaymentPreBusinessEvent(Loan value) { public LoanTransactionMakeRepaymentPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionMakeRepaymentPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionMerchantIssuedRefundPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanTransactionMerchantIssuedRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionMerchantIssuedRefundPostBusinessEvent";
public LoanTransactionMerchantIssuedRefundPostBusinessEvent(LoanTransaction value) { public LoanTransactionMerchantIssuedRefundPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionMerchantIssuedRefundPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionMerchantIssuedRefundPreBusinessEvent extends LoanBusinessEvent { public class LoanTransactionMerchantIssuedRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionMerchantIssuedRefundPreBusinessEvent";
public LoanTransactionMerchantIssuedRefundPreBusinessEvent(Loan value) { public LoanTransactionMerchantIssuedRefundPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionMerchantIssuedRefundPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionPayoutRefundPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanTransactionPayoutRefundPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionPayoutRefundPostBusinessEvent";
public LoanTransactionPayoutRefundPostBusinessEvent(LoanTransaction value) { public LoanTransactionPayoutRefundPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionPayoutRefundPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionPayoutRefundPreBusinessEvent extends LoanBusinessEvent { public class LoanTransactionPayoutRefundPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionPayoutRefundPreBusinessEvent";
public LoanTransactionPayoutRefundPreBusinessEvent(Loan value) { public LoanTransactionPayoutRefundPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionPayoutRefundPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionRecoveryPaymentPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanTransactionRecoveryPaymentPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanTransactionRecoveryPaymentPostBusinessEvent";
public LoanTransactionRecoveryPaymentPostBusinessEvent(LoanTransaction value) { public LoanTransactionRecoveryPaymentPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionRecoveryPaymentPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanTransactionRecoveryPaymentPreBusinessEvent extends LoanBusinessEvent { public class LoanTransactionRecoveryPaymentPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanTransactionRecoveryPaymentPreBusinessEvent";
public LoanTransactionRecoveryPaymentPreBusinessEvent(Loan value) { public LoanTransactionRecoveryPaymentPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanTransactionRecoveryPaymentPreBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanUndoWrittenOffBusinessEvent extends LoanTransactionBusinessEvent { public class LoanUndoWrittenOffBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanUndoWrittenOffBusinessEvent";
public LoanUndoWrittenOffBusinessEvent(LoanTransaction value) { public LoanUndoWrittenOffBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanUndoWrittenOffBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanWaiveInterestBusinessEvent extends LoanTransactionBusinessEvent { public class LoanWaiveInterestBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanWaiveInterestBusinessEvent";
public LoanWaiveInterestBusinessEvent(LoanTransaction value) { public LoanWaiveInterestBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanWaiveInterestBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
public class LoanWrittenOffPostBusinessEvent extends LoanTransactionBusinessEvent { public class LoanWrittenOffPostBusinessEvent extends LoanTransactionBusinessEvent {
private static final String TYPE = "LoanWrittenOffPostBusinessEvent";
public LoanWrittenOffPostBusinessEvent(LoanTransaction value) { public LoanWrittenOffPostBusinessEvent(LoanTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "LoanWrittenOffPostBusinessEvent"; return TYPE;
} }
} }
@@ -23,12 +23,14 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
public class LoanWrittenOffPreBusinessEvent extends LoanBusinessEvent { public class LoanWrittenOffPreBusinessEvent extends LoanBusinessEvent {
private static final String TYPE = "LoanWrittenOffPreBusinessEvent";
public LoanWrittenOffPreBusinessEvent(Loan value) { public LoanWrittenOffPreBusinessEvent(Loan value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class SavingsAccountBusinessEvent extends AbstractBusinessEvent<SavingsAccount> {
private static final String CATEGORY = "Savings";
public SavingsAccountBusinessEvent(SavingsAccount value) { public SavingsAccountBusinessEvent(SavingsAccount value) {
super(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 { public class SavingsActivateBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsActivateBusinessEvent";
public SavingsActivateBusinessEvent(SavingsAccount value) { public SavingsActivateBusinessEvent(SavingsAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsActivateBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsApproveBusinessEvent extends SavingsAccountBusinessEvent { public class SavingsApproveBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsApproveBusinessEvent";
public SavingsApproveBusinessEvent(SavingsAccount value) { public SavingsApproveBusinessEvent(SavingsAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsApproveBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsCloseBusinessEvent extends SavingsAccountBusinessEvent { public class SavingsCloseBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsCloseBusinessEvent";
public SavingsCloseBusinessEvent(SavingsAccount value) { public SavingsCloseBusinessEvent(SavingsAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsCloseBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsCreateBusinessEvent extends SavingsAccountBusinessEvent { public class SavingsCreateBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsCreateBusinessEvent";
public SavingsCreateBusinessEvent(SavingsAccount value) { public SavingsCreateBusinessEvent(SavingsAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsCreateBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsPostInterestBusinessEvent extends SavingsAccountBusinessEvent { public class SavingsPostInterestBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsPostInterestBusinessEvent";
public SavingsPostInterestBusinessEvent(SavingsAccount value) { public SavingsPostInterestBusinessEvent(SavingsAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsPostInterestBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
public class SavingsRejectBusinessEvent extends SavingsAccountBusinessEvent { public class SavingsRejectBusinessEvent extends SavingsAccountBusinessEvent {
private static final String TYPE = "SavingsRejectBusinessEvent";
public SavingsRejectBusinessEvent(SavingsAccount value) { public SavingsRejectBusinessEvent(SavingsAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class SavingsAccountTransactionBusinessEvent extends AbstractBusinessEvent<SavingsAccountTransaction> {
private static final String CATEGORY = "Savings";
public SavingsAccountTransactionBusinessEvent(SavingsAccountTransaction value) { public SavingsAccountTransactionBusinessEvent(SavingsAccountTransaction value) {
super(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 { public class SavingsDepositBusinessEvent extends SavingsAccountTransactionBusinessEvent {
private static final String TYPE = "SavingsDepositBusinessEvent";
public SavingsDepositBusinessEvent(SavingsAccountTransaction value) { public SavingsDepositBusinessEvent(SavingsAccountTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsDepositBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
public class SavingsWithdrawalBusinessEvent extends SavingsAccountTransactionBusinessEvent { public class SavingsWithdrawalBusinessEvent extends SavingsAccountTransactionBusinessEvent {
private static final String TYPE = "SavingsWithdrawalBusinessEvent";
public SavingsWithdrawalBusinessEvent(SavingsAccountTransaction value) { public SavingsWithdrawalBusinessEvent(SavingsAccountTransaction value) {
super(value); super(value);
} }
@Override @Override
public String getType() { public String getType() {
return "SavingsWithdrawalBusinessEvent"; return TYPE;
} }
} }
@@ -22,12 +22,14 @@ import org.apache.fineract.portfolio.shareaccounts.domain.ShareAccount;
public class ShareAccountApproveBusinessEvent extends ShareAccountBusinessEvent { public class ShareAccountApproveBusinessEvent extends ShareAccountBusinessEvent {
private static final String TYPE = "ShareAccountApproveBusinessEvent";
public ShareAccountApproveBusinessEvent(ShareAccount value) { public ShareAccountApproveBusinessEvent(ShareAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public abstract class ShareAccountBusinessEvent extends AbstractBusinessEvent<ShareAccount> {
private static final String CATEGORY = "Share";
public ShareAccountBusinessEvent(ShareAccount value) { public ShareAccountBusinessEvent(ShareAccount value) {
super(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 { public class ShareAccountCreateBusinessEvent extends ShareAccountBusinessEvent {
private static final String TYPE = "ShareAccountCreateBusinessEvent";
public ShareAccountCreateBusinessEvent(ShareAccount value) { public ShareAccountCreateBusinessEvent(ShareAccount value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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> { public class ShareProductDividentsCreateBusinessEvent extends AbstractBusinessEvent<Long> {
private static final String TYPE = "ShareProductDividentsCreateBusinessEvent";
private static final String CATEGORY = "Share";
public ShareProductDividentsCreateBusinessEvent(Long value) { public ShareProductDividentsCreateBusinessEvent(Long value) {
super(value); super(value);
} }
@Override @Override
public String getType() { 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) @Column(name = "type", nullable = false)
private String type; private String type;
@Column(name = "category", nullable = false)
private String category;
@Column(name = "schema", nullable = false) @Column(name = "schema", nullable = false)
private String schema; private String schema;
@@ -67,8 +70,9 @@ public class ExternalEvent extends AbstractPersistableCustom {
@Column(name = "business_date", nullable = false) @Column(name = "business_date", nullable = false)
private LocalDate businessDate; 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.type = type;
this.category = category;
this.schema = schema; this.schema = schema;
this.data = data; this.data = data;
this.idempotencyKey = idempotencyKey; this.idempotencyKey = idempotencyKey;
@@ -84,17 +84,19 @@ public class ExternalEventService {
BulkMessagePayloadV1 avroDto = new BulkMessagePayloadV1(messages); BulkMessagePayloadV1 avroDto = new BulkMessagePayloadV1(messages);
byte[] data = byteBufferConverter.convert(avroDto.toByteBuffer()); 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 { private <T> ExternalEvent handleRegularBusinessEvent(BusinessEvent<T> event) throws IOException {
String eventType = event.getType(); String eventType = event.getType();
String eventCategory = event.getCategory();
String idempotencyKey = idempotencyKeyGenerator.generate(event); String idempotencyKey = idempotencyKeyGenerator.generate(event);
BusinessEventSerializer serializer = serializerFactory.create(event); BusinessEventSerializer serializer = serializerFactory.create(event);
String schema = serializer.getSupportedSchema().getName(); String schema = serializer.getSupportedSchema().getName();
byte[] data = serializer.serialize(event); byte[] data = serializer.serialize(event);
return new ExternalEvent(eventType, schema, data, idempotencyKey); return new ExternalEvent(eventType, eventCategory, schema, data, idempotencyKey);
} }
private void flushChangesBeforeSerialization() { private void flushChangesBeforeSerialization() {
@@ -80,8 +80,7 @@ public class MessageFactory implements InitializingBean {
MessageId id = new MessageId(event.getId().intValue()); MessageId id = new MessageId(event.getId().intValue());
MessageSource source = new MessageSource(SOURCE_UUID); MessageSource source = new MessageSource(SOURCE_UUID);
MessageType type = new MessageType(event.getType()); MessageType type = new MessageType(event.getType());
String messageCategory = "nocategory"; MessageCategory category = new MessageCategory(event.getCategory());
MessageCategory category = new MessageCategory(messageCategory);
MessageIdempotencyKey idempotencyKey = new MessageIdempotencyKey(event.getIdempotencyKey()); MessageIdempotencyKey idempotencyKey = new MessageIdempotencyKey(event.getIdempotencyKey());
MessageDataSchema dataSchema = new MessageDataSchema(event.getSchema()); MessageDataSchema dataSchema = new MessageDataSchema(event.getSchema());
MessageData data = new MessageData(byteBufferConverter.convert(event.getData())); 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/0048_rework_loan_account_locks.xml" relativeToChangelogFile="true"/>
<include file="parts/0049_add_send_asynchronous_events_job.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/0050_add_reverse_flag_disbursement_details.xml" relativeToChangelogFile="true"/>
<include file="parts/0051_external_event_table_category_info.xml" relativeToChangelogFile="true"/>
</databaseChangeLog> </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() { public String getType() {
return null; return null;
} }
@Override
public String getCategory() {
return null;
}
} }
} }
@@ -99,8 +99,8 @@ class SendAsynchronousEventsTaskletTest {
@Test @Test
public void givenBatchSize2WhenTaskExecutionThenSend2Events() throws Exception { public void givenBatchSize2WhenTaskExecutionThenSend2Events() throws Exception {
// given // given
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"),
new ExternalEvent("aType", "aSchema", new byte[0], "aIdemtpotencyKey")); new ExternalEvent("aType", "aCategory", "aSchema", new byte[0], "aIdemtpotencyKey"));
// Dummy Message // Dummy Message
MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey", MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey",
"aSchema", Mockito.mock(ByteBuffer.class)); "aSchema", Mockito.mock(ByteBuffer.class));
@@ -120,8 +120,8 @@ class SendAsynchronousEventsTaskletTest {
@Test @Test
public void givenBatchSize2WhenEventSendFailsThenExecutionStops() throws Exception { public void givenBatchSize2WhenEventSendFailsThenExecutionStops() throws Exception {
// given // given
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"),
new ExternalEvent("aType", "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", MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey",
"aSchema", Mockito.mock(ByteBuffer.class)); "aSchema", Mockito.mock(ByteBuffer.class));
when(repository.findByStatusOrderById(Mockito.any(), Mockito.any())).thenReturn(events); when(repository.findByStatusOrderById(Mockito.any(), Mockito.any())).thenReturn(events);
@@ -140,7 +140,7 @@ class SendAsynchronousEventsTaskletTest {
public void givenOneEventWhenEventSentThenEventStatusUpdates() throws Exception { public void givenOneEventWhenEventSentThenEventStatusUpdates() throws Exception {
// given // given
ArgumentCaptor<ExternalEvent> externalEventArgumentCaptor = ArgumentCaptor.forClass(ExternalEvent.class); 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", MessageV1 dummyMessage = new MessageV1(1, "aSource", "aType", "nocategory", "aCreateDate", "aTennantId", "anidempotencyKey",
"aSchema", Mockito.mock(ByteBuffer.class)); "aSchema", Mockito.mock(ByteBuffer.class));
when(repository.findByStatusOrderById(Mockito.any(), Mockito.any())).thenReturn(events); when(repository.findByStatusOrderById(Mockito.any(), Mockito.any())).thenReturn(events);
@@ -159,4 +159,31 @@ class ExternalEventServiceTest {
assertThat(externalEvent.getType()).isEqualTo(eventType); assertThat(externalEvent.getType()).isEqualTo(eventType);
assertThat(externalEvent.getSchema()).isEqualTo(schema); 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);
}
} }