This is an automated email from the ASF dual-hosted git repository.
aleks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 55b1d4f Simplify FineractClient SDK API (FINERACT-1216)
55b1d4f is described below
commit 55b1d4f531e48f67eefc1c27d9b59f4ffc85b277
Author: Michael Vorburger <[email protected]>
AuthorDate: Sun Oct 18 17:46:30 2020 +0200
Simplify FineractClient SDK API (FINERACT-1216)
---
.../fineract/client/util/FineractClient.java | 217 ++++++++++++++++++++-
.../fineract/client/test/FineractClientTest.java | 6 +-
2 files changed, 215 insertions(+), 8 deletions(-)
diff --git
a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
index 43b2f1d..4ad6e7e 100644
---
a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
+++
b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
@@ -20,6 +20,7 @@ package org.apache.fineract.client.util;
import org.apache.fineract.client.ApiClient;
import org.apache.fineract.client.auth.ApiKeyAuth;
+import org.apache.fineract.client.services.*;
/**
* Fineract Client Java SDK API entry point. This is recommended to be used
instead of {@link ApiClient}.
@@ -28,18 +29,226 @@ import org.apache.fineract.client.auth.ApiKeyAuth;
*/
public class FineractClient {
- private final ApiClient apiClient;
+ private final ApiClient api;
+
+ public final AccountingClosureApi glClosures;
+ public final AccountingRulesApi accountingRules;
+ public final AccountNumberFormatApi accountNumberFormats;
+ public final AccountTransfersApi accountTransfers;
+ public final AdhocQueryApiApi adhocQuery;
+ public final AuditsApi audits;
+ public final AuthenticationHttpBasicApi authentication;
+ public final BatchApiApi batches;
+ public final CacheApi caches;
+ public final CashierJournalsApi cashiersJournal;
+ public final CashiersApi cashiers;
+ public final CentersApi centers;
+ public final ChargesApi charges;
+ public final ClientApi clients;
+ public final ClientChargesApi clientCharges;
+ public final ClientIdentifierApi clientIdentifiers;
+ public final ClientsAddressApi clientAddresses;
+ public final ClientTransactionApi clientTransactions;
+ public final CodesApi codes;
+ public final CodeValuesApi codeValues;
+ public final CurrencyApi currencies;
+ public final DataTablesApi dataTables;
+ public final @Deprecated DefaultApi legacy; // TODO FINERACT-1222
+ public final DocumentsApi documents;
+ public final EntityDataTableApi entityDatatableChecks;
+ public final EntityFieldConfigurationApi entityFieldConfigurations;
+ public final ExternalServicesApi externalServices;
+ public final FetchAuthenticatedUserDetailsApi userDetails;
+ public final FixedDepositAccountApi fixedDepositAccounts;
+ public final FixedDepositProductApi fixedDepositProducts;
+ public final FloatingRatesApi floatingRates;
+ public final GeneralLedgerAccountApi glAccounts;
+ public final GlobalConfigurationApi globalConfigurations;
+ public final GroupsApi groups;
+ public final HolidaysApi holidays;
+ public final HooksApi hooks;
+ public final InterestRateChartApi interestRateCharts;
+ public final InterestRateSlabAKAInterestBandsApi interestRateChartLabs;
+ public final JournalEntriesApi journalEntries;
+ public final ListReportMailingJobHistoryApi reportMailings;
+ public final LoanChargesApi loanCharges;
+ public final LoanCollateralApi loanCollaterals;
+ public final LoanProductsApi loanProducts;
+ public final LoanReschedulingApi loanSchedules;
+ public final LoansApi loans;
+ public final LoanTransactionsApi loanTransactions;
+ public final MakerCheckerOr4EyeFunctionalityApi makerCheckers;
+ public final MappingFinancialActivitiesToAccountsApi
financialActivyAccountMappings;
+ public final MifosxBatchJobsApi jobs;
+ public final MixMappingApi mixMappings;
+ public final MixReportApi mixReports;
+ public final MixTaxonomyApi mixTaxonomies;
+ public final NotesApi notes;
+ public final NotificationApi notifications;
+ public final OfficesApi offices;
+ public final PasswordPreferencesApi passwordPreferences;
+ public final PaymentTypeApi paymentTypes;
+ public final PeriodicAccrualAccountingApi periodicAccrualAccounting;
+ public final PermissionsApi permissions;
+ public final PocketApi selfPockets;
+ public final ProvisioningCategoryApi provisioningCategories;
+ public final ProvisioningCriteriaApi provisioningCriterias;
+ public final ProvisioningEntriesApi provisioningEntries;
+ public final RecurringDepositAccountApi recurringDepositAccounts;
+ public final RecurringDepositAccountTransactionsApi
recurringDepositAccountTransactions;
+ public final RecurringDepositProductApi recurringDepositProducts;
+ public final ReportMailingJobsApi reportMailingJobs;
+ public final ReportsApi reports;
+ public final RolesApi roles;
+ public final RunReportsApi reportsRun;
+ public final SavingsAccountApi savingsAccounts;
+ public final SavingsChargesApi savingsAccountCharges;
+ public final SavingsProductApi savingsProducts;
+ public final SchedulerApi jobsScheduler;
+ public final ScoreCardApi surveyScorecards;
+ public final SearchApiApi search;
+ public final SelfAccountTransferApi selfAccountTransfers;
+ public final SelfAuthenticationApi selfAuthentication;
+ public final SelfClientApi selfClients;
+ public final SelfDividendApi selfShareProducts;
+ public final SelfLoanProductsApi selfLoanProducts;
+ public final SelfLoansApi selfLoans;
+ public final SelfRunReportApi selfReportsRun;
+ public final SelfSavingsAccountApi selfSavingsAccounts;
+ public final SelfScoreCardApi selfSurveyScorecards;
+ public final SelfServiceRegistrationApi selfRegistration;
+ public final SelfShareAccountsApi selfShareAccounts;
+ public final SelfSpmApi selfSurveys;
+ public final SelfThirdPartyTransferApi selfThirdPartyBeneficiaries;
+ public final SelfUserApi selfUser;
+ public final SelfUserDetailsApi selfUserDetails;
+ public final ShareAccountApi shareAccounts;
+ public final SpmApiLookUpTableApi surveyLookupTables;
+ public final SpmSurveysApi surveys;
+ public final StaffApi staff;
+ public final StandingInstructionsApi standingInstructions;
+ public final StandingInstructionsHistoryApi standingInstructionsHistory;
+ public final TaxComponentsApi taxComponents;
+ public final TaxGroupApi taxGroups;
+ public final TellerCashManagementApi tellers;
+ public final UserGeneratedDocumentsApi templates;
+ public final UsersApi users;
+ public final WorkingDaysApi workingDays;
private FineractClient(ApiClient apiClient) {
- this.apiClient = apiClient;
+ api = apiClient;
+
+ glClosures = apiClient.createService(AccountingClosureApi.class);
+ accountingRules = apiClient.createService(AccountingRulesApi.class);
+ accountNumberFormats =
apiClient.createService(AccountNumberFormatApi.class);
+ accountTransfers = apiClient.createService(AccountTransfersApi.class);
+ adhocQuery = apiClient.createService(AdhocQueryApiApi.class);
+ audits = apiClient.createService(AuditsApi.class);
+ authentication =
apiClient.createService(AuthenticationHttpBasicApi.class);
+ batches = apiClient.createService(BatchApiApi.class);
+ caches = apiClient.createService(CacheApi.class);
+ cashiersJournal = apiClient.createService(CashierJournalsApi.class);
+ cashiers = apiClient.createService(CashiersApi.class);
+ centers = apiClient.createService(CentersApi.class);
+ charges = apiClient.createService(ChargesApi.class);
+ clients = apiClient.createService(ClientApi.class);
+ clientCharges = apiClient.createService(ClientChargesApi.class);
+ clientIdentifiers = apiClient.createService(ClientIdentifierApi.class);
+ clientAddresses = apiClient.createService(ClientsAddressApi.class);
+ clientTransactions =
apiClient.createService(ClientTransactionApi.class);
+ codes = apiClient.createService(CodesApi.class);
+ codeValues = apiClient.createService(CodeValuesApi.class);
+ currencies = apiClient.createService(CurrencyApi.class);
+ dataTables = apiClient.createService(DataTablesApi.class);
+ legacy = apiClient.createService(DefaultApi.class);
+ documents = apiClient.createService(DocumentsApi.class);
+ entityDatatableChecks =
apiClient.createService(EntityDataTableApi.class);
+ entityFieldConfigurations =
apiClient.createService(EntityFieldConfigurationApi.class);
+ externalServices = apiClient.createService(ExternalServicesApi.class);
+ userDetails =
apiClient.createService(FetchAuthenticatedUserDetailsApi.class);
+ fixedDepositAccounts =
apiClient.createService(FixedDepositAccountApi.class);
+ fixedDepositProducts =
apiClient.createService(FixedDepositProductApi.class);
+ floatingRates = apiClient.createService(FloatingRatesApi.class);
+ glAccounts = apiClient.createService(GeneralLedgerAccountApi.class);
+ globalConfigurations =
apiClient.createService(GlobalConfigurationApi.class);
+ groups = apiClient.createService(GroupsApi.class);
+ holidays = apiClient.createService(HolidaysApi.class);
+ hooks = apiClient.createService(HooksApi.class);
+ interestRateCharts =
apiClient.createService(InterestRateChartApi.class);
+ interestRateChartLabs =
apiClient.createService(InterestRateSlabAKAInterestBandsApi.class);
+ journalEntries = apiClient.createService(JournalEntriesApi.class);
+ reportMailings =
apiClient.createService(ListReportMailingJobHistoryApi.class);
+ loanCharges = apiClient.createService(LoanChargesApi.class);
+ loanCollaterals = apiClient.createService(LoanCollateralApi.class);
+ loanProducts = apiClient.createService(LoanProductsApi.class);
+ loanSchedules = apiClient.createService(LoanReschedulingApi.class);
+ loans = apiClient.createService(LoansApi.class);
+ loanTransactions = apiClient.createService(LoanTransactionsApi.class);
+ makerCheckers =
apiClient.createService(MakerCheckerOr4EyeFunctionalityApi.class);
+ financialActivyAccountMappings =
apiClient.createService(MappingFinancialActivitiesToAccountsApi.class);
+ jobs = apiClient.createService(MifosxBatchJobsApi.class);
+ mixMappings = apiClient.createService(MixMappingApi.class);
+ mixReports = apiClient.createService(MixReportApi.class);
+ mixTaxonomies = apiClient.createService(MixTaxonomyApi.class);
+ notes = apiClient.createService(NotesApi.class);
+ notifications = apiClient.createService(NotificationApi.class);
+ offices = apiClient.createService(OfficesApi.class);
+ passwordPreferences =
apiClient.createService(PasswordPreferencesApi.class);
+ paymentTypes = apiClient.createService(PaymentTypeApi.class);
+ periodicAccrualAccounting =
apiClient.createService(PeriodicAccrualAccountingApi.class);
+ permissions = apiClient.createService(PermissionsApi.class);
+ selfPockets = apiClient.createService(PocketApi.class);
+ provisioningCategories =
apiClient.createService(ProvisioningCategoryApi.class);
+ provisioningCriterias =
apiClient.createService(ProvisioningCriteriaApi.class);
+ provisioningEntries =
apiClient.createService(ProvisioningEntriesApi.class);
+ recurringDepositAccounts =
apiClient.createService(RecurringDepositAccountApi.class);
+ recurringDepositAccountTransactions =
apiClient.createService(RecurringDepositAccountTransactionsApi.class);
+ recurringDepositProducts =
apiClient.createService(RecurringDepositProductApi.class);
+ reportMailingJobs =
apiClient.createService(ReportMailingJobsApi.class);
+ reports = apiClient.createService(ReportsApi.class);
+ roles = apiClient.createService(RolesApi.class);
+ reportsRun = apiClient.createService(RunReportsApi.class);
+ savingsAccounts = apiClient.createService(SavingsAccountApi.class);
+ savingsAccountCharges =
apiClient.createService(SavingsChargesApi.class);
+ savingsProducts = apiClient.createService(SavingsProductApi.class);
+ jobsScheduler = apiClient.createService(SchedulerApi.class);
+ surveyScorecards = apiClient.createService(ScoreCardApi.class);
+ search = apiClient.createService(SearchApiApi.class);
+ selfAccountTransfers =
apiClient.createService(SelfAccountTransferApi.class);
+ selfAuthentication =
apiClient.createService(SelfAuthenticationApi.class);
+ selfClients = apiClient.createService(SelfClientApi.class);
+ selfShareProducts = apiClient.createService(SelfDividendApi.class);
+ selfLoanProducts = apiClient.createService(SelfLoanProductsApi.class);
+ selfLoans = apiClient.createService(SelfLoansApi.class);
+ selfReportsRun = apiClient.createService(SelfRunReportApi.class);
+ selfSavingsAccounts =
apiClient.createService(SelfSavingsAccountApi.class);
+ selfSurveyScorecards = apiClient.createService(SelfScoreCardApi.class);
+ selfRegistration =
apiClient.createService(SelfServiceRegistrationApi.class);
+ selfShareAccounts =
apiClient.createService(SelfShareAccountsApi.class);
+ selfSurveys = apiClient.createService(SelfSpmApi.class);
+ selfThirdPartyBeneficiaries =
apiClient.createService(SelfThirdPartyTransferApi.class);
+ selfUser = apiClient.createService(SelfUserApi.class);
+ selfUserDetails = apiClient.createService(SelfUserDetailsApi.class);
+ shareAccounts = apiClient.createService(ShareAccountApi.class);
+ surveyLookupTables =
apiClient.createService(SpmApiLookUpTableApi.class);
+ surveys = apiClient.createService(SpmSurveysApi.class);
+ staff = apiClient.createService(StaffApi.class);
+ standingInstructions =
apiClient.createService(StandingInstructionsApi.class);
+ standingInstructionsHistory =
apiClient.createService(StandingInstructionsHistoryApi.class);
+ taxComponents = apiClient.createService(TaxComponentsApi.class);
+ taxGroups = apiClient.createService(TaxGroupApi.class);
+ tellers = apiClient.createService(TellerCashManagementApi.class);
+ templates = apiClient.createService(UserGeneratedDocumentsApi.class);
+ users = apiClient.createService(UsersApi.class);
+ workingDays = apiClient.createService(WorkingDaysApi.class);
}
public static FineractClientBuilder builder() {
return new FineractClientBuilder();
}
- public <S> S createService(Class<S> serviceClass) {
- return apiClient.createService(serviceClass);
+ protected <S> S createService(Class<S> serviceClass) {
+ return api.createService(serviceClass);
}
public static class FineractClientBuilder {
diff --git
a/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java
b/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java
index b4ccb82..74eeeef 100644
---
a/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java
+++
b/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java
@@ -23,7 +23,6 @@ import static org.apache.fineract.client.util.Calls.ok;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
-import org.apache.fineract.client.services.ClientApi;
import org.apache.fineract.client.util.FineractClient;
import org.junit.jupiter.api.Test;
@@ -36,10 +35,9 @@ public class FineractClientTest {
@Test
void testRetrieveAllClients() throws IOException {
- FineractClient client =
FineractClient.builder().baseURL("https://demo.fineract.dev/fineract-provider/api/v1/").tenant("default")
+ FineractClient fineract =
FineractClient.builder().baseURL("https://demo.fineract.dev/fineract-provider/api/v1/").tenant("default")
.basicAuth("mifos", "password").build();
- ClientApi clientApi = client.createService(ClientApi.class);
- assertThat(ok(clientApi.retrieveAll20(null, null, null, null, null,
null, null, null, 0, 100, null, null, null))
+ assertThat(ok(fineract.clients.retrieveAll20(null, null, null, null,
null, null, null, null, 0, 100, null, null, null))
.getTotalFilteredRecords()).isAtLeast(3);
}