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

healchow 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 0a933847c [INLONG-4926][Manager]  Supplement or modify the inlong 
group api in the manager client (#5226)
0a933847c is described below

commit 0a933847c4afd5367274b3eaa9893b882bba474a
Author: haibo.duan <[email protected]>
AuthorDate: Wed Jul 27 18:57:43 2022 +0800

    [INLONG-4926][Manager]  Supplement or modify the inlong group api in the 
manager client (#5226)
---
 .../inlong/manager/client/api/InlongGroup.java     | 17 +++++++
 .../manager/client/api/impl/BlankInlongGroup.java  | 12 +++++
 .../manager/client/api/impl/InlongGroupImpl.java   | 12 +++++
 .../client/api/inner/client/InlongGroupClient.java | 26 ++++++++++
 .../manager/client/api/service/InlongGroupApi.java |  6 +++
 .../client/api/inner/ClientFactoryTest.java        | 55 ++++++++++++++++++++++
 6 files changed, 128 insertions(+)

diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
index 7285f2302..8c6efb38c 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
@@ -17,7 +17,9 @@
 
 package org.apache.inlong.manager.client.api;
 
+import org.apache.inlong.manager.common.pojo.group.InlongGroupCountResponse;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupTopicInfo;
 import org.apache.inlong.manager.common.pojo.sort.BaseSortConf;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
 
@@ -138,4 +140,19 @@ public interface InlongGroup {
      * @throws Exception
      */
     InlongGroupContext reset(int rerun, int resetFinalStatus) throws Exception;
+
+    /**
+     * Get InLong group count info by user.
+     *
+     * @return {@link InlongGroupCountResponse}
+     */
+    InlongGroupCountResponse countGroupByUser() throws Exception;
+
+    /**
+     * Get InLong group topic info by topic id.
+     *
+     * @param id topic id
+     * @return {@link InlongGroupTopicInfo}
+     */
+    InlongGroupTopicInfo getTopic(String id)throws Exception;
 }
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/BlankInlongGroup.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/BlankInlongGroup.java
index 3a0e2ce59..f63963909 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/BlankInlongGroup.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/BlankInlongGroup.java
@@ -21,7 +21,9 @@ import org.apache.inlong.manager.client.api.InlongGroup;
 import org.apache.inlong.manager.client.api.InlongGroupContext;
 import org.apache.inlong.manager.client.api.InlongStream;
 import org.apache.inlong.manager.client.api.InlongStreamBuilder;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupCountResponse;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupTopicInfo;
 import org.apache.inlong.manager.common.pojo.sort.BaseSortConf;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
 
@@ -101,4 +103,14 @@ public class BlankInlongGroup implements InlongGroup {
     public InlongGroupContext reset(int rerun, int resetFinalStatus) throws 
Exception {
         throw new UnsupportedOperationException("Inlong group is not exists");
     }
+
+    @Override
+    public InlongGroupCountResponse countGroupByUser() throws Exception {
+        throw new UnsupportedOperationException("Inlong group is not exists");
+    }
+
+    @Override
+    public InlongGroupTopicInfo getTopic(String id) throws Exception {
+        throw new UnsupportedOperationException("Inlong group is not exists");
+    }
 }
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
index 7ec6f9076..2eabbc78d 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
@@ -37,9 +37,11 @@ import org.apache.inlong.manager.client.api.util.ClientUtils;
 import org.apache.inlong.manager.client.api.util.InlongGroupTransfer;
 import org.apache.inlong.manager.common.enums.GroupStatus;
 import org.apache.inlong.manager.common.enums.ProcessStatus;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupCountResponse;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupResetRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupTopicInfo;
 import org.apache.inlong.manager.common.pojo.sort.BaseSortConf;
 import 
org.apache.inlong.manager.common.pojo.stream.InlongStreamConfigLogListResponse;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
@@ -261,6 +263,16 @@ public class InlongGroupImpl implements InlongGroup {
         return generateSnapshot();
     }
 
+    @Override
+    public InlongGroupCountResponse countGroupByUser() {
+        return groupClient.countGroupByUser();
+    }
+
+    @Override
+    public InlongGroupTopicInfo getTopic(String id) {
+        return groupClient.getTopic(id);
+    }
+
     private InlongGroupContext generateSnapshot() {
         // fetch current group
         InlongGroupInfo groupInfo = 
groupClient.getGroupInfo(groupContext.getGroupId());
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongGroupClient.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongGroupClient.java
index 87d165df3..71e282e7b 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongGroupClient.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/InlongGroupClient.java
@@ -25,11 +25,13 @@ import 
org.apache.inlong.manager.client.api.enums.SimpleGroupStatus;
 import org.apache.inlong.manager.client.api.service.InlongGroupApi;
 import org.apache.inlong.manager.client.api.util.ClientUtils;
 import org.apache.inlong.manager.common.beans.Response;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupCountResponse;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupBriefInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupPageRequest;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupResetRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupTopicInfo;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.common.util.JsonUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
@@ -216,4 +218,28 @@ public class InlongGroupClient {
             return response.getData();
         }
     }
+
+    public InlongGroupCountResponse countGroupByUser() {
+        Response<Object> response = 
ClientUtils.executeHttpCall(inlongGroupApi.countGroupByUser());
+        if (response.isSuccess()) {
+            return 
JsonUtils.parseObject(JsonUtils.toJsonString(response.getData()),
+                    InlongGroupCountResponse.class);
+        } else if (response.getErrMsg().contains("not exist")) {
+            return null;
+        } else {
+            throw new RuntimeException(response.getErrMsg());
+        }
+    }
+
+    public InlongGroupTopicInfo getTopic(String id) {
+        Response<Object> response = 
ClientUtils.executeHttpCall(inlongGroupApi.getTopic(id));
+        if (response.isSuccess()) {
+            return 
JsonUtils.parseObject(JsonUtils.toJsonString(response.getData()),
+                    InlongGroupTopicInfo.class);
+        } else if (response.getErrMsg().contains("not exist")) {
+            return null;
+        } else {
+            throw new RuntimeException(response.getErrMsg());
+        }
+    }
 }
diff --git 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongGroupApi.java
 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongGroupApi.java
index 8941dfb22..3e809b694 100644
--- 
a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongGroupApi.java
+++ 
b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/InlongGroupApi.java
@@ -71,4 +71,10 @@ public interface InlongGroupApi {
 
     @POST("group/reset")
     Call<Response<Boolean>> resetGroup(@Body InlongGroupResetRequest request);
+
+    @GET("group/countByStatus")
+    Call<Response<Object>> countGroupByUser();
+
+    @GET("group/getTopic/{id}")
+    Call<Response<Object>> getTopic(@Path("id") String id);
 }
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 199107c8f..4f3e55858 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
@@ -46,9 +46,11 @@ import 
org.apache.inlong.manager.common.pojo.cluster.ClusterTagResponse;
 import org.apache.inlong.manager.common.pojo.cluster.pulsar.PulsarClusterInfo;
 import 
org.apache.inlong.manager.common.pojo.cluster.pulsar.PulsarClusterRequest;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupBriefInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupCountResponse;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupExtInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupResetRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupTopicInfo;
 import org.apache.inlong.manager.common.pojo.group.pulsar.InlongPulsarInfo;
 import org.apache.inlong.manager.common.pojo.group.pulsar.InlongPulsarRequest;
 import org.apache.inlong.manager.common.pojo.sink.StreamSink;
@@ -65,6 +67,7 @@ import 
org.apache.inlong.manager.common.pojo.source.autopush.AutoPushSource;
 import org.apache.inlong.manager.common.pojo.source.file.FileSource;
 import org.apache.inlong.manager.common.pojo.source.kafka.KafkaSource;
 import org.apache.inlong.manager.common.pojo.source.mysql.MySQLBinlogSource;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamBriefInfo;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamResponse;
 import org.apache.inlong.manager.common.pojo.stream.StreamField;
@@ -423,6 +426,58 @@ class ClientFactoryTest {
         Assertions.assertTrue(StringUtils.isBlank(updateGroup.getValue()));
     }
 
+    @Test
+    void testCountGroupByUser() {
+        InlongGroupCountResponse expected = new InlongGroupCountResponse();
+        expected.setRejectCount(102400L);
+        expected.setTotalCount(834781232L);
+        expected.setWaitApproveCount(34524L);
+        expected.setWaitAssignCount(45678L);
+        stubFor(
+                get(urlMatching("/api/inlong/manager/group/countByStatus.*"))
+                        .willReturn(
+                                okJson(JsonUtils.toJsonString(
+                                        Response.success(expected))
+                                ))
+        );
+        InlongGroupCountResponse actual = groupClient.countGroupByUser();
+        Assertions.assertEquals(expected.getRejectCount(), 
actual.getRejectCount());
+        Assertions.assertEquals(expected.getTotalCount(), 
actual.getTotalCount());
+        Assertions.assertEquals(expected.getWaitApproveCount(), 
actual.getWaitApproveCount());
+        Assertions.assertEquals(expected.getWaitAssignCount(), 
actual.getWaitAssignCount());
+    }
+
+    @Test
+    void getTopic() {
+        InlongGroupTopicInfo expected = new InlongGroupTopicInfo();
+        expected.setInlongGroupId("1");
+        expected.setMqResource("testTopic");
+        expected.setMqType("TUBE");
+        expected.setPulsarAdminUrl("http://127.0.0.1:8080";);
+        expected.setPulsarServiceUrl("http://127.0.0.1:8081";);
+        expected.setTubeMasterUrl("http://127.0.0.1:8082";);
+        List<InlongStreamBriefInfo> list = new ArrayList<>();
+        expected.setStreamTopics(list);
+        InlongStreamBriefInfo briefInfo = new InlongStreamBriefInfo();
+        briefInfo.setId(1);
+        briefInfo.setInlongGroupId("testgroup");
+        briefInfo.setModifyTime(new Date());
+        stubFor(
+                get(urlMatching("/api/inlong/manager/group/getTopic/1.*"))
+                        .willReturn(
+                                okJson(JsonUtils.toJsonString(
+                                        Response.success(expected))
+                                ))
+        );
+        InlongGroupTopicInfo actual = groupClient.getTopic("1");
+        Assertions.assertEquals(expected.getInlongGroupId(), 
actual.getInlongGroupId());
+        Assertions.assertEquals(expected.getMqType(), actual.getMqType());
+        Assertions.assertEquals(expected.getTubeMasterUrl(), 
actual.getTubeMasterUrl());
+        Assertions.assertEquals(expected.getPulsarAdminUrl(), 
actual.getPulsarAdminUrl());
+        Assertions.assertEquals(expected.getPulsarServiceUrl(), 
actual.getPulsarServiceUrl());
+        Assertions.assertEquals(expected.getStreamTopics(), 
actual.getStreamTopics());
+    }
+
     @Test
     void testCreateStream() {
         stubFor(

Reply via email to