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 8c9d7c3fc [INLONG-8039][Manager] Optimize the transform interface to
support pagination query (#8040)
8c9d7c3fc is described below
commit 8c9d7c3fc6d2971c0e32d9a49e6ce38db98f866e
Author: haifxu <[email protected]>
AuthorDate: Thu May 18 14:38:03 2023 +0800
[INLONG-8039][Manager] Optimize the transform interface to support
pagination query (#8040)
---
.../dao/mapper/StreamTransformEntityMapper.java | 3 +
.../mappers/StreamTransformEntityMapper.xml | 21 +++
.../pojo/transform/TransformPageRequest.java | 45 ++++++
.../resource/sort/DefaultSortConfigOperator.java | 2 -
.../service/transform/StreamTransformService.java | 19 +++
.../transform/StreamTransformServiceImpl.java | 167 ++++++++++++---------
.../transform/StreamTransformServiceTest.java | 4 +-
.../web/controller/StreamTransformController.java | 23 ++-
8 files changed, 201 insertions(+), 83 deletions(-)
diff --git
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamTransformEntityMapper.java
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamTransformEntityMapper.java
index a087624a0..129c51b36 100644
---
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamTransformEntityMapper.java
+++
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamTransformEntityMapper.java
@@ -19,6 +19,7 @@ package org.apache.inlong.manager.dao.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.inlong.manager.dao.entity.StreamTransformEntity;
+import org.apache.inlong.manager.pojo.transform.TransformPageRequest;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -35,6 +36,8 @@ public interface StreamTransformEntityMapper {
List<StreamTransformEntity> selectByRelatedId(@Param("groupId") String
groupId, @Param("streamId") String streamId,
@Param("transformName") String transformName);
+ List<StreamTransformEntity> selectByCondition(@Param("request")
TransformPageRequest request);
+
int updateById(StreamTransformEntity record);
int updateByIdSelective(StreamTransformEntity record);
diff --git
a/inlong-manager/manager-dao/src/main/resources/mappers/StreamTransformEntityMapper.xml
b/inlong-manager/manager-dao/src/main/resources/mappers/StreamTransformEntityMapper.xml
index 302e5f81f..9ca419fc0 100644
---
a/inlong-manager/manager-dao/src/main/resources/mappers/StreamTransformEntityMapper.xml
+++
b/inlong-manager/manager-dao/src/main/resources/mappers/StreamTransformEntityMapper.xml
@@ -142,6 +142,27 @@
</where>
</select>
+ <select id="selectByCondition"
+
parameterType="org.apache.inlong.manager.pojo.transform.TransformPageRequest"
+
resultType="org.apache.inlong.manager.dao.entity.StreamTransformEntity">
+ select
+ <include refid="Base_Column_List"/>
+ from stream_transform
+ <where>
+ is_deleted = 0
+ and inlong_group_id = #{request.inlongGroupId, jdbcType=VARCHAR}
+ <if test="request.inlongStreamId != null and
request.inlongStreamId != ''">
+ and inlong_stream_id = #{request.inlongStreamId,
jdbcType=VARCHAR}
+ </if>
+ <if test="request.transformType != null and request.transformType
!= ''">
+ and transform_type = #{request.transformType, jdbcType=VARCHAR}
+ </if>
+ <if test="request.transformName != null and request.transformName
!= ''">
+ and transform_name = #{request.transformName, jdbcType=VARCHAR}
+ </if>
+ </where>
+ </select>
+
<update id="updateById"
parameterType="org.apache.inlong.manager.dao.entity.StreamTransformEntity">
update stream_transform
set inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformPageRequest.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformPageRequest.java
new file mode 100644
index 000000000..e33ba5173
--- /dev/null
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformPageRequest.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.pojo.transform;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.apache.inlong.manager.pojo.common.PageRequest;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel("Paging query request for TransformPageRequest")
+public class TransformPageRequest extends PageRequest {
+
+ @NotBlank(message = "inlongGroupId cannot be blank")
+ @ApiModelProperty(value = "Inlong group id", required = true)
+ private String inlongGroupId;
+
+ @ApiModelProperty(value = "Inlong stream id")
+ private String inlongStreamId;
+
+ @ApiModelProperty("Transform name, unique in one stream")
+ private String transformName;
+
+ @ApiModelProperty("Transform type, including: splitter, filter, joiner,
etc.")
+ private String transformType;
+}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
index e6c56d79f..2f9d16082 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
@@ -102,7 +102,6 @@ public class DefaultSortConfigOperator implements
SortConfigOperator {
Map<String, List<StreamSource>> sourceMap =
sourceService.getSourcesMap(groupInfo, streamInfoList);
// get sink info
Map<String, List<StreamSink>> sinkMap =
sinkService.getSinksMap(groupInfo, streamInfoList);
-
List<TransformResponse> transformList =
transformService.listTransform(groupInfo.getInlongGroupId(), null);
Map<String, List<TransformResponse>> transformMap =
transformList.stream()
.collect(Collectors.groupingBy(TransformResponse::getInlongStreamId,
HashMap::new,
@@ -130,7 +129,6 @@ public class DefaultSortConfigOperator implements
SortConfigOperator {
auditIds.add(auditService.getAuditId(sink.getSinkType(),
false));
}
for (StreamSource source : sources) {
- source.setFieldList(inlongStream.getFieldList());
Map<String, Object> properties = source.getProperties();
properties.putIfAbsent("metrics.audit.key", String.join("&",
auditIds));
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformService.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformService.java
index 012aad9dd..f172219c7 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformService.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformService.java
@@ -17,7 +17,9 @@
package org.apache.inlong.manager.service.transform;
+import org.apache.inlong.manager.pojo.common.PageResult;
import org.apache.inlong.manager.pojo.transform.DeleteTransformRequest;
+import org.apache.inlong.manager.pojo.transform.TransformPageRequest;
import org.apache.inlong.manager.pojo.transform.TransformRequest;
import org.apache.inlong.manager.pojo.transform.TransformResponse;
import org.apache.inlong.manager.pojo.user.UserInfo;
@@ -47,6 +49,23 @@ public interface StreamTransformService {
*/
Integer save(TransformRequest request, UserInfo opInfo);
+ /**
+ * Query transform information based on inlong group id and inlong stream
id.
+ *
+ * @param request the transform page request
+ * @return the transform response
+ */
+ PageResult<TransformResponse> listByCondition(TransformPageRequest
request, UserInfo opInfo);
+
+ /**
+ * Query transform information based on id
+ *
+ * @param id transform id.
+ * @param opInfo userinfo of operator
+ * @return transform info
+ */
+ TransformResponse get(Integer id, UserInfo opInfo);
+
/**
* Query transform information based on inlong group id and inlong stream
id.
*
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
index 8d9d33669..fcc104109 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
@@ -17,28 +17,31 @@
package org.apache.inlong.manager.service.transform;
+import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.inlong.manager.common.consts.InlongConstants;
import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
import org.apache.inlong.manager.common.enums.GroupStatus;
-import org.apache.inlong.manager.common.enums.UserTypeEnum;
import org.apache.inlong.manager.common.exceptions.BusinessException;
-import org.apache.inlong.manager.dao.entity.InlongGroupEntity;
-import org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper;
-import org.apache.inlong.manager.pojo.stream.StreamField;
-import org.apache.inlong.manager.pojo.transform.DeleteTransformRequest;
-import org.apache.inlong.manager.pojo.transform.TransformRequest;
-import org.apache.inlong.manager.pojo.transform.TransformResponse;
import org.apache.inlong.manager.common.util.CommonBeanUtils;
import org.apache.inlong.manager.common.util.Preconditions;
+import org.apache.inlong.manager.dao.entity.InlongGroupEntity;
import org.apache.inlong.manager.dao.entity.StreamTransformEntity;
import org.apache.inlong.manager.dao.entity.StreamTransformFieldEntity;
+import org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper;
import org.apache.inlong.manager.dao.mapper.StreamTransformEntityMapper;
import org.apache.inlong.manager.dao.mapper.StreamTransformFieldEntityMapper;
+import org.apache.inlong.manager.pojo.common.PageResult;
+import org.apache.inlong.manager.pojo.stream.StreamField;
+import org.apache.inlong.manager.pojo.transform.DeleteTransformRequest;
+import org.apache.inlong.manager.pojo.transform.TransformPageRequest;
+import org.apache.inlong.manager.pojo.transform.TransformRequest;
+import org.apache.inlong.manager.pojo.transform.TransformResponse;
import org.apache.inlong.manager.pojo.user.UserInfo;
import org.apache.inlong.manager.service.group.GroupCheckService;
+import org.apache.inlong.manager.service.user.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -47,7 +50,6 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -69,6 +71,8 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
protected StreamTransformFieldEntityMapper transformFieldMapper;
@Autowired
protected GroupCheckService groupCheckService;
+ @Autowired
+ protected UserService userService;
@Override
@Transactional(rollbackFor = Throwable.class, propagation =
Propagation.REQUIRES_NEW)
@@ -107,12 +111,8 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
String.format("InlongGroup does not exist with
InlongGroupId=%s", request.getInlongGroupId()));
}
// only the person in charges can query
- if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
- List<String> inCharges =
Arrays.asList(groupEntity.getInCharges().split(InlongConstants.COMMA));
- if (!inCharges.contains(opInfo.getName())) {
- throw new
BusinessException(ErrorCodeEnum.GROUP_PERMISSION_DENIED);
- }
- }
+ userService.checkUser(groupEntity.getInCharges(), opInfo.getName(),
+ ErrorCodeEnum.GROUP_PERMISSION_DENIED.getMessage());
// check inlong group status
GroupStatus status = GroupStatus.forCode(groupEntity.getStatus());
if (GroupStatus.notAllowedUpdate(status)) {
@@ -139,16 +139,48 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
}
@Override
- public List<TransformResponse> listTransform(String groupId, String
streamId) {
+ public PageResult<TransformResponse> listByCondition(TransformPageRequest
request, UserInfo opInfo) {
+ String groupId = request.getInlongGroupId();
+ String streamId = request.getInlongStreamId();
LOGGER.debug("begin to fetch transform info by groupId={} and
streamId={} ", groupId, streamId);
- Preconditions.expectNotBlank(groupId, ErrorCodeEnum.GROUP_ID_IS_EMPTY);
- List<StreamTransformEntity> entityList =
transformMapper.selectByRelatedId(groupId, streamId, null);
+ PageHelper.startPage(request.getPageNum(), request.getPageSize());
+ PageResult<TransformResponse> pageResponse = new PageResult<>();
+ InlongGroupEntity groupEntity = groupMapper.selectByGroupId(groupId);
+ if (groupEntity == null) {
+ throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND,
+ String.format("InlongGroup does not exist with
InlongGroupId=%s", groupId));
+ }
+ userService.checkUser(groupEntity.getInCharges(), opInfo.getName(),
+ ErrorCodeEnum.GROUP_PERMISSION_DENIED.getMessage());
+
+ // query result
+ List<StreamTransformEntity> entityList =
transformMapper.selectByCondition(request);
if (CollectionUtils.isEmpty(entityList)) {
- return Collections.emptyList();
+ pageResponse.setList(Collections.emptyList());
+ return pageResponse;
}
- List<Integer> transformIds =
entityList.stream().map(StreamTransformEntity::getId).collect(Collectors.toList());
- List<StreamTransformFieldEntity> fieldEntities =
transformFieldMapper.selectByTransformIds(transformIds);
+ pageResponse.setList(getTransformResponse(entityList));
+ return pageResponse;
+ }
+
+ @Override
+ public TransformResponse get(Integer id, UserInfo opInfo) {
+ StreamTransformEntity entity = transformMapper.selectById(id);
+ List<StreamTransformFieldEntity> fieldEntities =
transformFieldMapper.selectByTransformId(id);
+ if (entity == null) {
+ throw new BusinessException(ErrorCodeEnum.TRANSFORM_NOT_FOUND,
+ String.format("transform not found by id=%s", id));
+ }
+
+ InlongGroupEntity groupEntity =
groupMapper.selectByGroupId(entity.getInlongGroupId());
+ if (groupEntity == null) {
+ throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND,
+ String.format("InlongGroup does not exist with
InlongGroupId=%s", entity.getInlongGroupId()));
+ }
+ userService.checkUser(groupEntity.getInCharges(), opInfo.getName(),
+ ErrorCodeEnum.GROUP_PERMISSION_DENIED.getMessage());
+
Map<Integer, List<StreamField>> fieldInfoMap = fieldEntities.stream()
.map(transformFieldEntity -> {
StreamField fieldInfo =
CommonBeanUtils.copyProperties(transformFieldEntity, StreamField::new);
@@ -157,17 +189,19 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
return Pair.of(transformFieldEntity.getTransformId(),
fieldInfo);
}).collect(Collectors.groupingBy(Pair::getLeft,
Collectors.mapping(Pair::getRight,
Collectors.toList())));
- List<TransformResponse> transformResponses = entityList.stream()
- .map(entity -> CommonBeanUtils.copyProperties(entity,
TransformResponse::new))
- .collect(Collectors.toList());
- transformResponses.forEach(transformResponse -> {
- int transformId = transformResponse.getId();
- List<StreamField> fieldInfos = fieldInfoMap.get(transformId);
- if (CollectionUtils.isNotEmpty(fieldInfos)) {
- transformResponse.setFieldList(fieldInfos);
- }
- });
- return transformResponses;
+ TransformResponse transformResponse =
CommonBeanUtils.copyProperties(entity, TransformResponse::new);
+ transformResponse.setFieldList(fieldInfoMap.get(id));
+ return transformResponse;
+ }
+
+ @Override
+ public List<TransformResponse> listTransform(String groupId, String
streamId) {
+ Preconditions.expectNotBlank(groupId, ErrorCodeEnum.GROUP_ID_IS_EMPTY);
+ List<StreamTransformEntity> entityList =
transformMapper.selectByRelatedId(groupId, streamId, null);
+ if (CollectionUtils.isEmpty(entityList)) {
+ return Collections.emptyList();
+ }
+ return getTransformResponse(entityList);
}
@Override
@@ -178,40 +212,15 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND,
String.format("InlongGroup does not exist with
InlongGroupId=%s", groupId));
}
- // only the person in charges can query
- if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
- List<String> inCharges =
Arrays.asList(groupEntity.getInCharges().split(InlongConstants.COMMA));
- if (!inCharges.contains(opInfo.getName())) {
- throw new
BusinessException(ErrorCodeEnum.GROUP_PERMISSION_DENIED);
- }
- }
+ userService.checkUser(groupEntity.getInCharges(), opInfo.getName(),
+ ErrorCodeEnum.GROUP_PERMISSION_DENIED.getMessage());
// query result
List<StreamTransformEntity> entityList =
transformMapper.selectByRelatedId(groupId, streamId, null);
if (CollectionUtils.isEmpty(entityList)) {
return Collections.emptyList();
}
// get transform data
- List<Integer> transformIds =
entityList.stream().map(StreamTransformEntity::getId).collect(Collectors.toList());
- List<StreamTransformFieldEntity> fieldEntities =
transformFieldMapper.selectByTransformIds(transformIds);
- Map<Integer, List<StreamField>> fieldInfoMap = fieldEntities.stream()
- .map(transformFieldEntity -> {
- StreamField fieldInfo =
CommonBeanUtils.copyProperties(transformFieldEntity, StreamField::new);
-
fieldInfo.setFieldType(transformFieldEntity.getFieldType());
- fieldInfo.setId(transformFieldEntity.getRankNum());
- return Pair.of(transformFieldEntity.getTransformId(),
fieldInfo);
- }).collect(Collectors.groupingBy(Pair::getLeft,
- Collectors.mapping(Pair::getRight,
Collectors.toList())));
- List<TransformResponse> transformResponses = entityList.stream()
- .map(entity -> CommonBeanUtils.copyProperties(entity,
TransformResponse::new))
- .collect(Collectors.toList());
- transformResponses.forEach(transformResponse -> {
- int transformId = transformResponse.getId();
- List<StreamField> fieldInfos = fieldInfoMap.get(transformId);
- if (CollectionUtils.isNotEmpty(fieldInfos)) {
- transformResponse.setFieldList(fieldInfos);
- }
- });
- return transformResponses;
+ return getTransformResponse(entityList);
}
@Override
@@ -252,12 +261,8 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
String.format("InlongGroup does not exist with
InlongGroupId=%s", request.getInlongGroupId()));
}
// only the person in charges can query
- if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
- List<String> inCharges =
Arrays.asList(groupEntity.getInCharges().split(InlongConstants.COMMA));
- if (!inCharges.contains(opInfo.getName())) {
- throw new
BusinessException(ErrorCodeEnum.GROUP_PERMISSION_DENIED);
- }
- }
+ userService.checkUser(groupEntity.getInCharges(), opInfo.getName(),
+ ErrorCodeEnum.GROUP_PERMISSION_DENIED.getMessage());
// check inlong group status
GroupStatus status = GroupStatus.forCode(groupEntity.getStatus());
if (GroupStatus.notAllowedUpdate(status)) {
@@ -322,12 +327,8 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
String.format("InlongGroup does not exist with
InlongGroupId=%s", request.getInlongGroupId()));
}
// only the person in charges can query
- if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
- List<String> inCharges =
Arrays.asList(groupEntity.getInCharges().split(InlongConstants.COMMA));
- if (!inCharges.contains(opInfo.getName())) {
- throw new
BusinessException(ErrorCodeEnum.GROUP_PERMISSION_DENIED);
- }
- }
+ userService.checkUser(groupEntity.getInCharges(), opInfo.getName(),
+ ErrorCodeEnum.GROUP_PERMISSION_DENIED.getMessage());
// check inlong group status
GroupStatus status = GroupStatus.forCode(groupEntity.getStatus());
if (GroupStatus.notAllowedUpdate(status)) {
@@ -357,6 +358,30 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
return true;
}
+ private List<TransformResponse>
getTransformResponse(List<StreamTransformEntity> entityList) {
+ List<Integer> transformIds =
entityList.stream().map(StreamTransformEntity::getId).collect(Collectors.toList());
+ List<StreamTransformFieldEntity> fieldEntities =
transformFieldMapper.selectByTransformIds(transformIds);
+ Map<Integer, List<StreamField>> fieldInfoMap = fieldEntities.stream()
+ .map(transformFieldEntity -> {
+ StreamField fieldInfo =
CommonBeanUtils.copyProperties(transformFieldEntity, StreamField::new);
+
fieldInfo.setFieldType(transformFieldEntity.getFieldType());
+ fieldInfo.setId(transformFieldEntity.getRankNum());
+ return Pair.of(transformFieldEntity.getTransformId(),
fieldInfo);
+ }).collect(Collectors.groupingBy(Pair::getLeft,
+ Collectors.mapping(Pair::getRight,
Collectors.toList())));
+ List<TransformResponse> transformResponses = entityList.stream()
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
TransformResponse::new))
+ .collect(Collectors.toList());
+ transformResponses.forEach(transformResponse -> {
+ int transformId = transformResponse.getId();
+ List<StreamField> fieldInfos = fieldInfoMap.get(transformId);
+ if (CollectionUtils.isNotEmpty(fieldInfos)) {
+ transformResponse.setFieldList(fieldInfos);
+ }
+ });
+ return transformResponses;
+ }
+
private void checkParams(TransformRequest request) {
Preconditions.expectNotNull(request,
ErrorCodeEnum.REQUEST_IS_EMPTY.getMessage());
String groupId = request.getInlongGroupId();
diff --git
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/transform/StreamTransformServiceTest.java
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/transform/StreamTransformServiceTest.java
index 112123536..7c8e3f830 100644
---
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/transform/StreamTransformServiceTest.java
+++
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/transform/StreamTransformServiceTest.java
@@ -19,11 +19,11 @@ package org.apache.inlong.manager.service.transform;
import org.apache.inlong.manager.common.consts.InlongConstants;
import org.apache.inlong.manager.common.enums.TransformType;
-import org.apache.inlong.manager.pojo.transform.TransformRequest;
-import org.apache.inlong.manager.pojo.transform.TransformResponse;
import org.apache.inlong.manager.common.util.CommonBeanUtils;
import org.apache.inlong.manager.dao.entity.StreamTransformEntity;
import org.apache.inlong.manager.dao.mapper.StreamTransformEntityMapper;
+import org.apache.inlong.manager.pojo.transform.TransformRequest;
+import org.apache.inlong.manager.pojo.transform.TransformResponse;
import org.apache.inlong.manager.service.ServiceBaseTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
index ff00e1149..6cd77f660 100644
---
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
+++
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamTransformController.java
@@ -18,11 +18,14 @@
package org.apache.inlong.manager.web.controller;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.apache.inlong.manager.common.enums.OperationType;
-import org.apache.inlong.manager.pojo.common.Response;
import org.apache.inlong.manager.common.validation.UpdateValidation;
+import org.apache.inlong.manager.pojo.common.PageResult;
+import org.apache.inlong.manager.pojo.common.Response;
import org.apache.inlong.manager.pojo.transform.DeleteTransformRequest;
+import org.apache.inlong.manager.pojo.transform.TransformPageRequest;
import org.apache.inlong.manager.pojo.transform.TransformRequest;
import org.apache.inlong.manager.pojo.transform.TransformResponse;
import org.apache.inlong.manager.service.operationlog.OperationLog;
@@ -30,14 +33,12 @@ import
org.apache.inlong.manager.service.transform.StreamTransformService;
import org.apache.inlong.manager.service.user.LoginUserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.util.List;
-
/**
* Stream transform control layer
*/
@@ -57,11 +58,17 @@ public class StreamTransformController {
streamTransformService.save(request,
LoginUserUtils.getLoginUser().getName()));
}
- @RequestMapping(value = "/transform/list", method = RequestMethod.GET)
+ @RequestMapping(value = "/transform/list", method = RequestMethod.POST)
@ApiOperation(value = "Get stream transform list")
- public Response<List<TransformResponse>>
list(@RequestParam("inlongGroupId") String groupId,
- @RequestParam("inlongStreamId") String streamId) {
- return Response.success(streamTransformService.listTransform(groupId,
streamId));
+ public Response<PageResult<TransformResponse>> list(@Validated
@RequestBody TransformPageRequest request) {
+ return
Response.success(streamTransformService.listByCondition(request,
LoginUserUtils.getLoginUser()));
+ }
+
+ @RequestMapping(value = "/transform/get/{id}", method = RequestMethod.GET)
+ @ApiOperation(value = "Get stream transform")
+ @ApiImplicitParam(name = "id", dataTypeClass = Integer.class, required =
true)
+ public Response<TransformResponse> get(@PathVariable Integer id) {
+ return Response.success(streamTransformService.get(id,
LoginUserUtils.getLoginUser()));
}
@RequestMapping(value = "/transform/update", method = RequestMethod.POST)