You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2023/03/03 01:46:47 UTC

[inlong] branch master updated: [INLONG-7490][Manager] Support paging query InLong objects info based on conditions in manager-client (#7491)

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 25b4221aa [INLONG-7490][Manager] Support paging query InLong objects info based on conditions in manager-client (#7491)
25b4221aa is described below

commit 25b4221aaef67ab6b6fc34c249625b74a697e5f5
Author: fuweng11 <76...@users.noreply.github.com>
AuthorDate: Fri Mar 3 09:46:40 2023 +0800

    [INLONG-7490][Manager] Support paging query InLong objects info based on conditions in manager-client (#7491)
---
 .../org/apache/inlong/manager/client/api/DataNode.java  |  5 +++--
 .../inlong/manager/client/api/impl/DataNodeImpl.java    |  7 ++++---
 .../manager/client/api/inner/client/DataNodeClient.java |  7 ++++---
 .../client/api/inner/client/StreamSinkClient.java       | 17 +++++++++++++++--
 .../client/api/inner/client/StreamSourceClient.java     | 17 ++++++++++++++++-
 .../inlong/manager/client/api/service/DataNodeApi.java  |  3 ++-
 .../manager/client/api/service/StreamSinkApi.java       |  6 +++---
 .../manager/client/api/service/StreamSourceApi.java     |  6 +++---
 .../manager/client/api/inner/ClientFactoryTest.java     | 11 +++++------
 .../manager/web/controller/StreamSinkController.java    |  4 ++--
 .../manager/web/controller/StreamSourceController.java  |  4 ++--
 .../controller/openapi/OpenStreamSinkController.java    | 13 ++++++-------
 .../controller/openapi/OpenStreamSourceController.java  |  4 ++--
 13 files changed, 67 insertions(+), 37 deletions(-)

diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataNode.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataNode.java
index 0cb8296e1..73446baf8 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataNode.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataNode.java
@@ -19,6 +19,7 @@ package org.apache.inlong.manager.client.api;
 
 import org.apache.inlong.manager.pojo.common.PageResult;
 import org.apache.inlong.manager.pojo.node.DataNodeInfo;
+import org.apache.inlong.manager.pojo.node.DataNodePageRequest;
 import org.apache.inlong.manager.pojo.node.DataNodeRequest;
 
 public interface DataNode {
@@ -42,10 +43,10 @@ public interface DataNode {
     /**
      * Paging query nodes according to conditions.
      *
-     * @param request page request conditions
+     * @param pageRequest page request conditions
      * @return node list
      */
-    PageResult<DataNodeInfo> list(DataNodeRequest request);
+    PageResult<DataNodeInfo> list(DataNodePageRequest pageRequest);
 
     /**
      * Update data node.
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataNodeImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataNodeImpl.java
index b9cf193c6..9ae91f3d9 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataNodeImpl.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataNodeImpl.java
@@ -26,6 +26,7 @@ import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.pojo.common.PageResult;
 import org.apache.inlong.manager.pojo.node.DataNodeInfo;
+import org.apache.inlong.manager.pojo.node.DataNodePageRequest;
 import org.apache.inlong.manager.pojo.node.DataNodeRequest;
 
 public class DataNodeImpl implements DataNode {
@@ -54,9 +55,9 @@ public class DataNodeImpl implements DataNode {
     }
 
     @Override
-    public PageResult<DataNodeInfo> list(DataNodeRequest request) {
-        Preconditions.expectNotNull(request, "request cannot be null");
-        return dataNodeClient.list(request);
+    public PageResult<DataNodeInfo> list(DataNodePageRequest pageRequest) {
+        Preconditions.expectNotNull(pageRequest, "request cannot be null");
+        return dataNodeClient.list(pageRequest);
     }
 
     @Override
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/DataNodeClient.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/DataNodeClient.java
index 1aae1fb8f..5269da430 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/DataNodeClient.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/DataNodeClient.java
@@ -26,6 +26,7 @@ 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.node.DataNodeInfo;
+import org.apache.inlong.manager.pojo.node.DataNodePageRequest;
 import org.apache.inlong.manager.pojo.node.DataNodeRequest;
 
 /**
@@ -75,9 +76,9 @@ public class DataNodeClient {
      * @param request page request conditions
      * @return node list
      */
-    public PageResult<DataNodeInfo> list(DataNodeRequest request) {
-        Preconditions.expectNotNull(request, "request cannot be null");
-        Response<PageResult<DataNodeInfo>> response = ClientUtils.executeHttpCall(dataNodeApi.list(request));
+    public PageResult<DataNodeInfo> list(DataNodePageRequest pageRequest) {
+        Preconditions.expectNotNull(pageRequest, "request cannot be null");
+        Response<PageResult<DataNodeInfo>> response = ClientUtils.executeHttpCall(dataNodeApi.list(pageRequest));
         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 37f33d8da..e8f032c61 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.SinkPageRequest;
 import org.apache.inlong.manager.pojo.sink.SinkField;
 import org.apache.inlong.manager.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.pojo.sink.StreamSink;
@@ -78,8 +79,20 @@ public class StreamSinkClient {
      * List stream sinks by the specified sink type.
      */
     public List<StreamSink> listSinks(String groupId, String streamId, String sinkType) {
-        Response<PageResult<StreamSink>> response = ClientUtils.executeHttpCall(
-                streamSinkApi.list(groupId, streamId, sinkType));
+        SinkPageRequest pageRequest = new SinkPageRequest();
+        pageRequest.setInlongGroupId(groupId);
+        pageRequest.setInlongStreamId(streamId);
+        pageRequest.setSinkType(sinkType);
+        Response<PageResult<StreamSink>> response = ClientUtils.executeHttpCall(streamSinkApi.list(pageRequest));
+        ClientUtils.assertRespSuccess(response);
+        return response.getData().getList();
+    }
+
+    /**
+     * Paging query stream sink info based on conditions.
+     */
+    public List<StreamSink> listSinks(SinkPageRequest pageRequest) {
+        Response<PageResult<StreamSink>> response = ClientUtils.executeHttpCall(streamSinkApi.list(pageRequest));
         ClientUtils.assertRespSuccess(response);
         return response.getData().getList();
     }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSourceClient.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSourceClient.java
index 14416b9ad..8d3d279b5 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSourceClient.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/client/StreamSourceClient.java
@@ -25,6 +25,7 @@ import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 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.source.SourcePageRequest;
 import org.apache.inlong.manager.pojo.source.SourceRequest;
 import org.apache.inlong.manager.pojo.source.StreamSource;
 
@@ -61,8 +62,22 @@ public class StreamSourceClient {
      * List stream sources by the specified source type.
      */
     public List<StreamSource> listSources(String groupId, String streamId, String sourceType) {
+        SourcePageRequest pageRequest = new SourcePageRequest();
+        pageRequest.setInlongGroupId(groupId);
+        pageRequest.setInlongStreamId(streamId);
+        pageRequest.setSourceType(sourceType);
         Response<PageResult<StreamSource>> response = ClientUtils.executeHttpCall(
-                streamSourceApi.listSources(groupId, streamId, sourceType));
+                streamSourceApi.listSources(pageRequest));
+        ClientUtils.assertRespSuccess(response);
+        return response.getData().getList();
+    }
+
+    /**
+     * Paging query stream source info based on conditions.
+     */
+    public List<StreamSource> listSources(SourcePageRequest pageRequest) {
+        Response<PageResult<StreamSource>> response = ClientUtils.executeHttpCall(
+                streamSourceApi.listSources(pageRequest));
         ClientUtils.assertRespSuccess(response);
         return response.getData().getList();
     }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/DataNodeApi.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/DataNodeApi.java
index c94621363..e29ccf5e1 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/DataNodeApi.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/DataNodeApi.java
@@ -21,6 +21,7 @@ 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.node.DataNodeInfo;
+import org.apache.inlong.manager.pojo.node.DataNodePageRequest;
 import org.apache.inlong.manager.pojo.node.DataNodeRequest;
 import retrofit2.Call;
 import retrofit2.http.Body;
@@ -39,7 +40,7 @@ public interface DataNodeApi {
     Call<Response<DataNodeInfo>> get(@Path("id") Integer id);
 
     @POST("node/list")
-    Call<Response<PageResult<DataNodeInfo>>> list(@Body DataNodeRequest request);
+    Call<Response<PageResult<DataNodeInfo>>> list(@Body DataNodePageRequest pageRequest);
 
     @POST("node/update")
     Call<Response<Boolean>> update(@Body DataNodeRequest request);
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 e34b55aaa..a28242f71 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.SinkPageRequest;
 import org.apache.inlong.manager.pojo.sink.SinkField;
 import org.apache.inlong.manager.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.pojo.sink.StreamSink;
@@ -54,9 +55,8 @@ public interface StreamSinkApi {
     @GET("sink/get/{id}")
     Call<Response<StreamSink>> get(@Path("id") Integer sinkId);
 
-    @GET("sink/list")
-    Call<Response<PageResult<StreamSink>>> list(@Query("inlongGroupId") String groupId,
-            @Query("inlongStreamId") String streamId, @Query("sinkType") String sinkType);
+    @POST("sink/list")
+    Call<Response<PageResult<StreamSink>>> list(@Body SinkPageRequest request);
 
     @POST("sink/parseFields")
     Call<Response<List<SinkField>>> parseFields(@Body String fieldsJson);
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSourceApi.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSourceApi.java
index 33c933486..bce898983 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSourceApi.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/service/StreamSourceApi.java
@@ -19,6 +19,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.source.SourcePageRequest;
 import org.apache.inlong.manager.pojo.source.SourceRequest;
 import org.apache.inlong.manager.pojo.source.StreamSource;
 import retrofit2.Call;
@@ -37,9 +38,8 @@ public interface StreamSourceApi {
     @POST("source/update")
     Call<Response<Boolean>> updateSource(@Body SourceRequest request);
 
-    @GET("source/list")
-    Call<Response<PageResult<StreamSource>>> listSources(@Query("inlongGroupId") String groupId,
-            @Query("inlongStreamId") String streamId, @Query("sourceType") String sourceType);
+    @POST("source/list")
+    Call<Response<PageResult<StreamSource>>> listSources(@Body SourcePageRequest pageRequest);
 
     @DELETE("source/delete/{id}")
     Call<Response<Boolean>> deleteSource(@Path("id") Integer sourceId);
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 ffdee3dfc..eeaed841e 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
@@ -65,6 +65,7 @@ import org.apache.inlong.manager.pojo.group.pulsar.InlongPulsarInfo;
 import org.apache.inlong.manager.pojo.group.pulsar.InlongPulsarRequest;
 import org.apache.inlong.manager.pojo.group.pulsar.InlongPulsarTopicInfo;
 import org.apache.inlong.manager.pojo.node.DataNodeInfo;
+import org.apache.inlong.manager.pojo.node.DataNodePageRequest;
 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;
@@ -661,7 +662,7 @@ class ClientFactoryTest {
                         .build());
 
         stubFor(
-                get(urlMatching("/inlong/manager/api/sink/list.*"))
+                post(urlMatching("/inlong/manager/api/sink/list.*"))
                         .willReturn(
                                 okJson(JsonUtils.toJsonString(
                                         Response.success(new PageResult<>(Lists.newArrayList(sinkList)))))));
@@ -673,7 +674,7 @@ class ClientFactoryTest {
     @Test
     void testListSink4AllTypeShouldThrowException() {
         stubFor(
-                get(urlMatching("/inlong/manager/api/sink/list.*"))
+                post(urlMatching("/inlong/manager/api/sink/list.*"))
                         .willReturn(
                                 okJson(JsonUtils.toJsonString(
                                         Response.fail("groupId should not empty")))));
@@ -922,7 +923,6 @@ class ClientFactoryTest {
         List<DataNodeInfo> nodeResponses = Lists.newArrayList(
                 HiveDataNodeInfo.builder()
                         .id(1)
-                        .name("test_node")
                         .type(DataNodeType.HIVE)
                         .build());
 
@@ -931,9 +931,8 @@ class ClientFactoryTest {
                         .willReturn(
                                 okJson(JsonUtils.toJsonString(Response.success(new PageResult<>(nodeResponses))))));
 
-        HiveDataNodeRequest request = new HiveDataNodeRequest();
-        request.setName("test_hive_node");
-        PageResult<DataNodeInfo> pageInfo = dataNodeClient.list(request);
+        DataNodePageRequest pageRequest = new DataNodePageRequest();
+        PageResult<DataNodeInfo> pageInfo = dataNodeClient.list(pageRequest);
         Assertions.assertEquals(JsonUtils.toJsonString(pageInfo.getList()), JsonUtils.toJsonString(nodeResponses));
     }
 
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java
index 1b3641285..cdc11351f 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSinkController.java
@@ -70,9 +70,9 @@ public class StreamSinkController {
         return Response.success(sinkService.get(id));
     }
 
-    @RequestMapping(value = "/sink/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/sink/list", method = RequestMethod.POST)
     @ApiOperation(value = "List stream sinks by paginating")
-    public Response<PageResult<? extends StreamSink>> listByCondition(SinkPageRequest request) {
+    public Response<PageResult<? extends StreamSink>> listByCondition(@RequestBody SinkPageRequest request) {
         return Response.success(sinkService.listByCondition(request));
     }
 
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java
index 7db5ea233..d23354adf 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java
@@ -66,9 +66,9 @@ public class StreamSourceController {
         return Response.success(sourceService.get(id));
     }
 
-    @RequestMapping(value = "/source/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/source/list", method = RequestMethod.POST)
     @ApiOperation(value = "List stream sources by paginating")
-    public Response<PageResult<? extends StreamSource>> listByCondition(SourcePageRequest request) {
+    public Response<PageResult<? extends StreamSource>> listByCondition(@RequestBody SourcePageRequest request) {
         return Response.success(sourceService.listByCondition(request));
     }
 
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSinkController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSinkController.java
index 0e5feeec9..723d147f4 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSinkController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSinkController.java
@@ -17,6 +17,10 @@
 
 package org.apache.inlong.manager.web.controller.openapi;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.enums.OperationType;
 import org.apache.inlong.manager.common.util.Preconditions;
@@ -39,11 +43,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * Open InLong Stream Sink controller
  */
@@ -64,9 +63,9 @@ public class OpenStreamSinkController {
         return Response.success(sinkService.get(id, LoginUserUtils.getLoginUser()));
     }
 
-    @RequestMapping(value = "/sink/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/sink/list", method = RequestMethod.POST)
     @ApiOperation(value = "List stream sinks by paginating")
-    public Response<List<? extends StreamSink>> listByCondition(SinkPageRequest request) {
+    public Response<List<? extends StreamSink>> listByCondition(@RequestBody SinkPageRequest request) {
         Preconditions.expectNotNull(request, ErrorCodeEnum.INVALID_PARAMETER, "request cannot be null");
         Preconditions.expectNotNull(LoginUserUtils.getLoginUser(), ErrorCodeEnum.LOGIN_USER_EMPTY);
         return Response.success(sinkService.listByCondition(request, LoginUserUtils.getLoginUser()));
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSourceController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSourceController.java
index 27c30ab41..eb27e62e4 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSourceController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenStreamSourceController.java
@@ -62,9 +62,9 @@ public class OpenStreamSourceController {
         return Response.success(sourceService.get(id, LoginUserUtils.getLoginUser()));
     }
 
-    @RequestMapping(value = "/source/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/source/list", method = RequestMethod.POST)
     @ApiOperation(value = "List stream sources by paginating")
-    public Response<PageResult<? extends StreamSource>> listByCondition(SourcePageRequest request) {
+    public Response<PageResult<? extends StreamSource>> listByCondition(@RequestBody SourcePageRequest request) {
         Preconditions.expectNotNull(request, ErrorCodeEnum.INVALID_PARAMETER, "request cannot be null");
         Preconditions.expectNotNull(LoginUserUtils.getLoginUser(), ErrorCodeEnum.LOGIN_USER_EMPTY);
         return Response.success(sourceService.listByCondition(request, LoginUserUtils.getLoginUser()));