You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ar...@apache.org on 2022/07/15 16:13:09 UTC
[fineract] branch develop updated: Fineract client builder tenant and username/password are made optional
This is an automated email from the ASF dual-hosted git repository.
arnold 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 c2d5a735d Fineract client builder tenant and username/password are made optional
c2d5a735d is described below
commit c2d5a735d66595a3db5fe205e06a437c782371e9
Author: Arnold Galovics <ga...@gmail.com>
AuthorDate: Fri Jul 15 17:20:26 2022 +0200
Fineract client builder tenant and username/password are made optional
---
.../fineract/client/util/FineractClient.java | 24 ++++++++++++++++------
.../client/test/FineractClientTechnicalTest.java | 6 ------
2 files changed, 18 insertions(+), 12 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 9efee26aa..3c44b1e59 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
@@ -141,6 +141,8 @@ import org.apache.fineract.client.services.UserGeneratedDocumentsApi;
import org.apache.fineract.client.services.UsersApi;
import org.apache.fineract.client.services.WorkingDaysApi;
import org.apache.fineract.client.util.JSON.GsonCustomConverterFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import retrofit2.Retrofit;
import retrofit2.converter.scalars.ScalarsConverterFactory;
@@ -406,6 +408,8 @@ public final class FineractClient {
public static final class Builder {
+ private static final Logger log = LoggerFactory.getLogger(Builder.class);
+
private final JSON json = new JSON();
private final OkHttpClient.Builder okBuilder = new OkHttpClient.Builder();
private final Retrofit.Builder retrofitBuilder = new Retrofit.Builder().addConverterFactory(ScalarsConverterFactory.create())
@@ -488,14 +492,22 @@ public final class FineractClient {
retrofitBuilder.baseUrl(has("baseURL", baseURL));
// Tenant
- ApiKeyAuth tenantAuth = new ApiKeyAuth("header", "fineract-platform-tenantid");
- tenantAuth.setApiKey(has("tenant", tenant));
- okBuilder.addInterceptor(tenantAuth);
+ if (tenant != null) {
+ ApiKeyAuth tenantAuth = new ApiKeyAuth("header", "fineract-platform-tenantid");
+ tenantAuth.setApiKey(has("tenant", tenant));
+ okBuilder.addInterceptor(tenantAuth);
+ } else {
+ log.warn("Tenant hasn't been configured for the client");
+ }
// BASIC Auth
- HttpBasicAuth basicAuth = new HttpBasicAuth();
- basicAuth.setCredentials(has("username", username), has("password", password));
- okBuilder.addInterceptor(basicAuth);
+ if (username != null && password != null) {
+ HttpBasicAuth basicAuth = new HttpBasicAuth();
+ basicAuth.setCredentials(has("username", username), has("password", password));
+ okBuilder.addInterceptor(basicAuth);
+ } else {
+ log.warn("Username and password haven't been configured for the client");
+ }
OkHttpClient okHttpClient = okBuilder.build();
retrofitBuilder.client(okHttpClient);
diff --git a/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTechnicalTest.java b/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTechnicalTest.java
index 63bb56773..efbe147aa 100644
--- a/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTechnicalTest.java
+++ b/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTechnicalTest.java
@@ -44,11 +44,5 @@ public class FineractClientTechnicalTest {
assertThrows(IllegalStateException.class, () -> {
FineractClient.builder().build();
});
- assertThrows(IllegalStateException.class, () -> {
- FineractClient.builder().baseURL("https://server/").build();
- });
- assertThrows(IllegalStateException.class, () -> {
- FineractClient.builder().baseURL("https://server/").tenant("default").build();
- });
}
}