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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new eebe6eaeb [INLONG-7496][Manager] Add parseFields method for 
manager-client (#7497)
eebe6eaeb is described below

commit eebe6eaeb37d16ee5a59fc91b1b12dc2a8880993
Author: fuweng11 <[email protected]>
AuthorDate: Thu Mar 2 19:25:13 2023 +0800

    [INLONG-7496][Manager] Add parseFields method for manager-client (#7497)
---
 .../api/inner/client/InlongStreamClient.java       | 13 ++++++++
 .../client/api/inner/client/StreamSinkClient.java  | 13 ++++++++
 .../client/api/service/InlongStreamApi.java        |  6 ++++
 .../manager/client/api/service/StreamSinkApi.java  |  6 ++++
 .../client/api/inner/ClientFactoryTest.java        | 37 ++++++++++++++++++++++
 5 files changed, 75 insertions(+)

diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongStreamClient.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongStreamClient.java
index 087fae7b6..0213ca436 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongStreamClient.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongStreamClient.java
@@ -28,6 +28,7 @@ import org.apache.inlong.manager.pojo.common.Response;
 import org.apache.inlong.manager.pojo.stream.InlongStreamBriefInfo;
 import org.apache.inlong.manager.pojo.stream.InlongStreamInfo;
 import org.apache.inlong.manager.pojo.stream.InlongStreamPageRequest;
+import org.apache.inlong.manager.pojo.stream.StreamField;
 
 import java.util.List;
 
@@ -213,4 +214,16 @@ public class InlongStreamClient {
         ClientUtils.assertRespSuccess(response);
         return response.getData();
     }
+
+    /**
+     * Converts a json string to a streamFields
+     *
+     * @param fieldsJson JSON string for the field information
+     * @return list of stream field
+     */
+    public List<StreamField> parseFields(String fieldsJson) {
+        Response<List<StreamField>> response = 
ClientUtils.executeHttpCall(inlongStreamApi.parseFields(fieldsJson));
+        ClientUtils.assertRespSuccess(response);
+        return response.getData();
+    }
 }
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSinkClient.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSinkClient.java
index 5676bf18c..37f33d8da 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSinkClient.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSinkClient.java
@@ -25,6 +25,7 @@ import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.pojo.common.PageResult;
 import org.apache.inlong.manager.pojo.common.Response;
 import org.apache.inlong.manager.pojo.common.UpdateResult;
+import org.apache.inlong.manager.pojo.sink.SinkField;
 import org.apache.inlong.manager.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.pojo.sink.StreamSink;
 
@@ -119,4 +120,16 @@ public class StreamSinkClient {
         ClientUtils.assertRespSuccess(response);
         return response.getData();
     }
+
+    /**
+     * Converts a json string to a sinkFields
+     *
+     * @param fieldsJson JSON string for the field information
+     * @return list of sink field
+     */
+    public List<SinkField> parseFields(String fieldsJson) {
+        Response<List<SinkField>> response = 
ClientUtils.executeHttpCall(streamSinkApi.parseFields(fieldsJson));
+        ClientUtils.assertRespSuccess(response);
+        return response.getData();
+    }
 }
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongStreamApi.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongStreamApi.java
index 70362d236..2db47beda 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongStreamApi.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongStreamApi.java
@@ -22,6 +22,7 @@ import org.apache.inlong.manager.pojo.common.Response;
 import org.apache.inlong.manager.pojo.stream.InlongStreamBriefInfo;
 import org.apache.inlong.manager.pojo.stream.InlongStreamInfo;
 import org.apache.inlong.manager.pojo.stream.InlongStreamPageRequest;
+import org.apache.inlong.manager.pojo.stream.StreamField;
 import retrofit2.Call;
 import retrofit2.http.Body;
 import retrofit2.http.DELETE;
@@ -30,6 +31,8 @@ import retrofit2.http.POST;
 import retrofit2.http.Path;
 import retrofit2.http.Query;
 
+import java.util.List;
+
 public interface InlongStreamApi {
 
     @POST("stream/save")
@@ -65,4 +68,7 @@ public interface InlongStreamApi {
 
     @DELETE("stream/delete")
     Call<Response<Boolean>> delete(@Query("groupId") String groupId, 
@Query("streamId") String streamId);
+
+    @POST("stream/parseFields")
+    Call<Response<List<StreamField>>> parseFields(@Body String fieldsJson);
 }
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSinkApi.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSinkApi.java
index 323cb75f1..e34b55aaa 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSinkApi.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSinkApi.java
@@ -20,6 +20,7 @@ package org.apache.inlong.manager.client.api.service;
 import org.apache.inlong.manager.pojo.common.PageResult;
 import org.apache.inlong.manager.pojo.common.Response;
 import org.apache.inlong.manager.pojo.common.UpdateResult;
+import org.apache.inlong.manager.pojo.sink.SinkField;
 import org.apache.inlong.manager.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.pojo.sink.StreamSink;
 import retrofit2.Call;
@@ -30,6 +31,8 @@ import retrofit2.http.POST;
 import retrofit2.http.Path;
 import retrofit2.http.Query;
 
+import java.util.List;
+
 public interface StreamSinkApi {
 
     @POST("sink/save")
@@ -55,4 +58,7 @@ public interface StreamSinkApi {
     Call<Response<PageResult<StreamSink>>> list(@Query("inlongGroupId") String 
groupId,
             @Query("inlongStreamId") String streamId, @Query("sinkType") 
String sinkType);
 
+    @POST("sink/parseFields")
+    Call<Response<List<SinkField>>> parseFields(@Body String fieldsJson);
+
 }
diff --git 
a/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
 
b/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
index bb1984936..ffdee3dfc 100644
--- 
a/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
+++ 
b/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
@@ -67,6 +67,7 @@ import 
org.apache.inlong.manager.pojo.group.pulsar.InlongPulsarTopicInfo;
 import org.apache.inlong.manager.pojo.node.DataNodeInfo;
 import org.apache.inlong.manager.pojo.node.hive.HiveDataNodeInfo;
 import org.apache.inlong.manager.pojo.node.hive.HiveDataNodeRequest;
+import org.apache.inlong.manager.pojo.sink.SinkField;
 import org.apache.inlong.manager.pojo.sink.StreamSink;
 import org.apache.inlong.manager.pojo.sink.ck.ClickHouseSink;
 import org.apache.inlong.manager.pojo.sink.es.ElasticsearchSink;
@@ -1021,4 +1022,40 @@ class ClientFactoryTest {
         Assertions.assertTrue(isDelete);
     }
 
+    @Test
+    void testParseStreamFields() {
+        List<StreamField> streamFieldList = Lists.newArrayList(
+                StreamField.builder()
+                        .fieldName("test_name")
+                        .fieldType("string")
+                        .build());
+        stubFor(
+                post(urlMatching("/inlong/manager/api/stream/parseFields.*"))
+                        .willReturn(
+                                okJson(JsonUtils.toJsonString(
+                                        
Response.success(Lists.newArrayList(streamFieldList))))));
+
+        List<StreamField> responseList = 
streamClient.parseFields("{\"test_name\":\"string\"}");
+        Assertions.assertEquals(JsonUtils.toJsonString(responseList), 
JsonUtils.toJsonString(streamFieldList));
+
+    }
+
+    @Test
+    void testParseSinkFields() {
+        List<SinkField> sinkFieldList = Lists.newArrayList(
+                SinkField.builder()
+                        .fieldName("test_name")
+                        .fieldType("string")
+                        .build());
+        stubFor(
+                post(urlMatching("/inlong/manager/api/sink/parseFields.*"))
+                        .willReturn(
+                                okJson(JsonUtils.toJsonString(
+                                        
Response.success(Lists.newArrayList(sinkFieldList))))));
+
+        List<SinkField> responseList = 
sinkClient.parseFields("{\"test_name\":\"string\"}");
+        Assertions.assertEquals(JsonUtils.toJsonString(responseList), 
JsonUtils.toJsonString(sinkFieldList));
+
+    }
+
 }

Reply via email to