From 4606700e042ee95afb042baeb494f5e4acaab04b Mon Sep 17 00:00:00 2001
From: mohitdeuex <105265192+mohitdeuex@users.noreply.github.com>
Date: Thu, 30 Jun 2022 18:59:05 +0530
Subject: [PATCH] [Backend][Java SDK] Fix Json Patch issue with
HttpURLConnection #5791 (#5795)
---
.../openmetadata-java-client/pom.xml | 5 +++++
.../openmetadata/client/gateway/OpenMetadata.java | 12 ++++++++++++
2 files changed, 17 insertions(+)
diff --git a/openmetadata-clients/openmetadata-java-client/pom.xml b/openmetadata-clients/openmetadata-java-client/pom.xml
index 194ddd6673b..a959b9c1a4c 100644
--- a/openmetadata-clients/openmetadata-java-client/pom.xml
+++ b/openmetadata-clients/openmetadata-java-client/pom.xml
@@ -69,6 +69,11 @@
msal4j
1.12.0
+
+ io.github.openfeign
+ feign-okhttp
+ 9.7.0
+
junit
diff --git a/openmetadata-clients/openmetadata-java-client/src/main/java/org/openmetadata/client/gateway/OpenMetadata.java b/openmetadata-clients/openmetadata-java-client/src/main/java/org/openmetadata/client/gateway/OpenMetadata.java
index e87f5681d4d..1d56531012e 100644
--- a/openmetadata-clients/openmetadata-java-client/src/main/java/org/openmetadata/client/gateway/OpenMetadata.java
+++ b/openmetadata-clients/openmetadata-java-client/src/main/java/org/openmetadata/client/gateway/OpenMetadata.java
@@ -14,7 +14,13 @@
package org.openmetadata.client.gateway;
import com.fasterxml.jackson.annotation.JsonInclude;
+import feign.Feign;
import feign.RequestInterceptor;
+import feign.form.FormEncoder;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
+import feign.okhttp.OkHttpClient;
+import feign.slf4j.Slf4jLogger;
import io.swagger.client.ApiClient;
import io.swagger.client.api.CatalogApi;
import org.openmetadata.catalog.api.CatalogVersion;
@@ -41,6 +47,12 @@ public class OpenMetadata {
public OpenMetadata(OpenMetadataServerConnection config) {
serverConfig = config;
apiClient = new ApiClient();
+ Feign.Builder builder = Feign.builder()
+ .encoder(new FormEncoder(new JacksonEncoder(apiClient.getObjectMapper())))
+ .decoder(new JacksonDecoder(apiClient.getObjectMapper()))
+ .logger(new Slf4jLogger())
+ .client(new OkHttpClient());
+ apiClient.setFeignBuilder(builder);
AuthenticationProviderFactory factory = new AuthenticationProviderFactory();
apiClient.addAuthorization("oauth", factory.getAuthProvider(config));
basePath = config.getHostPort() + "/";