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 0810d14a8 [INLONG-7429][Manager] Fix the information returned when 
deleting a non-existent object #7432
0810d14a8 is described below

commit 0810d14a83b9ca8a386580607dbfdacd01181df6
Author: fuweng11 <[email protected]>
AuthorDate: Sat Feb 25 17:07:56 2023 +0800

    [INLONG-7429][Manager] Fix the information returned when deleting a 
non-existent object #7432
---
 .../resources/mappers/DataNodeEntityMapper.xml     |  3 ++-
 .../mappers/InlongClusterEntityMapper.xml          |  3 ++-
 .../mappers/InlongClusterNodeEntityMapper.xml      |  3 ++-
 .../service/cluster/InlongClusterServiceImpl.java  | 28 ++++++++--------------
 .../service/group/InlongGroupProcessService.java   |  5 +---
 .../manager/service/node/DataNodeServiceImpl.java  | 19 +++++----------
 .../service/source/StreamSourceServiceImpl.java    |  9 +++----
 .../web/controller/DataNodeControllerTest.java     |  4 ++--
 8 files changed, 30 insertions(+), 44 deletions(-)

diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/DataNodeEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/DataNodeEntityMapper.xml
index 7a379389d..365c69cdb 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/DataNodeEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/DataNodeEntityMapper.xml
@@ -59,7 +59,8 @@
         select
         <include refid="Base_Column_List"/>
         from data_node
-        where id = #{id, jdbcType=INTEGER}
+        where is_deleted = 0
+        and id = #{id, jdbcType=INTEGER}
     </select>
     <select id="selectByUniqueKey" 
resultType="org.apache.inlong.manager.dao.entity.DataNodeEntity">
         select
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
index 69be71a65..d86aa4336 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
@@ -85,7 +85,8 @@
         select
         <include refid="Base_Column_List"/>
         from inlong_cluster
-        where id = #{id,jdbcType=INTEGER}
+        where is_deleted = 0
+        and id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectByKey" 
resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
         select
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterNodeEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterNodeEntityMapper.xml
index d080dc6bc..2dd8b216f 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterNodeEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterNodeEntityMapper.xml
@@ -77,7 +77,8 @@
         select
         <include refid="Base_Column_List"/>
         from inlong_cluster_node
-        where id = #{id,jdbcType=INTEGER}
+        where is_deleted = 0
+        and id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectByUniqueKey" 
parameterType="org.apache.inlong.manager.pojo.cluster.ClusterRequest"
             
resultType="org.apache.inlong.manager.dao.entity.InlongClusterNodeEntity">
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
index 873054cb2..cd59af1c4 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
@@ -801,10 +801,8 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     public Boolean delete(Integer id, String operator) {
         Preconditions.expectNotNull(id, "cluster id cannot be empty");
         InlongClusterEntity entity = clusterMapper.selectById(id);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            LOGGER.error("inlong cluster not found by id={}, or was already 
deleted", id);
-            return false;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.CLUSTER_NOT_FOUND,
+                ErrorCodeEnum.CLUSTER_NOT_FOUND.getMessage());
         String message = "Current user does not have permission to delete 
cluster info";
         checkUser(entity, operator, message);
 
@@ -829,9 +827,9 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     @Override
     public Boolean delete(Integer id, UserInfo opInfo) {
         InlongClusterEntity entity = clusterMapper.selectById(id);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            return true;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.CLUSTER_NOT_FOUND,
+                ErrorCodeEnum.CONSUME_NOT_FOUND.getMessage());
+
         // only the person in charges can query
         if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
             List<String> inCharges = 
Arrays.asList(entity.getInCharges().split(InlongConstants.COMMA));
@@ -877,10 +875,8 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     public Integer saveNode(ClusterNodeRequest request, UserInfo opInfo) {
         // check cluster info
         InlongClusterEntity entity = 
clusterMapper.selectById(request.getParentId());
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            throw new BusinessException(ErrorCodeEnum.CLUSTER_NOT_FOUND,
-                    String.format("inlong cluster not found by id=%s, or was 
already deleted", request.getParentId()));
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.CLUSTER_NOT_FOUND,
+                String.format("inlong cluster not found by id=%s, or was 
already deleted", request.getParentId()));
         // only the person in charges can query
         if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
             List<String> inCharges = 
Arrays.asList(entity.getInCharges().split(InlongConstants.COMMA));
@@ -1170,10 +1166,8 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     public Boolean deleteNode(Integer id, String operator) {
         Preconditions.expectNotNull(id, "cluster node id cannot be empty");
         InlongClusterNodeEntity entity = clusterNodeMapper.selectById(id);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            LOGGER.error("inlong cluster node not found by id={}", id);
-            return false;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.CLUSTER_NOT_FOUND);
+
         InlongClusterEntity cluster = 
clusterMapper.selectById(entity.getParentId());
         String message = "Current user does not have permission to delete 
cluster node";
         checkUser(cluster, operator, message);
@@ -1192,9 +1186,7 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     @Override
     public Boolean deleteNode(Integer id, UserInfo opInfo) {
         InlongClusterNodeEntity entity = clusterNodeMapper.selectById(id);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            return true;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.CLUSTER_NOT_FOUND);
         InlongClusterEntity cluster = 
clusterMapper.selectById(entity.getParentId());
         // only the person in charges can query
         if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupProcessService.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupProcessService.java
index c621c51b2..1c036949b 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupProcessService.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupProcessService.java
@@ -18,7 +18,6 @@
 package org.apache.inlong.manager.service.group;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-
 import org.apache.inlong.manager.common.consts.InlongConstants;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.enums.GroupOperateType;
@@ -233,9 +232,7 @@ public class InlongGroupProcessService {
      */
     public Boolean deleteProcess(String groupId, UserInfo opInfo) {
         InlongGroupEntity entity = groupMapper.selectByGroupId(groupId);
-        if (entity == null) {
-            return true;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.GROUP_NOT_FOUND, 
ErrorCodeEnum.GROUP_NOT_FOUND.getMessage());
         // only the person in charges can delete
         if (!opInfo.getAccountType().equals(UserTypeEnum.ADMIN.getCode())) {
             List<String> inCharges = 
Arrays.asList(entity.getInCharges().split(InlongConstants.COMMA));
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
index d7018dbf2..c21f0a7c5 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
@@ -19,7 +19,6 @@ package org.apache.inlong.manager.service.node;
 
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.consts.InlongConstants;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
@@ -260,11 +259,8 @@ public class DataNodeServiceImpl implements 
DataNodeService {
     @Override
     public Boolean delete(Integer id, String operator) {
         DataNodeEntity entity = dataNodeMapper.selectById(id);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            LOGGER.error("data node not found or was already deleted for 
id={}", id);
-            return false;
-        }
-
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.DATA_NODE_NOT_FOUND,
+                ErrorCodeEnum.DATA_NODE_NOT_FOUND.getMessage());
         return delete(entity, operator);
     }
 
@@ -275,9 +271,8 @@ public class DataNodeServiceImpl implements DataNodeService 
{
             throw new BusinessException(ErrorCodeEnum.PERMISSION_REQUIRED);
         }
         DataNodeEntity entity = dataNodeMapper.selectById(id);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            return true;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.DATA_NODE_NOT_FOUND,
+                ErrorCodeEnum.DATA_NODE_NOT_FOUND.getMessage());
         // delete record
         entity.setIsDeleted(entity.getId());
         entity.setModifier(opInfo.getName());
@@ -317,10 +312,8 @@ public class DataNodeServiceImpl implements 
DataNodeService {
     @Override
     public Boolean deleteByKey(String name, String type, String operator) {
         DataNodeEntity entity = dataNodeMapper.selectByUniqueKey(name, type);
-        if (entity == null || entity.getIsDeleted() > 
InlongConstants.UN_DELETED) {
-            LOGGER.error("data node not found or was already deleted for 
name={}", name);
-            return false;
-        }
+        Preconditions.expectNotNull(entity, ErrorCodeEnum.DATA_NODE_NOT_FOUND,
+                ErrorCodeEnum.DATA_NODE_NOT_FOUND.getMessage());
         return delete(entity, operator);
     }
 
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
index 63ea2db2d..5dc8b0c4e 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
@@ -404,7 +404,8 @@ public class StreamSourceServiceImpl implements 
StreamSourceService {
         Preconditions.expectNotNull(id, 
ErrorCodeEnum.ID_IS_EMPTY.getMessage());
 
         StreamSourceEntity entity = sourceMapper.selectByIdForUpdate(id);
-        Preconditions.expectNotNull(entity, 
ErrorCodeEnum.SOURCE_INFO_NOT_FOUND.getMessage());
+        Preconditions.expectNotNull(entity, 
ErrorCodeEnum.SOURCE_INFO_NOT_FOUND,
+                ErrorCodeEnum.SOURCE_INFO_NOT_FOUND.getMessage());
         boolean isTemplateSource = 
CollectionUtils.isNotEmpty(sourceMapper.selectByTemplateId(id));
 
         SourceStatus curStatus = SourceStatus.forCode(entity.getStatus());
@@ -438,9 +439,9 @@ public class StreamSourceServiceImpl implements 
StreamSourceService {
     @Transactional(rollbackFor = Throwable.class, propagation = 
Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED)
     public Boolean delete(Integer id, UserInfo opInfo) {
         StreamSourceEntity entity = sourceMapper.selectByIdForUpdate(id);
-        if (entity == null) {
-            return true;
-        }
+        Preconditions.expectNotNull(entity, 
ErrorCodeEnum.SOURCE_INFO_NOT_FOUND,
+                ErrorCodeEnum.SOURCE_INFO_NOT_FOUND.getMessage());
+
         // Check if it can be added
         InlongGroupEntity groupEntity = 
groupMapper.selectByGroupId(entity.getInlongGroupId());
         if (groupEntity == null) {
diff --git 
a/inlong-manager/manager-web/src/test/java/org/apache/inlong/manager/web/controller/DataNodeControllerTest.java
 
b/inlong-manager/manager-web/src/test/java/org/apache/inlong/manager/web/controller/DataNodeControllerTest.java
index b8ea2f44b..f7f61c191 100644
--- 
a/inlong-manager/manager-web/src/test/java/org/apache/inlong/manager/web/controller/DataNodeControllerTest.java
+++ 
b/inlong-manager/manager-web/src/test/java/org/apache/inlong/manager/web/controller/DataNodeControllerTest.java
@@ -83,7 +83,7 @@ class DataNodeControllerTest extends WebBaseTest {
         Assertions.assertTrue(success);
 
         DataNodeEntity dataNodeEntity = dataNodeMapper.selectById(dataNodeId);
-        Assertions.assertEquals(dataNodeEntity.getId(), 
dataNodeEntity.getIsDeleted());
+        Assertions.assertNull(dataNodeEntity);
     }
 
     @Test
@@ -110,7 +110,7 @@ class DataNodeControllerTest extends WebBaseTest {
         Assertions.assertTrue(success);
 
         DataNodeEntity dataNodeEntity = dataNodeMapper.selectById(dataNodeId);
-        Assertions.assertEquals(dataNodeEntity.getId(), 
dataNodeEntity.getIsDeleted());
+        Assertions.assertNull(dataNodeEntity);
     }
 
     @Test

Reply via email to