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);
     }
 

Reply via email to