This is an automated email from the ASF dual-hosted git repository.
arnold pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
from a04aa4536 FINERACT-1693: Fix null handling of datatables
new 699f61a9e FINERACT-1694: Storing events upon raising
new 5a9ddab67 FINERACT-1694: Storing external events fixes
new f46abaf9e FINERACT-1694: External event storage integration
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
build.gradle | 3 +-
.../fixeddeposit/v1/FixedDepositAccountDataV1.avsc | 3 +
.../src/main/avro/generic/v1/CalendarDataV1.avsc | 2 +
.../src/main/avro/group/v1/GroupGeneralDataV1.avsc | 2 +
.../main/avro/loan/v1/DelinquencyBucketDataV1.avsc | 1 +
.../src/main/avro/loan/v1/LoanAccountDataV1.avsc | 7 ++
.../src/main/avro/loan/v1/LoanChargeDataV1.avsc | 1 +
.../src/main/avro/loan/v1/LoanProductDataV1.avsc | 5 +
.../main/avro/loan/v1/LoanTransactionDataV1.avsc | 1 +
.../src/main/avro/office/v1/OfficeDataV1.avsc | 1 +
.../v1/RecurringDepositAccountDataV1.avsc | 2 +
.../main/avro/savings/v1/SavingsAccountDataV1.avsc | 3 +
.../v1/SavingsAccountTransactionDataV1.avsc | 1 +
.../src/main/avro/share/v1/ShareAccountDataV1.avsc | 2 +
.../src/main/avro/share/v1/ShareProductDataV1.avsc | 2 +
fineract-provider/dependencies.gradle | 5 +-
.../BulkImportWorkbookPopulatorServiceImpl.java | 11 +-
.../core/config/FineractProperties.java | 16 +++
.../infrastructure/core/config/JPAConfig.java | 2 +-
.../repository/ExternalEventRepository.java} | 8 +-
.../external/repository/domain/ExternalEvent.java | 75 +++++++++++++
.../repository/domain/ExternalEventStatus.java} | 7 +-
.../service/DelayedExternalEventService.java | 64 ++++++++++++
.../external/service/ExternalEventService.java | 57 ++++++++++
...faultExternalEventIdempotencyKeyGenerator.java} | 14 ++-
.../ExternalEventIdempotencyKeyGenerator.java} | 8 +-
.../BusinessEventSerializerFactory.java | 42 ++++++++
.../mapper/client/ClientDataMapper.java} | 13 +--
.../FixedDepositAccountDataMapper.java} | 13 +--
.../generic/CommandProcessingResultMapper.java} | 11 +-
.../mapper/loan/LoanAccountDataMapper.java} | 13 +--
.../mapper/loan/LoanChargeDataMapper.java} | 13 +--
.../mapper/loan/LoanProductDataMapper.java} | 13 +--
.../mapper/loan/LoanTransactionDataMapper.java} | 13 +--
.../RecurringDepositAccountDataMapper.java} | 13 +--
.../mapper/savings/SavingsAccountDataMapper.java} | 13 +--
.../SavingsAccountTransactionDataMapper.java} | 13 +--
.../mapper/share/ShareAccountDataMapper.java} | 13 +--
.../mapper/share/ShareProductDataMapper.java} | 13 +--
.../serializer/BusinessEventSerializer.java} | 13 +--
.../client/ClientBusinessEventSerializer.java | 55 ++++++++++
...FixedDepositAccountBusinessEventSerializer.java | 56 ++++++++++
.../group/GroupsBusinessEventSerializer.java | 51 +++++++++
...anAdjustTransactionBusinessEventSerializer.java | 70 +++++++++++++
.../loan/LoanBusinessEventSerializer.java | 55 ++++++++++
.../loan/LoanChargeBusinessEventSerializer.java | 55 ++++++++++
.../loan/LoanProductBusinessEventSerializer.java | 55 ++++++++++
.../LoanTransactionBusinessEventSerializer.java | 55 ++++++++++
...rringDepositAccountBusinessEventSerializer.java | 57 ++++++++++
.../SavingsAccountBusinessEventSerializer.java | 55 ++++++++++
...sAccountTransactionBusinessEventSerializer.java | 58 +++++++++++
.../share/ShareAccountBusinessEventSerializer.java | 55 ++++++++++
...ductDividentsCreateBusinessEventSerializer.java | 55 ++++++++++
.../service/support/ByteBufferConverter.java} | 15 ++-
.../{BusinessEvent.java => BulkBusinessEvent.java} | 13 ++-
.../businessevent/domain/BusinessEvent.java | 2 +
.../domain/client/ClientActivateBusinessEvent.java | 5 +
.../domain/client/ClientCreateBusinessEvent.java | 5 +
.../domain/client/ClientRejectBusinessEvent.java | 5 +
.../FixedDepositAccountCreateBusinessEvent.java | 5 +
...RecurringDepositAccountCreateBusinessEvent.java | 5 +
.../domain/group/CentersCreateBusinessEvent.java | 5 +
.../domain/group/GroupsCreateBusinessEvent.java | 5 +
.../loan/LoanAcceptTransferBusinessEvent.java | 5 +
.../loan/LoanAdjustTransactionBusinessEvent.java | 5 +
.../loan/LoanApplyOverdueChargeBusinessEvent.java | 5 +
.../domain/loan/LoanApprovedBusinessEvent.java | 5 +
.../loan/LoanCloseAsRescheduleBusinessEvent.java | 5 +
.../domain/loan/LoanCloseBusinessEvent.java | 5 +
.../domain/loan/LoanCreatedBusinessEvent.java | 5 +
.../domain/loan/LoanDisbursalBusinessEvent.java | 5 +
.../loan/LoanInitiateTransferBusinessEvent.java | 5 +
.../LoanInterestRecalculationBusinessEvent.java | 5 +
.../loan/LoanReassignOfficerBusinessEvent.java | 5 +
.../loan/LoanRejectTransferBusinessEvent.java | 5 +
.../domain/loan/LoanRejectedBusinessEvent.java | 5 +
.../loan/LoanRemoveOfficerBusinessEvent.java | 5 +
.../domain/loan/LoanUndoApprovalBusinessEvent.java | 5 +
.../loan/LoanUndoDisbursalBusinessEvent.java | 5 +
.../loan/LoanUndoLastDisbursalBusinessEvent.java | 5 +
.../loan/LoanWithdrawTransferBusinessEvent.java | 5 +
.../loan/charge/LoanAddChargeBusinessEvent.java | 5 +
.../loan/charge/LoanDeleteChargeBusinessEvent.java | 5 +
.../loan/charge/LoanUpdateChargeBusinessEvent.java | 5 +
.../loan/charge/LoanWaiveChargeBusinessEvent.java | 5 +
.../charge/LoanWaiveChargeUndoBusinessEvent.java | 5 +
.../product/LoanProductCreateBusinessEvent.java | 5 +
.../LoanChargePaymentPostBusinessEvent.java | 5 +
.../LoanChargePaymentPreBusinessEvent.java | 5 +
.../transaction/LoanChargeRefundBusinessEvent.java | 5 +
.../LoanCreditBalanceRefundPostBusinessEvent.java | 5 +
.../LoanCreditBalanceRefundPreBusinessEvent.java | 5 +
.../LoanForeClosurePostBusinessEvent.java | 5 +
.../LoanForeClosurePreBusinessEvent.java | 5 +
.../transaction/LoanRefundPostBusinessEvent.java | 5 +
.../transaction/LoanRefundPreBusinessEvent.java | 5 +
...TransactionGoodwillCreditPostBusinessEvent.java | 5 +
...nTransactionGoodwillCreditPreBusinessEvent.java | 5 +
...nTransactionMakeRepaymentPostBusinessEvent.java | 5 +
...anTransactionMakeRepaymentPreBusinessEvent.java | 5 +
...ctionMerchantIssuedRefundPostBusinessEvent.java | 5 +
...actionMerchantIssuedRefundPreBusinessEvent.java | 5 +
...anTransactionPayoutRefundPostBusinessEvent.java | 5 +
...oanTransactionPayoutRefundPreBusinessEvent.java | 5 +
...ransactionRecoveryPaymentPostBusinessEvent.java | 5 +
...TransactionRecoveryPaymentPreBusinessEvent.java | 5 +
.../LoanUndoWrittenOffBusinessEvent.java | 5 +
.../LoanWaiveInterestBusinessEvent.java | 5 +
.../LoanWrittenOffPostBusinessEvent.java | 5 +
.../LoanWrittenOffPreBusinessEvent.java | 5 +
.../savings/SavingsActivateBusinessEvent.java | 5 +
.../savings/SavingsApproveBusinessEvent.java | 5 +
.../domain/savings/SavingsCloseBusinessEvent.java | 5 +
.../domain/savings/SavingsCreateBusinessEvent.java | 5 +
.../savings/SavingsPostInterestBusinessEvent.java | 5 +
.../domain/savings/SavingsRejectBusinessEvent.java | 5 +
.../transaction/SavingsDepositBusinessEvent.java | 5 +
.../SavingsWithdrawalBusinessEvent.java | 5 +
.../share/ShareAccountApproveBusinessEvent.java | 5 +
.../share/ShareAccountCreateBusinessEvent.java | 5 +
.../ShareProductDividentsCreateBusinessEvent.java | 5 +
.../service/BusinessEventNotifierServiceImpl.java | 30 +++++-
.../domain/LoanTermVariationsRepository.java} | 18 ++--
.../service/LoanReadPlatformServiceImpl.java | 11 +-
.../products/api/ProductsApiResource.java | 8 +-
...e.java => ShareProductReadPlatformService.java} | 2 +-
.../portfolio/savings/data/SavingsAccountData.java | 36 +++++--
.../SavingsAccountInterestPostingServiceImpl.java | 8 +-
.../api/SelfShareAccountsApiResource.java | 13 +--
.../ShareAccountReadPlatformServiceImpl.java | 6 +-
.../service/ShareProductDividendAssembler.java | 4 +-
.../ShareProductReadPlatformServiceImpl.java | 4 +-
.../src/main/resources/application.properties | 2 +
.../db/changelog/tenant/changelog-tenant.xml | 1 +
.../0045_external_event_table_data_binary.xml | 59 +++++++++++
.../service/DelayedExternalEventServiceTest.java | 116 +++++++++++++++++++++
.../external/service/ExternalEventServiceTest.java | 115 ++++++++++++++++++++
.../src/test/resources/application-test.properties | 1 +
integration-tests/build.gradle | 2 +-
139 files changed, 1888 insertions(+), 147 deletions(-)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/BusinessEvent.java
=> infrastructure/event/external/repository/ExternalEventRepository.java} (72%)
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/repository/domain/ExternalEvent.java
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/BusinessEvent.java
=> infrastructure/event/external/repository/domain/ExternalEventStatus.java}
(85%)
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/DelayedExternalEventService.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/ExternalEventService.java
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/idempotency/DefaultExternalEventIdempotencyKeyGenerator.java}
(63%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/BusinessEvent.java
=>
infrastructure/event/external/service/idempotency/ExternalEventIdempotencyKeyGenerator.java}
(75%)
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/BusinessEventSerializerFactory.java
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/client/ClientDataMapper.java}
(69%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/fixeddeposit/FixedDepositAccountDataMapper.java}
(65%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/group/CentersCreateBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/generic/CommandProcessingResultMapper.java}
(71%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/loan/LoanAccountDataMapper.java}
(68%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/loan/LoanChargeDataMapper.java}
(68%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/loan/LoanProductDataMapper.java}
(68%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/loan/LoanTransactionDataMapper.java}
(66%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/recurringdeposit/RecurringDepositAccountDataMapper.java}
(63%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/loan/LoanAcceptTransferBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/savings/SavingsAccountDataMapper.java}
(67%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/savings/SavingsAccountTransactionDataMapper.java}
(64%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/share/ShareAccountDataMapper.java}
(67%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=>
infrastructure/event/external/service/serialization/mapper/share/ShareProductDataMapper.java}
(67%)
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/loan/LoanAcceptTransferBusinessEvent.java
=>
infrastructure/event/external/service/serialization/serializer/BusinessEventSerializer.java}
(69%)
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/client/ClientBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/fixeddeposit/FixedDepositAccountBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/group/GroupsBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanAdjustTransactionBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanChargeBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanProductBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/loan/LoanTransactionBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/recurringdeposit/RecurringDepositAccountBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/savings/SavingsAccountBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/savings/SavingsAccountTransactionBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/share/ShareAccountBusinessEventSerializer.java
create mode 100644
fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/service/serialization/serializer/share/ShareProductDividentsCreateBusinessEventSerializer.java
copy
fineract-provider/src/main/java/org/apache/fineract/{portfolio/businessevent/domain/client/ClientRejectBusinessEvent.java
=> infrastructure/event/external/service/support/ByteBufferConverter.java}
(66%)
copy
fineract-provider/src/main/java/org/apache/fineract/portfolio/businessevent/domain/{BusinessEvent.java
=> BulkBusinessEvent.java} (75%)
copy
fineract-provider/src/main/java/org/apache/fineract/portfolio/{businessevent/domain/loan/LoanAcceptTransferBusinessEvent.java
=> loanaccount/rescheduleloan/domain/LoanTermVariationsRepository.java} (52%)
rename
fineract-provider/src/main/java/org/apache/fineract/portfolio/products/service/{ProductReadPlatformService.java
=> ShareProductReadPlatformService.java} (96%)
create mode 100644
fineract-provider/src/main/resources/db/changelog/tenant/parts/0045_external_event_table_data_binary.xml
create mode 100644
fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/service/DelayedExternalEventServiceTest.java
create mode 100644
fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/service/ExternalEventServiceTest.java