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