You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by gi...@apache.org on 2022/03/25 07:57:48 UTC

[fineract] branch dependabot/gradle/org.openapi.generator-5.4.0 updated (0b8b0c6 -> 9a68456)

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch dependabot/gradle/org.openapi.generator-5.4.0
in repository https://gitbox.apache.org/repos/asf/fineract.git.


 discard 0b8b0c6  chore(deps): bump org.openapi.generator from 4.3.1 to 5.4.0
     add 9e73d0d  chore(deps): bump mariadb-java-client from 2.7.5 to 3.0.3
     add 7f19251  chore(deps): update dependency postgres to v14
     add e1ea21f  chore(deps): update dependency com.github.spotbugs:spotbugs-annotations to v4.6.0
     add 0a9f8e0  chore(deps): bump aws-java-sdk-s3 from 1.12.172 to 1.12.173
     add 7f8148e  chore(deps): bump aws-java-sdk-s3 from 1.12.173 to 1.12.174
     add d5c6115  FINERACT-849: Switch to EclipseLink
     add 4115bdf  chore(deps): bump aws-java-sdk-s3 from 1.12.174 to 1.12.175
     add 91a8c94  chore(deps): update dependency gradle to v7.4.1
     add a25d07d  Allow multi-disbursements without setting up expected tranche details (#2129)
     add 2e66d46  chore(deps): update dependency org.eclipse.persistence:eclipselink to v3
     add add67b9  Repayment schedule issue to add Multi Disbursement on same day
     add 4583f9b  chore(deps): update dependency org.webjars.npm:swagger-ui-dist to v4.6.2
     add 71c4cef  chore(deps): update dependency jakarta.ws.rs:jakarta.ws.rs-api to v3
     add 99e8525  FINERACT-1526: Upgrade dependencies
     add 7209e70  chore(deps): bump aws-java-sdk-s3 from 1.12.176 to 1.12.177
     add bd8dab1  Allow multi-disbursements without setting up expected tranche details (api/fix)
     add 085532c  chore(deps): update dependency org.apache.tomcat:tomcat to v9.0.60
     add 3311230  chore(deps): bump aws-java-sdk-s3 from 1.12.177 to 1.12.179
     add e4e4782  Allow Reschedule feature for multi-disbursal loans w/o expected details
     add 7b3ab9b  FINERACT-849: Minor fixes + docs for EclipseLink/PostgreSQL support
     add d883a5a  chore(deps): update dependency org.mock-server:mockserver-junit-jupiter to v5.13.0
     add b544068  chore(deps): bump aws-java-sdk-s3 from 1.12.179 to 1.12.180
     add e9d97a6  chore(deps): update dependency org.springframework:spring-framework-bom to v5.3.17
     add 173f603  chore(deps): bump liquibase-core from 4.8.0 to 4.9.0
     add 5682480  FINERACT-849: Keep EclipseLink on the same version with Dependabot
     add 5232656  FINERACT-1508: Add Cucumber test suppport
     add 17f5216  Fix transitive dependency issues introduced by Mock Server upgrade
     add 2d2192c  FINERACT-1508: Liquibase test extension for Cucumber + Windows path shortening enabled for Cucumber
     add bd48a93  FINERACT-1483: fix Sonar bugs with Blocker and Critical severity
     add b387a92  chore(deps): bump aws-java-sdk-s3 from 1.12.181 to 1.12.182
     add b0e37c2  Allow externalId to be provided when creating loan charges
     add 800495f  chore(deps): bump swagger-ui-dist from 4.6.2 to 4.9.0
     add 2ebde6d  chore(deps): bump aws-java-sdk-s3 from 1.12.182 to 1.12.185
     add 83eb084  FINERACT-1532: Create an example for pluggability
     add 9a68456  chore(deps): bump org.openapi.generator from 4.3.1 to 5.4.0

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0b8b0c6)
            \
             N -- N -- N   refs/heads/dependabot/gradle/org.openapi.generator-5.4.0 (9a68456)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |   3 +
 .github/workflows/build-postgresql.yml             |   2 +-
 .github/workflows/build.yml                        |   4 +-
 .github/workflows/sonarqube.yml                    |   2 +-
 README.md                                          |   8 +-
 build.gradle                                       |  94 +--
 .../persistence.xml => config/spotbugs/exclude.xml |  24 +-
 settings.gradle => custom/foo/build.gradle         |   9 +-
 settings.gradle => custom/foo/service/build.gradle |  13 +-
 .../foo/service/dependencies.gradle                |  13 +-
 .../fineract/foo/service/FooDummyServiceImpl.java  |  21 +-
 ....properties => docker-compose-community-app.yml |  14 +-
 docker-compose-postgresql.yml                      |  13 +-
 docker-compose.yml                                 |  11 -
 fineract-client/build.gradle                       |   3 +
 .../src/test/resources/cucumber.properties         |   6 +-
 fineract-doc/.asciidoctorconfig                    |   2 +-
 fineract-doc/build.gradle                          |   8 +-
 fineract-doc/src/docs/en/{04_api.adoc => api.adoc} |   0
 .../en/{02_architecture.adoc => architecture.adoc} |  66 ++-
 .../src/docs/en/{05_client.adoc => client.adoc}    |   0
 fineract-doc/src/docs/en/colophon.adoc             |   3 +
 fineract-doc/src/docs/en/config.adoc               |   2 +-
 fineract-doc/src/docs/en/deployment.adoc           |   2 +-
 .../docs/en/diagrams/custom-folder-structure.puml  |  17 +
 .../docs/en/diagrams/modules-folder-structure.puml |  39 ++
 .../src/docs/en/images/apache-fineract-logo.png    | Bin 0 -> 22038 bytes
 fineract-doc/src/docs/en/index.adoc                |  20 +-
 .../en/{01_introduction.adoc => introduction.adoc} |   0
 fineract-doc/src/docs/en/license.adoc              |  15 +
 fineract-doc/src/docs/en/modules.adoc              | 250 ++++++++
 .../src/docs/en/{03_oauth.adoc => oauth.adoc}      |   0
 fineract-doc/src/docs/en/testing.adoc              |   5 +
 .../en/{06_validation.adoc => validation.adoc}     |   0
 fineract-provider/build.gradle                     |  78 +--
 fineract-provider/dependencies.gradle              |  19 +-
 .../closure/api/GLClosureJsonInputParams.java      |   1 +
 .../accounting/common/AccountingConstants.java     |   6 +
 .../accounting/common/AccountingRuleType.java      |   1 +
 .../FinancialActivityAccountsJsonInputParams.java  |   1 +
 ...ialActivityAccountWritePlatformServiceImpl.java |   4 +-
 .../glaccount/api/GLAccountJsonInputParams.java    |   1 +
 .../accounting/glaccount/domain/GLAccountType.java |   1 +
 .../glaccount/domain/GLAccountUsage.java           |   1 +
 ...countWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../api/JournalEntryJsonInputParams.java           |   1 +
 .../journalentry/domain/JournalEntryType.java      |   1 +
 .../service/AccountingProcessorHelper.java         |   4 +-
 ...EntryWritePlatformServiceJpaRepositoryImpl.java |   8 +-
 .../service/ProductToGLAccountMappingHelper.java   |  16 +-
 ...ToGLAccountMappingWritePlatformServiceImpl.java |   2 +
 ...triesWritePlatformServiceJpaRepositoryImpl.java |   8 +-
 .../rule/api/AccountingRuleJsonInputParams.java    |   1 +
 .../adhocquery/api/AdHocJsonInputParams.java       |   1 +
 ...AdHocWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../SynchronousCommandProcessingService.java       |   2 +-
 .../domain/AccountNumberFormatEnumerations.java    |   1 +
 .../domain/EntityAccountType.java                  |   1 +
 ...ormatWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../importhandler/ImportHandlerUtils.java          |   2 +-
 .../service/BulkImportEventListener.java           |   2 +-
 .../email/data/EmailConfigurationValidator.java    |   2 +-
 ...ailCampaignWritePlatformCommandHandlerImpl.java |   2 +-
 .../service/EmailMessageJobEmailServiceImpl.java   |   2 +-
 ...EmailWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../SmsCampaignWritePlatformServiceJpaImpl.java    |   2 +-
 .../infrastructure/codes/CodeConstants.java        |   1 +
 ...ValueWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../CodeWritePlatformServiceJpaRepositoryImpl.java |   4 +-
 .../core/boot/ApplicationExitUtil.java             |  63 ---
 .../infrastructure/core/config/JPAConfig.java      | 117 ++++
 .../core/config/PersistenceConfig.java             |  80 ---
 .../{boot => config}/WebFrontEndConfiguration.java |   2 +-
 .../core/domain/AbstractPersistableCustom.java     |  14 +-
 .../domain/FineractPlatformTenantConnection.java   |   5 +-
 ...abaseSelectingPersistenceUnitPostProcessor.java |  49 ++
 ...EntityScanningPersistenceUnitPostProcessor.java |  73 +++
 .../ExtendedJpaTransactionManager.java}            |  39 +-
 .../migration/TenantDatabaseUpgradeService.java    |   5 +-
 .../domain/OrganisationCreditBureau.java           |   2 +
 ...ureauConfigurationWritePlatformServiceImpl.java |   2 +-
 ...LoanProductMappingWritePlatformServiceImpl.java |   2 +-
 .../CreditReportWritePlatformServiceImpl.java      |   4 +-
 ...ationCreditBureauWritePlatflormServiceImpl.java |   2 +-
 .../dataqueries/data/EntityTables.java             |   1 +
 ...ityDatatableChecksWritePlatformServiceImpl.java |   1 +
 .../service/ReportWritePlatformServiceImpl.java    |   2 +-
 .../documentmanagement/domain/StorageType.java     |   1 +
 ...umentWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../FineractEntityRelationRepositoryWrapper.java   |   3 +-
 .../FineractEntityAccessWriteServiceImpl.java      |   2 +-
 ...DeviceRegistrationWritePlatformServiceImpl.java |   2 +-
 .../infrastructure/hooks/data/HookData.java        |   2 +-
 .../HookWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../infrastructure/openjpa/OpenJpaDialect.java     | 159 ------
 .../openjpa/OpenJpaVendorAdapter.java              | 134 -----
 .../ReportMailingJobWritePlatformServiceImpl.java  |   2 +-
 .../SmsWritePlatformServiceJpaRepositoryImpl.java  |   2 +-
 .../interoperation/service/InteropServiceImpl.java |   2 +-
 ...ificationGeneratorWritePlatformServiceImpl.java |   2 +-
 ...NotificationMapperWritePlatformServiceImpl.java |   2 +-
 ...riberWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...TopicWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...lidayWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../organisation/office/domain/Office.java         |   7 +-
 ...fficeWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...egoryWritePlatformServiceJpaRepositoryImpl.java |   4 +-
 ...teriaWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...StaffWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../service/TellerWritePlatformServiceJpaImpl.java |   2 +-
 .../domain/RepaymentRescheduleType.java            |   1 +
 ...tandingInstructionWritePlatformServiceImpl.java |   6 +-
 .../address/domain/FieldConfiguration.java         |   4 +-
 .../service/AddressWritePlatformServiceImpl.java   |   4 +-
 .../portfolio/calendar/CalendarConstants.java      |   1 +
 .../portfolio/calendar/domain/Calendar.java        |   5 +-
 .../calendar/domain/CalendarEntityType.java        |   1 +
 .../calendar/domain/CalendarRemindBy.java          |   1 +
 .../portfolio/calendar/domain/CalendarType.java    |   1 +
 ...endarWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../fineract/portfolio/charge/domain/Charge.java   |   4 +-
 ...hargeWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../domain/ClientChargeRepositoryWrapper.java      |   4 +-
 .../client/domain/ClientRepositoryWrapper.java     |   2 +
 .../domain/ClientTransactionRepositoryWrapper.java |   4 +-
 ...FamilyMemberCommandFromApiJsonDeserializer.java |   2 +-
 ...hargeWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...lientFamilyMembersWritePlatformServiceImpl.java |   6 +-
 ...ifierWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...lientWritePlatformServiceJpaRepositoryImpl.java |   8 +-
 .../collateral/api/CollateralApiConstants.java     |   1 +
 ...teralWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../CollateralManagementRepositoryWrapper.java     |   2 +-
 ...llateralManagementWritePlatformServiceImpl.java |   2 +-
 .../common/BusinessEventNotificationConstants.java |   1 +
 .../portfolio/common/domain/ConditionType.java     |   1 +
 .../FloatingRateWritePlatformServiceImpl.java      |   2 +-
 .../FundWritePlatformServiceJpaRepositoryImpl.java |   6 +-
 .../portfolio/group/domain/GroupTypes.java         |   1 +
 ...RolesWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...TypesWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../incentive/InterestIncentiveAttributeName.java  |   1 +
 .../incentive/InterestIncentiveEntityType.java     |   1 +
 .../incentive/InterestIncentiveType.java           |   1 +
 ...tSlabWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../loanaccount/api/LoansApiResource.java          |   8 +-
 .../portfolio/loanaccount/data/LoanChargeData.java |  11 +-
 .../portfolio/loanaccount/domain/Loan.java         |  33 +-
 .../domain/LoanAccountDomainServiceJpa.java        |  20 +-
 .../portfolio/loanaccount/domain/LoanCharge.java   |  29 +-
 .../loanaccount/domain/LoanInstallmentCharge.java  |   3 +
 ...LoanInterestRecalcualtionAdditionalDetails.java |  14 +
 .../domain/LoanRepaymentScheduleInstallment.java   |  15 +-
 .../loanaccount/domain/LoanRepositoryWrapper.java  |   1 +
 ...oanRescheduleRequestToTermVariationMapping.java |  17 +-
 .../loanaccount/domain/LoanTransaction.java        |   4 +-
 .../LoanTransactionToRepaymentScheduleMapping.java |  26 +-
 ...eLoanRepaymentScheduleTransactionProcessor.java |   8 +-
 ...tLoanRepaymentScheduleTransactionProcessor.java |  12 +-
 ...eLoanRepaymentScheduleTransactionProcessor.java |   8 +-
 ...yLoanRepaymentScheduleTransactionProcessor.java |  12 +-
 ...rLoanRepaymentScheduleTransactionProcessor.java |   8 +-
 ...rLoanRepaymentScheduleTransactionProcessor.java |   8 +-
 ...ILoanRepaymentScheduleTransactionProcessor.java |  24 +-
 .../loanaccount/guarantor/GuarantorConstants.java  |   1 +
 .../GuarantorFundingTransactionRepository.java     |   2 +-
 .../guarantor/domain/GuarantorType.java            |   1 +
 .../service/GuarantorDomainServiceImpl.java        |   8 +-
 .../service/GuarantorReadPlatformServiceImpl.java  |   4 +-
 ...ntorWritePlatformServiceJpaRepositoryIImpl.java |   6 +-
 .../handler/AddLoanChargeCommandHandler.java       |  32 +-
 .../domain/AbstractLoanScheduleGenerator.java      |  37 +-
 .../loanschedule/domain/LoanApplicationTerms.java  |   2 +-
 .../service/LoanScheduleAssembler.java             |   2 +-
 .../RescheduleLoansApiConstants.java               |   2 +-
 .../data/LoanRescheduleRequestDataValidator.java   |   8 +-
 .../domain/LoanRescheduleRequest.java              |   3 +-
 .../LoanRescheduleRequestRepositoryWrapper.java    |   1 +
 ...nRescheduleRequestWritePlatformServiceImpl.java |  44 +-
 .../serialization/LoanEventApiJsonValidator.java   |   3 +-
 ...ationWritePlatformServiceJpaRepositoryImpl.java |  19 +-
 .../service/LoanChargeReadPlatformServiceImpl.java |   9 +-
 .../service/LoanReadPlatformServiceImpl.java       |  32 +-
 .../LoanWritePlatformServiceJpaRepositoryImpl.java |  33 +-
 .../loanproduct/LoanProductConstants.java          |   8 +-
 .../loanproduct/data/LoanProductData.java          |  72 ++-
 .../InterestRecalculationCompoundingMethod.java    |   1 +
 .../loanproduct/domain/LendingStrategy.java        |   1 +
 .../LoanPreClosureInterestCalculationStrategy.java |   1 +
 .../portfolio/loanproduct/domain/LoanProduct.java  | 143 ++++-
 .../LoanProductGeneralRuleException.java}          |  21 +-
 .../serialization/LoanProductDataValidator.java    |   7 +-
 .../LoanProductReadPlatformServiceImpl.java        |   6 +
 ...oductWritePlatformServiceJpaRepositoryImpl.java |   3 +-
 ...etingWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../fineract/portfolio/note/domain/NoteType.java   |   1 +
 .../note/service/NoteReadPlatformServiceImpl.java  |   4 -
 .../NoteWritePlatformServiceJpaRepositoryImpl.java |  12 +-
 .../note/starter/NoteAutoConfiguration.java        |  53 ++
 .../service/PaymentTypeWriteServiceImpl.java       |   2 +-
 .../rate/service/RateWriteServiceImpl.java         |   2 +-
 .../savings/domain/RecurringDepositAccount.java    |   2 +
 .../domain/SavingsAccountDomainServiceJpa.java     |   2 +-
 .../savings/domain/SavingsAccountTransaction.java  |   6 +-
 .../SavingsAccountTransactionTaxDetails.java       |  15 +-
 ...countWritePlatformServiceJpaRepositoryImpl.java |   1 +
 ...ocessWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 ...oductWritePlatformServiceJpaRepositoryImpl.java |   4 +-
 ...dividualMonitoringWritePlatformServiceImpl.java |   2 +
 ...oductWritePlatformServiceJpaRepositoryImpl.java |   4 +-
 ...countWritePlatformServiceJpaRepositoryImpl.java |   9 +-
 ...ocessWritePlatformServiceJpaRepositoryImpl.java |  12 +-
 ...oductWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../fineract/portfolio/search/SearchConstants.java |   4 +
 ...lfBeneficiariesTPTWritePlatformServiceImpl.java |   4 +-
 .../domain/ShareAccountDividendDetails.java        |  14 +-
 .../service/ShareAccountSchedularServiceImpl.java  |   2 +-
 ...countWritePlatformServiceJpaRepositoryImpl.java |   8 +-
 .../domain/ShareProductDividendPayOutDetails.java  |   4 +-
 .../service/ShareProductDividendAssembler.java     |   2 +-
 ...oductWritePlatformServiceJpaRepositoryImpl.java |   8 +-
 .../fineract/portfolio/tax/domain/TaxGroup.java    |   5 +-
 .../portfolio/tax/domain/TaxGroupMappings.java     |  12 +
 .../tax/service/TaxWritePlatformServiceImpl.java   |   8 +-
 ...nsferWritePlatformServiceJpaRepositoryImpl.java |  12 +-
 .../apache/fineract/spm/service/SpmService.java    |   6 +-
 .../useradministration/domain/AppUser.java         |   5 +-
 .../domain/AppUserClientMapping.java               |  11 +-
 ...ssionWritePlatformServiceJpaRepositoryImpl.java |   2 +-
 .../RoleWritePlatformServiceJpaRepositoryImpl.java |   6 +-
 .../src/main/resources/META-INF/persistence.xml    |  10 +-
 .../src/main/resources/application.properties      |   1 +
 .../db/changelog/tenant/changelog-tenant.xml       |   1 +
 .../0008_loan_charge_add_external_id.xml}          |  12 +-
 .../org/apache/fineract/TestConfiguration.java     | 139 +++++
 ...ariaDB4jIntegrationTest.java => TestSuite.java} |  18 +-
 ...AccountingFinanciaActivityStepDefinitions.java} |  23 +-
 .../org/apache/fineract/batch/BatchBuilder.java    |  64 ---
 ...WithoutEnclosingTransactionStepDefinitions.java |  62 ++
 .../CommandHandlerExceptionStepDefinitions.java}   |  39 +-
 .../CommandHandlerProviderStepDefinitions.java}    |  39 +-
 .../provider/CommandHandlerProviderTest.java       |  67 ---
 .../ClasspathHellDuplicatesCheckExtension.java     |  67 ---
 .../ClasspathDuplicatesStepDefinitions.java}       |  99 ++--
 .../spring/SpringConfigurationTest.java            |  52 --
 ...TestsWithoutDatabaseAndNoJobsConfiguration.java | 104 ----
 .../core/LiquibaseStepDefinitions.java             | 173 ++++++
 .../core/MultiExceptionStepDefinitions.java        |  51 ++
 .../core/boot/tests/SpringBootServerLoginTest.java |  49 --
 .../core/exception/MultiExceptionTest.java         |  48 --
 .../TenantDatabaseUpgradeServiceTest.java          | 219 -------
 .../security/utils/SQLBuilderTest.java             | 113 ----
 .../SqlBuilderExceptionStepDefinitions.java        |  47 ++
 .../sqlbuilder/SqlBuilderStepDefinitions.java      |  85 +++
 .../infrastructure/sqlbuilder/SqlBuilderUtil.java  |  52 ++
 .../mix/report/MixXbrlBuilderStepDefinitions.java  |  81 +++
 ...st.java => MixXbrlTaxonomyStepDefinitions.java} |  43 +-
 .../mix/report/service/XBRLBuilderTest.java        |  82 ---
 .../example/DummyServiceStepDefinitions.java       |  54 ++
 .../module/example/TestDefaultConfiguration.java   |  15 +-
 .../example/TestFooConfiguration.java}             |  18 +-
 .../module/service/ServiceStepDefinitions.java     |  58 ++
 .../module/service/TestDefaultConfiguration.java   |  84 +++
 .../module/service/TestOverrideConfiguration.java  |  83 +++
 .../custom/CustomNoteReadPlatformService.java}     |  26 +-
 .../custom/CustomNoteWritePlatformService.java}    |  31 +-
 .../apache/fineract/notification/ListenerTest.java |  50 --
 .../apache/fineract/notification/StorageTest.java  | 112 ----
 .../apache/fineract/notification/TopicTest.java    | 104 ----
 ...nRepaymentScheduleTransactionProcessorTest.java | 225 --------
 ...nRepaymentScheduleTransactionProcessorTest.java | 628 ---------------------
 .../LoanProductRelatedDetailTestHelper.java        | 166 ------
 .../LoanRepaymentScheduleInstallmentBuilder.java   |  87 ---
 .../loanaccount/LoanScheduleTestDataHelper.java    |  83 ---
 .../loanaccount/LoanTransactionBuilder.java        |  58 --
 .../loanaccount/MonetaryCurrencyBuilder.java       |  42 --
 .../portfolio/loanaccount/MoneyBuilder.java        |  43 --
 .../loanaccount/ThitsaworksCreditBureauTest.java   | 134 -----
 .../LoanProductValidationStepDefinitions.java      |  78 +++
 .../template/TemplateMergeServiceTest.java         | 129 -----
 .../service/TemplateServiceStepDefinitions.java    |  82 +++
 .../src/test/resources/application-test.properties |   1 +
 .../src/test/resources/cucumber.properties         |   6 +-
 .../features/accounting/accounting.common.feature  |   6 +
 .../resources/features/batch/batch.builder.feature |   7 +
 .../features/commands/commands.provider.feature    |  20 +
 .../infrastructure.classpath.feature               |   7 +
 .../infrastructure/infrastructure.core.feature     |  55 ++
 .../infrastructure.sqlbuilder.feature              |  35 ++
 .../test/resources/features/mix/mix.report.feature |  21 +
 .../features/module/modules.example.feature        |  12 +
 .../features/module/modules.service.feature        |  14 +
 .../portfolio/loanproduct.validation.feature       |  19 +
 .../features/template/template.service.feature     |  15 +
 fineract-provider/src/test/resources/logback.xml   |  41 ++
 .../src/test/resources/results/array.index.txt     |   1 +
 .../src/test/resources/results/array.loop.txt      |   1 +
 .../src/test/resources/results/hello.txt           |   1 +
 .../{template-expected.html => results/loan.html}  |   0
 .../src/test/resources/results/xbrl.xml            |   2 +
 .../test/resources/templates/array.index.mustache  |   1 +
 .../src/test/resources/templates/array.json        |   8 +
 .../test/resources/templates/array.loop.mustache   |   1 +
 .../src/test/resources/templates/hello.json        |   5 +
 .../src/test/resources/templates/hello.mustache    |   1 +
 .../src/test/resources/templates/loan.json         |  22 +
 .../{template.mustache => templates/loan.mustache} |   0
 gradle.properties                                  |   2 +-
 gradle/wrapper/gradle-wrapper.jar                  | Bin 59536 -> 59821 bytes
 gradle/wrapper/gradle-wrapper.properties           |   2 +-
 integration-tests/build.gradle                     |   4 +
 integration-tests/dependencies.gradle              |  10 +-
 .../ClientLoanChargeExternalIntegrationTest.java   | 181 ++++++
 ...ntLoanIntegrationMultipleDisbursementsTest.java | 222 ++++++++
 .../RepaymentWithPostDatedChecksTest.java          |   2 +-
 .../integrationtests/common/PaymentTypeDomain.java |   2 +-
 .../common/loans/LoanProductTestBuilder.java       |   8 +-
 .../common/loans/LoanTransactionHelper.java        |   9 +-
 .../src/test/resources/cucumber.properties         |   6 +-
 settings.gradle => module/build.gradle             |   9 +-
 settings.gradle => module/dummy/build.gradle       |   9 +-
 settings.gradle => module/dummy/core/build.gradle  |  13 +-
 .../dummy/core/dependencies.gradle                 |  12 +-
 .../fineract/dummy/core/data/DummyMessage.java     |  20 +-
 .../fineract/dummy/core/service/DummyService.java  |  15 +-
 .../dummy/service/build.gradle                     |  13 +-
 .../dummy/service/dependencies.gradle              |  13 +-
 .../fineract/dummy/service/DummyServiceImpl.java   |  19 +-
 .../dummy/starter/build.gradle                     |  13 +-
 .../dummy/starter/dependencies.gradle              |  14 +-
 .../dummy/starter/DummyAutoConfiguration.java      |  21 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +
 oauth2-tests/build.gradle                          |   5 +
 oauth2-tests/dependencies.gradle                   |   6 +-
 .../src/test/resources/cucumber.properties         |   6 +-
 settings.gradle                                    |   4 +
 twofactor-tests/build.gradle                       |   5 +
 twofactor-tests/dependencies.gradle                |   6 +-
 .../src/test/resources/cucumber.properties         |   6 +-
 339 files changed, 3854 insertions(+), 4109 deletions(-)
 copy fineract-provider/src/main/resources/META-INF/persistence.xml => config/spotbugs/exclude.xml (50%)
 copy settings.gradle => custom/foo/build.gradle (79%)
 copy settings.gradle => custom/foo/service/build.gradle (79%)
 copy settings.gradle => custom/foo/service/dependencies.gradle (79%)
 copy settings.gradle => custom/foo/service/src/main/java/com/acmecorp/fineract/foo/service/FooDummyServiceImpl.java (67%)
 copy gradle.properties => docker-compose-community-app.yml (50%)
 copy gradle.properties => fineract-client/src/test/resources/cucumber.properties (50%)
 rename fineract-doc/src/docs/en/{04_api.adoc => api.adoc} (100%)
 rename fineract-doc/src/docs/en/{02_architecture.adoc => architecture.adoc} (72%)
 rename fineract-doc/src/docs/en/{05_client.adoc => client.adoc} (100%)
 create mode 100644 fineract-doc/src/docs/en/diagrams/custom-folder-structure.puml
 create mode 100644 fineract-doc/src/docs/en/diagrams/modules-folder-structure.puml
 create mode 100644 fineract-doc/src/docs/en/images/apache-fineract-logo.png
 rename fineract-doc/src/docs/en/{01_introduction.adoc => introduction.adoc} (100%)
 create mode 100644 fineract-doc/src/docs/en/license.adoc
 create mode 100644 fineract-doc/src/docs/en/modules.adoc
 rename fineract-doc/src/docs/en/{03_oauth.adoc => oauth.adoc} (100%)
 create mode 100644 fineract-doc/src/docs/en/testing.adoc
 rename fineract-doc/src/docs/en/{06_validation.adoc => validation.adoc} (100%)
 delete mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/boot/ApplicationExitUtil.java
 create mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/config/JPAConfig.java
 delete mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/config/PersistenceConfig.java
 rename fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/{boot => config}/WebFrontEndConfiguration.java (97%)
 create mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/persistence/DatabaseSelectingPersistenceUnitPostProcessor.java
 create mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/persistence/EntityScanningPersistenceUnitPostProcessor.java
 rename fineract-provider/src/main/java/org/apache/fineract/infrastructure/{openjpa/OpenJpaTransactionManager.java => core/persistence/ExtendedJpaTransactionManager.java} (53%)
 delete mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/openjpa/OpenJpaDialect.java
 delete mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/openjpa/OpenJpaVendorAdapter.java
 rename fineract-provider/src/{test/java/org/apache/fineract/infrastructure/classdupes/ClasspathHellDuplicatesCheckRuleTest.java => main/java/org/apache/fineract/portfolio/loanproduct/exception/LoanProductGeneralRuleException.java} (56%)
 create mode 100644 fineract-provider/src/main/java/org/apache/fineract/portfolio/note/starter/NoteAutoConfiguration.java
 copy fineract-provider/src/main/resources/db/changelog/tenant/{changelog-tenant.xml => parts/0008_loan_charge_add_external_id.xml} (68%)
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/TestConfiguration.java
 rename fineract-provider/src/test/java/org/apache/fineract/{infrastructure/core/boot/tests/AbstractSpringBootWithMariaDB4jIntegrationTest.java => TestSuite.java} (69%)
 copy fineract-provider/src/test/java/org/apache/fineract/accounting/common/{AccountingConstantsTest.java => AccountingFinanciaActivityStepDefinitions.java} (57%)
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/batch/BatchBuilder.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/batch/builder/BatchBuilderWithoutEnclosingTransactionStepDefinitions.java
 copy fineract-provider/src/{main/java/org/apache/fineract/notification/service/TopicSubscriberWritePlatformServiceJpaRepositoryImpl.java => test/java/org/apache/fineract/commands/provider/CommandHandlerExceptionStepDefinitions.java} (50%)
 copy fineract-provider/src/{main/java/org/apache/fineract/portfolio/loanaccount/handler/AddLoanChargeCommandHandler.java => test/java/org/apache/fineract/commands/provider/CommandHandlerProviderStepDefinitions.java} (52%)
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/commands/provider/CommandHandlerProviderTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/classdupes/ClasspathHellDuplicatesCheckExtension.java
 rename fineract-provider/src/test/java/org/apache/fineract/infrastructure/{classdupes/ClasspathHellDuplicatesChecker.java => classpath/ClasspathDuplicatesStepDefinitions.java} (70%)
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/configuration/spring/SpringConfigurationTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/configuration/spring/TestsWithoutDatabaseAndNoJobsConfiguration.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/core/LiquibaseStepDefinitions.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/core/MultiExceptionStepDefinitions.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/core/boot/tests/SpringBootServerLoginTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/core/exception/MultiExceptionTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/core/service/migration/TenantDatabaseUpgradeServiceTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/security/utils/SQLBuilderTest.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/sqlbuilder/SqlBuilderExceptionStepDefinitions.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/sqlbuilder/SqlBuilderStepDefinitions.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/infrastructure/sqlbuilder/SqlBuilderUtil.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/mix/report/MixXbrlBuilderStepDefinitions.java
 rename fineract-provider/src/test/java/org/apache/fineract/mix/report/{service/ReadTaxonomyMappingServiceImplTest.java => MixXbrlTaxonomyStepDefinitions.java} (52%)
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/mix/report/service/XBRLBuilderTest.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/module/example/DummyServiceStepDefinitions.java
 copy settings.gradle => fineract-provider/src/test/java/org/apache/fineract/module/example/TestDefaultConfiguration.java (72%)
 copy fineract-provider/src/test/java/org/apache/fineract/{accounting/common/AccountingConstantsTest.java => module/example/TestFooConfiguration.java} (66%)
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/module/service/ServiceStepDefinitions.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/module/service/TestDefaultConfiguration.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/module/service/TestOverrideConfiguration.java
 rename fineract-provider/src/test/java/org/apache/fineract/{notification/Listener.java => module/service/custom/CustomNoteReadPlatformService.java} (57%)
 copy fineract-provider/src/{main/java/org/apache/fineract/notification/service/TopicSubscriberWritePlatformServiceJpaRepositoryImpl.java => test/java/org/apache/fineract/module/service/custom/CustomNoteWritePlatformService.java} (52%)
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/notification/ListenerTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/notification/StorageTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/notification/TopicTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/AdhikarLoanRepaymentScheduleTransactionProcessorTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/LoanProductRelatedDetailTestHelper.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/LoanRepaymentScheduleInstallmentBuilder.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/LoanScheduleTestDataHelper.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/LoanTransactionBuilder.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/MonetaryCurrencyBuilder.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/MoneyBuilder.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/ThitsaworksCreditBureauTest.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/portfolio/loanproduct/LoanProductValidationStepDefinitions.java
 delete mode 100644 fineract-provider/src/test/java/org/apache/fineract/template/TemplateMergeServiceTest.java
 create mode 100644 fineract-provider/src/test/java/org/apache/fineract/template/service/TemplateServiceStepDefinitions.java
 copy gradle.properties => fineract-provider/src/test/resources/cucumber.properties (50%)
 create mode 100644 fineract-provider/src/test/resources/features/accounting/accounting.common.feature
 create mode 100644 fineract-provider/src/test/resources/features/batch/batch.builder.feature
 create mode 100644 fineract-provider/src/test/resources/features/commands/commands.provider.feature
 create mode 100644 fineract-provider/src/test/resources/features/infrastructure/infrastructure.classpath.feature
 create mode 100644 fineract-provider/src/test/resources/features/infrastructure/infrastructure.core.feature
 create mode 100644 fineract-provider/src/test/resources/features/infrastructure/infrastructure.sqlbuilder.feature
 create mode 100644 fineract-provider/src/test/resources/features/mix/mix.report.feature
 create mode 100644 fineract-provider/src/test/resources/features/module/modules.example.feature
 create mode 100644 fineract-provider/src/test/resources/features/module/modules.service.feature
 create mode 100644 fineract-provider/src/test/resources/features/portfolio/loanproduct.validation.feature
 create mode 100644 fineract-provider/src/test/resources/features/template/template.service.feature
 create mode 100644 fineract-provider/src/test/resources/logback.xml
 create mode 100644 fineract-provider/src/test/resources/results/array.index.txt
 create mode 100644 fineract-provider/src/test/resources/results/array.loop.txt
 create mode 100644 fineract-provider/src/test/resources/results/hello.txt
 rename fineract-provider/src/test/resources/{template-expected.html => results/loan.html} (100%)
 create mode 100644 fineract-provider/src/test/resources/results/xbrl.xml
 create mode 100644 fineract-provider/src/test/resources/templates/array.index.mustache
 create mode 100644 fineract-provider/src/test/resources/templates/array.json
 create mode 100644 fineract-provider/src/test/resources/templates/array.loop.mustache
 create mode 100644 fineract-provider/src/test/resources/templates/hello.json
 create mode 100644 fineract-provider/src/test/resources/templates/hello.mustache
 create mode 100644 fineract-provider/src/test/resources/templates/loan.json
 rename fineract-provider/src/test/resources/{template.mustache => templates/loan.mustache} (100%)
 create mode 100644 integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanChargeExternalIntegrationTest.java
 create mode 100644 integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationMultipleDisbursementsTest.java
 copy gradle.properties => integration-tests/src/test/resources/cucumber.properties (50%)
 copy settings.gradle => module/build.gradle (79%)
 copy settings.gradle => module/dummy/build.gradle (79%)
 copy settings.gradle => module/dummy/core/build.gradle (79%)
 copy settings.gradle => module/dummy/core/dependencies.gradle (79%)
 copy fineract-provider/src/test/java/org/apache/fineract/accounting/common/AccountingConstantsTest.java => module/dummy/core/src/main/java/org/apache/fineract/dummy/core/data/DummyMessage.java (67%)
 copy settings.gradle => module/dummy/core/src/main/java/org/apache/fineract/dummy/core/service/DummyService.java (79%)
 copy settings.gradle => module/dummy/service/build.gradle (79%)
 copy settings.gradle => module/dummy/service/dependencies.gradle (79%)
 copy settings.gradle => module/dummy/service/src/main/java/org/apache/fineract/dummy/service/DummyServiceImpl.java (70%)
 copy settings.gradle => module/dummy/starter/build.gradle (79%)
 copy settings.gradle => module/dummy/starter/dependencies.gradle (79%)
 rename fineract-provider/src/test/java/org/apache/fineract/accounting/common/AccountingConstantsTest.java => module/dummy/starter/src/main/java/org/apache/fineract/dummy/starter/DummyAutoConfiguration.java (59%)
 create mode 100644 module/dummy/starter/src/main/resources/META-INF/spring.factories
 copy gradle.properties => oauth2-tests/src/test/resources/cucumber.properties (50%)
 copy gradle.properties => twofactor-tests/src/test/resources/cucumber.properties (50%)