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(