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

midnight2104 pushed a commit to branch midnight2104
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu.git

commit 1cc89aa297c6bba44e636defb30a6ed32f75f295
Author: midnight2104 <[email protected]>
AuthorDate: Fri Nov 12 14:00:54 2021 +0800

    refactor shenyu-admin: code polish
---
 .../admin/service/impl/AppAuthServiceImpl.java     |  5 ++
 .../service/impl/DashboardUserServiceImpl.java     |  8 +-
 .../shenyu/admin/service/impl/EnumServiceImpl.java |  3 +
 .../admin/service/impl/MetaDataServiceImpl.java    | 15 ++--
 .../admin/service/impl/PermissionServiceImpl.java  | 45 ++++++-----
 .../admin/service/impl/PluginServiceImpl.java      | 26 +++++--
 .../admin/service/impl/ResourceServiceImpl.java    | 36 +++++----
 .../shenyu/admin/service/impl/RoleServiceImpl.java | 46 +++++++----
 .../shenyu/admin/service/impl/RuleServiceImpl.java | 17 ++--
 .../admin/service/impl/ShenyuDictServiceImpl.java  |  3 +-
 .../admin/service/impl/SyncDataServiceImpl.java    | 27 +++++--
 .../admin/service/impl/UpstreamCheckService.java   | 91 ++++++++++++----------
 .../admin/shiro/bean/StatelessAuthFilter.java      |  7 +-
 .../shenyu/admin/shiro/config/ShiroRealm.java      |  3 +-
 .../shenyu/admin/utils/ShenyuResultMessage.java    |  2 -
 15 files changed, 208 insertions(+), 126 deletions(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AppAuthServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AppAuthServiceImpl.java
index 8b9cfdc..1aa859d 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AppAuthServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AppAuthServiceImpl.java
@@ -169,6 +169,7 @@ public class AppAuthServiceImpl implements AppAuthService {
         List<AuthParamDTO> authParamDTOList = appAuthDTO.getAuthParamDTOList();
         if (CollectionUtils.isNotEmpty(authParamDTOList)) {
             authParamMapper.deleteByAuthId(appAuthDTO.getId());
+
             List<AuthParamDO> authParamDOList = authParamDTOList.stream()
                     .map(dto -> AuthParamDO.create(appAuthDTO.getId(), 
dto.getAppName(), dto.getAppParam()))
                     .collect(Collectors.toList());
@@ -179,13 +180,16 @@ public class AppAuthServiceImpl implements AppAuthService 
{
             List<AuthPathDO> oldAuthPathDOList = 
authPathMapper.findByAuthId(appAuthDTO.getId());
             String appName = oldAuthPathDOList.stream().findFirst()
                     .map(AuthPathDO::getAppName).orElse(StringUtils.EMPTY);
+
             authPathMapper.deleteByAuthId(appAuthDTO.getId());
+
             List<AuthPathDO> authPathDOList = authPathDTOList.stream()
                     .filter(Objects::nonNull)
                     .map(dto -> AuthPathDO.create(dto.getPath(), 
appAuthDTO.getId(), appName))
                     .collect(Collectors.toList());
             authPathMapper.batchSave(authPathDOList);
         }
+
         AppAuthData appAuthData = buildByEntity(appAuthDO);
         eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.APP_AUTH,
                 DataEventTypeEnum.UPDATE,
@@ -202,6 +206,7 @@ public class AppAuthServiceImpl implements AppAuthService {
         List<AuthPathDTO> authPathDTOList = 
authPathWarpDTO.getAuthPathDTOList();
         if (CollectionUtils.isNotEmpty(authPathDTOList)) {
             authPathMapper.deleteByAuthId(authPathWarpDTO.getId());
+
             List<AuthPathDO> collect = authPathDTOList.stream()
                     .filter(Objects::nonNull)
                     .map(authPathDTO -> 
AuthPathDO.create(authPathDTO.getPath(), appAuthDO.getId(), 
authPathDTO.getAppName()))
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
index d47038b..37f2eb8 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
@@ -116,12 +116,15 @@ public class DashboardUserServiceImpl implements 
DashboardUserService {
             bindUserRole(dashboardUserDO.getId(), dashboardUserDTO.getRoles());
             return dashboardUserMapper.insertSelective(dashboardUserDO);
         }
+
         if (!AdminConstants.ADMIN_NAME.equals(dashboardUserDTO.getUserName())) 
{
             userRoleMapper.deleteByUserId(dashboardUserDTO.getId());
         }
+
         if (CollectionUtils.isNotEmpty(dashboardUserDTO.getRoles())) {
             bindUserRole(dashboardUserDTO.getId(), 
dashboardUserDTO.getRoles());
         }
+
         return dashboardUserMapper.updateSelective(dashboardUserDO);
     }
 
@@ -213,9 +216,11 @@ public class DashboardUserServiceImpl implements 
DashboardUserService {
         if (Objects.nonNull(ldapTemplate)) {
             dashboardUserVO = loginByLdap(userName, password);
         }
+
         if (Objects.isNull(dashboardUserVO)) {
             dashboardUserVO = loginByDatabase(userName, password);
         }
+
         return LoginDashboardUserVO.buildLoginDashboardUserVO(dashboardUserVO)
                 
.setToken(JwtUtils.generateToken(dashboardUserVO.getUserName(), 
dashboardUserVO.getPassword(),
                         jwtProperties.getExpiredSeconds()));
@@ -256,8 +261,7 @@ public class DashboardUserServiceImpl implements 
DashboardUserService {
     private DashboardUserVO loginByDatabase(final String userName, final 
String password) {
         String key = secretProperties.getKey();
         String iv = secretProperties.getIv();
-        DashboardUserVO dashboardUserVO = findByQuery(userName, 
AesUtils.aesEncryption(password, key, iv));
-        return dashboardUserVO;
+        return findByQuery(userName, AesUtils.aesEncryption(password, key, 
iv));
     }
 
     /**
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/EnumServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/EnumServiceImpl.java
index 2189a61..e82ddc5 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/EnumServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/EnumServiceImpl.java
@@ -100,9 +100,11 @@ public class EnumServiceImpl implements EnumService {
         List<EnumVO> redisModeEnums = Arrays.stream(RedisModeEnum.values())
                 .map(redisModeEnum -> new EnumVO(null, 
redisModeEnum.getName(), true))
                 .collect(Collectors.toList());
+
         List<EnumVO> hystrixIsolationModeEnums = 
Arrays.stream(HystrixIsolationModeEnum.values())
                 .map(hystrixIsolationModeEnum -> new 
EnumVO(hystrixIsolationModeEnum.getCode(), hystrixIsolationModeEnum.getName(), 
true))
                 .collect(Collectors.toList());
+
         Map<String, List<EnumVO>> enums = Maps.newHashMap();
         enums.put("httpMethodEnums", httpMethodEnums);
         enums.put("loadBalanceEnums", loadBalanceEnums);
@@ -117,6 +119,7 @@ public class EnumServiceImpl implements EnumService {
         enums.put("wafEnums", wafEnums);
         enums.put("redisModeEnums", redisModeEnums);
         enums.put("hystrixIsolationModeEnums", hystrixIsolationModeEnums);
+
         return enums;
     }
 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
index a6221be..cf48d3f 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
@@ -97,7 +97,7 @@ public class MetaDataServiceImpl implements MetaDataService {
         }
         MetaDataDO metaDataDO = 
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
         DataEventTypeEnum eventType;
-        String pathDesc = metaDataDO.getPathDesc() == null ? "" : 
metaDataDO.getPathDesc();
+        String pathDesc = Objects.isNull(metaDataDO.getPathDesc()) ? "" : 
metaDataDO.getPathDesc();
         if (StringUtils.isEmpty(metaDataDTO.getId())) {
             Timestamp currentTime = new Timestamp(System.currentTimeMillis());
             metaDataDO.setId(UUIDUtils.getInstance().generateShortUuid());
@@ -168,11 +168,10 @@ public class MetaDataServiceImpl implements 
MetaDataService {
     @Override
     @Pageable
     public CommonPager<MetaDataVO> listByPage(final MetaDataQuery 
metaDataQuery) {
-        return PageResultUtils.result(metaDataQuery.getPageParameter(),
-            () -> metaDataMapper.selectByQuery(metaDataQuery)
-                        .stream()
-                        .map(MetaDataTransfer.INSTANCE::mapToVO)
-                        .collect(Collectors.toList()));
+        return PageResultUtils.result(metaDataQuery.getPageParameter(), () -> 
metaDataMapper.selectByQuery(metaDataQuery)
+                .stream()
+                .map(MetaDataTransfer.INSTANCE::mapToVO)
+                .collect(Collectors.toList()));
     }
 
     @Override
@@ -216,10 +215,12 @@ public class MetaDataServiceImpl implements 
MetaDataService {
             LOG.error("metaData create param is error, {}", metaDataDTO);
             return AdminConstants.PARAMS_ERROR;
         }
+
         final MetaDataDO exist = 
metaDataMapper.findByPath(metaDataDTO.getPath());
-        if (exist != null && !exist.getId().equals(metaDataDTO.getId())) {
+        if (Objects.nonNull(exist) && 
!exist.getId().equals(metaDataDTO.getId())) {
             return AdminConstants.DATA_PATH_IS_EXIST;
         }
+
         return StringUtils.EMPTY;
     }
 
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PermissionServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PermissionServiceImpl.java
index 74e6814..30e45c9 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PermissionServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PermissionServiceImpl.java
@@ -80,21 +80,24 @@ public class PermissionServiceImpl implements 
PermissionService {
     @Override
     public PermissionMenuVO getPermissionMenu(final String token) {
         UserInfo userInfo = JwtUtils.getUserInfo();
-        if (Objects.nonNull(userInfo)) {
-            List<ResourceVO> resourceVOList = 
getResourceListByUserName(userInfo.getUserName());
-            if (CollectionUtils.isNotEmpty(resourceVOList)) {
-                List<MenuInfo> menuInfoList = new ArrayList<>();
-                resourceService.getMenuInfo(menuInfoList, resourceVOList, 
null);
-                return new PermissionMenuVO(menuInfoList, 
getAuthPerm(resourceVOList), getAllAuthPerms());
-            }
+        if (Objects.isNull(userInfo)) {
+            return null;
         }
-        return null;
+
+        List<ResourceVO> resourceVOList = 
getResourceListByUserName(userInfo.getUserName());
+        if (CollectionUtils.isEmpty(resourceVOList)) {
+            return null;
+        }
+
+        List<MenuInfo> menuInfoList = new ArrayList<>();
+        resourceService.getMenuInfo(menuInfoList, resourceVOList, null);
+        return new PermissionMenuVO(menuInfoList, getAuthPerm(resourceVOList), 
getAllAuthPerms());
     }
 
     /**
-     * get Auth perm by user name for shiro.
+     * get Auth perm by username for shiro.
      *
-     * @param userName user name.
+     * @param userName username.
      * @return {@linkplain Set}
      */
     @Override
@@ -109,7 +112,7 @@ public class PermissionServiceImpl implements 
PermissionService {
     /**
      * get resource by username.
      *
-     * @param userName user name
+     * @param userName username
      * @return {@linkplain List}
      */
     private List<ResourceVO> getResourceListByUserName(final String userName) {
@@ -117,17 +120,20 @@ public class PermissionServiceImpl implements 
PermissionService {
         List<String> roleIds = userRoleDOList.stream().filter(Objects::nonNull)
                 .map(UserRoleDO::getRoleId)
                 .collect(Collectors.toList());
+
         Set<String> resourceIds = 
permissionMapper.findByObjectIds(roleIds).stream()
                 .map(PermissionDO::getResourceId)
                 .filter(StringUtils::isNoneBlank)
                 .collect(Collectors.toSet());
-        if (CollectionUtils.isNotEmpty(resourceIds)) {
-            return new ArrayList<>(resourceIds).stream()
-                    .map(resource -> 
ResourceVO.buildResourceVO(resourceMapper.selectById(resource)))
-                    .filter(Objects::nonNull)
-                    .collect(Collectors.toList());
+
+        if (CollectionUtils.isEmpty(resourceIds)) {
+            return Collections.emptyList();
         }
-        return Collections.emptyList();
+
+        return new ArrayList<>(resourceIds).stream()
+                .map(resource -> 
ResourceVO.buildResourceVO(resourceMapper.selectById(resource)))
+                .filter(Objects::nonNull)
+                .collect(Collectors.toList());
     }
 
     /**
@@ -150,7 +156,8 @@ public class PermissionServiceImpl implements 
PermissionService {
      */
     private List<AuthPerm> getAllAuthPerms() {
         return resourceMapper.selectAll().stream()
-               .filter(item -> 
item.getResourceType().equals(ResourceTypeConstants.MENU_TYPE_2))
-               .map(item -> 
AuthPerm.buildAuthPerm(ResourceVO.buildResourceVO(item))).collect(Collectors.toList());
+                .filter(item -> 
item.getResourceType().equals(ResourceTypeConstants.MENU_TYPE_2))
+                .map(item -> 
AuthPerm.buildAuthPerm(ResourceVO.buildResourceVO(item)))
+                .collect(Collectors.toList());
     }
 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PluginServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PluginServiceImpl.java
index 7130615..2c04d2f 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PluginServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PluginServiceImpl.java
@@ -112,6 +112,7 @@ public class PluginServiceImpl implements PluginService {
         if (StringUtils.isNoneBlank(msg)) {
             return msg;
         }
+
         PluginDO pluginDO = PluginDO.buildPluginDO(pluginDTO);
         DataEventTypeEnum eventType = DataEventTypeEnum.CREATE;
         if (StringUtils.isBlank(pluginDTO.getId())) {
@@ -137,6 +138,7 @@ public class PluginServiceImpl implements PluginService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String delete(final List<String> ids) {
+        // 1. select plugin id.
         List<PluginDO> plugins = 
Optional.ofNullable(this.pluginMapper.selectByIds(ids))
                 .orElse(Collections.emptyList());
         final List<String> pluginIds = plugins.stream()
@@ -144,11 +146,13 @@ public class PluginServiceImpl implements PluginService {
         if (CollectionUtils.isEmpty(pluginIds)) {
             return AdminConstants.SYS_PLUGIN_ID_NOT_EXIST;
         }
-        // delete plugins
+
+        // 2. delete plugins.
         this.pluginMapper.deleteByIds(pluginIds);
-        // delete plugin handle
+        // 3. delete plugin handle.
         this.pluginHandleMapper.deleteByPluginIds(pluginIds);
-        // all selectors
+
+        // 4. all selectors.
         final List<String> selectorIds = 
Optional.ofNullable(this.selectorMapper.findByPluginIds(pluginIds))
                 .orElse(Collections.emptyList())
                 .stream().map(SelectorDO::getId).collect(Collectors.toList());
@@ -159,20 +163,25 @@ public class PluginServiceImpl implements PluginService {
             this.selectorConditionMapper.deleteBySelectorIds(selectorIds);
             // delete all rules
             final List<String> ruleIds = 
Optional.ofNullable(this.ruleMapper.findBySelectorIds(selectorIds))
-                    
.orElse(Collections.emptyList()).stream().map(RuleDO::getId).collect(Collectors.toList());
+                    .orElse(Collections.emptyList())
+                    .stream()
+                    .map(RuleDO::getId)
+                    .collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(ruleIds)) {
                 this.ruleMapper.deleteByIds(ruleIds);
                 // delete all rule conditions
                 this.ruleConditionMapper.deleteByRuleIds(ruleIds);
             }
         }
-        // delete resource & permission
+
+        // 5. delete resource & permission.
         final List<ResourceVO> resources = 
this.resourceService.listByTitles(plugins.stream()
                 .map(PluginDO::getName).collect(Collectors.toList()));
         if (CollectionUtils.isNotEmpty(resources)) {
             
this.resourceService.delete(resources.stream().map(ResourceVO::getId).collect(Collectors.toList()));
         }
-        // publish change event.
+
+        // 6. publish change event.
         eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.PLUGIN, DataEventTypeEnum.DELETE,
                 
plugins.stream().map(PluginTransfer.INSTANCE::mapToData).collect(Collectors.toList())));
         return StringUtils.EMPTY;
@@ -198,6 +207,7 @@ public class PluginServiceImpl implements PluginService {
             pluginMapper.updateEnable(pluginDO);
             plugins.add(pluginDO);
         }
+
         // publish change event.
         if (CollectionUtils.isNotEmpty(plugins)) {
             eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.PLUGIN, DataEventTypeEnum.UPDATE,
@@ -248,7 +258,7 @@ public class PluginServiceImpl implements PluginService {
         Objects.requireNonNull(pluginDO);
         return pluginDO.getId();
     }
-    
+
     /**
      * Find by name plugin do.
      *
@@ -259,7 +269,7 @@ public class PluginServiceImpl implements PluginService {
     public PluginDO findByName(final String name) {
         return pluginMapper.selectByName(name);
     }
-    
+
     /**
      * check plugin Data integrity.
      *
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ResourceServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ResourceServiceImpl.java
index c7f240b..93e4727 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ResourceServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ResourceServiceImpl.java
@@ -56,7 +56,8 @@ public class ResourceServiceImpl implements ResourceService {
 
     private final PermissionMapper permissionMapper;
 
-    public ResourceServiceImpl(final ResourceMapper resourceMapper, final 
PermissionMapper permissionMapper) {
+    public ResourceServiceImpl(final ResourceMapper resourceMapper,
+                               final PermissionMapper permissionMapper) {
         this.resourceMapper = resourceMapper;
         this.permissionMapper = permissionMapper;
     }
@@ -72,7 +73,7 @@ public class ResourceServiceImpl implements ResourceService {
     }
 
     /**
-     *  create or update resource.
+     * create or update resource.
      *
      * @param resourceDTO {@linkplain ResourceDTO}
      * @return rows int
@@ -152,11 +153,10 @@ public class ResourceServiceImpl implements 
ResourceService {
     @Override
     @Pageable
     public CommonPager<ResourceVO> listByPage(final ResourceQuery 
resourceQuery) {
-        return PageResultUtils.result(resourceQuery.getPageParameter(),
-            () -> resourceMapper.selectByQuery(resourceQuery)
-                            .stream()
-                            .map(ResourceVO::buildResourceVO)
-                            .collect(Collectors.toList()));
+        return PageResultUtils.result(resourceQuery.getPageParameter(), () -> 
resourceMapper.selectByQuery(resourceQuery)
+                .stream()
+                .map(ResourceVO::buildResourceVO)
+                .collect(Collectors.toList()));
     }
 
     /**
@@ -167,12 +167,13 @@ public class ResourceServiceImpl implements 
ResourceService {
     @Override
     public List<MenuInfo> getMenuTree() {
         List<ResourceVO> resourceVOList = 
resourceMapper.selectAll().stream().map(ResourceVO::buildResourceVO).collect(Collectors.toList());
-        if (CollectionUtils.isNotEmpty(resourceVOList)) {
-            List<MenuInfo> menuInfoList = new ArrayList<>();
-            getMenuInfo(menuInfoList, resourceVOList, null);
-            return menuInfoList;
+        if (CollectionUtils.isEmpty(resourceVOList)) {
+            return null;
         }
-        return null;
+
+        List<MenuInfo> menuInfoList = new ArrayList<>();
+        getMenuInfo(menuInfoList, resourceVOList, null);
+        return menuInfoList;
     }
 
     /**
@@ -192,17 +193,20 @@ public class ResourceServiceImpl implements 
ResourceService {
      * get Menu Info.
      *
      * @param menuInfoList {@linkplain List} menu info.
-     * @param metaList {@linkplain List} resource list
-     * @param menuInfo {@linkplain MenuInfo}
+     * @param metaList     {@linkplain List} resource list
+     * @param menuInfo     {@linkplain MenuInfo}
      */
     @Override
-    public void getMenuInfo(final List<MenuInfo> menuInfoList, final 
List<ResourceVO> metaList, final MenuInfo menuInfo) {
+    public void getMenuInfo(final List<MenuInfo> menuInfoList,
+                            final List<ResourceVO> metaList,
+                            final MenuInfo menuInfo) {
         for (ResourceVO resourceVO : metaList) {
             String parentId = resourceVO.getParentId();
             MenuInfo tempMenuInfo = MenuInfo.buildMenuInfo(resourceVO);
             if (ObjectUtils.isEmpty(tempMenuInfo)) {
                 continue;
             }
+
             if (ObjectUtils.isEmpty(menuInfo) && 
reactor.util.StringUtils.isEmpty(parentId)) {
                 menuInfoList.add(tempMenuInfo);
                 if (Objects.equals(resourceVO.getIsLeaf(), Boolean.FALSE)) {
@@ -221,7 +225,7 @@ public class ResourceServiceImpl implements ResourceService 
{
      * get delete resource ids.
      *
      * @param resourceIds resource ids
-     * @param metaList all resource object
+     * @param metaList    all resource object
      */
     private void getDeleteResourceIds(final Map<String, String> 
deleteResourceIds, final List<String> resourceIds,
                                       final List<ResourceVO> metaList) {
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RoleServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RoleServiceImpl.java
index 8bc328a..4158a3d 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RoleServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RoleServiceImpl.java
@@ -60,7 +60,9 @@ public class RoleServiceImpl implements RoleService {
 
     private final ResourceMapper resourceMapper;
 
-    public RoleServiceImpl(final RoleMapper roleMapper, final PermissionMapper 
permissionMapper, final ResourceMapper resourceMapper) {
+    public RoleServiceImpl(final RoleMapper roleMapper,
+                           final PermissionMapper permissionMapper,
+                           final ResourceMapper resourceMapper) {
         this.roleMapper = roleMapper;
         this.permissionMapper = permissionMapper;
         this.resourceMapper = resourceMapper;
@@ -105,8 +107,9 @@ public class RoleServiceImpl implements RoleService {
     @Override
     public RoleEditVO findById(final String id) {
         RoleVO sysRole = RoleVO.buildRoleVO(roleMapper.selectById(id));
-        return Optional.ofNullable(sysRole).map(item -> new 
RoleEditVO(getPermissionIdsByRoleId(item.getId()), item,
-                getAllPermissions())).orElse(null);
+        return Optional.ofNullable(sysRole)
+                .map(item -> new 
RoleEditVO(getPermissionIdsByRoleId(item.getId()), item, getAllPermissions()))
+                .orElse(null);
     }
 
     /**
@@ -129,8 +132,10 @@ public class RoleServiceImpl implements RoleService {
     @Override
     @Pageable
     public CommonPager<RoleVO> listByPage(final RoleQuery roleQuery) {
-        return PageResultUtils.result(roleQuery.getPageParameter(),
-            () -> 
roleMapper.selectByQuery(roleQuery).stream().map(RoleVO::buildRoleVO).collect(Collectors.toList()));
+        return PageResultUtils.result(roleQuery.getPageParameter(), () -> 
roleMapper.selectByQuery(roleQuery)
+                .stream()
+                .map(RoleVO::buildRoleVO)
+                .collect(Collectors.toList()));
     }
 
     /**
@@ -140,7 +145,10 @@ public class RoleServiceImpl implements RoleService {
      */
     @Override
     public List<RoleVO> selectAll() {
-        return 
roleMapper.selectAll().stream().map(RoleVO::buildRoleVO).collect(Collectors.toList());
+        return roleMapper.selectAll()
+                .stream()
+                .map(RoleVO::buildRoleVO)
+                .collect(Collectors.toList());
     }
 
     /**
@@ -149,8 +157,12 @@ public class RoleServiceImpl implements RoleService {
      * @return {@linkplain PermissionInfo}
      */
     private PermissionInfo getAllPermissions() {
-        List<ResourceVO> resourceVOList = 
resourceMapper.selectAll().stream().map(ResourceVO::buildResourceVO).collect(Collectors.toList());
+        List<ResourceVO> resourceVOList = resourceMapper.selectAll()
+                .stream()
+                .map(ResourceVO::buildResourceVO)
+                .collect(Collectors.toList());
         List<String> permissionIds = 
resourceVOList.stream().map(ResourceVO::getId).collect(Collectors.toList());
+
         List<ResourceInfo> treeList = new ArrayList<>();
         getTreeModelList(treeList, resourceVOList, null);
         return 
PermissionInfo.builder().treeList(treeList).permissionIds(permissionIds).build();
@@ -163,17 +175,22 @@ public class RoleServiceImpl implements RoleService {
      * @return {@linkplain List}
      */
     private List<String> getPermissionIdsByRoleId(final String roleId) {
-        return 
permissionMapper.findByObjectId(roleId).stream().map(PermissionDO::getResourceId).collect(Collectors.toList());
+        return permissionMapper.findByObjectId(roleId)
+                .stream()
+                .map(PermissionDO::getResourceId)
+                .collect(Collectors.toList());
     }
 
     /**
      * get menu list.
      *
-     * @param treeList {@linkplain ResourceInfo}
-     * @param metaList {@linkplain ResourceDTO}
+     * @param treeList     {@linkplain ResourceInfo}
+     * @param metaList     {@linkplain ResourceDTO}
      * @param resourceInfo {@linkplain ResourceInfo}
      */
-    private void getTreeModelList(final List<ResourceInfo> treeList, final 
List<ResourceVO> metaList, final ResourceInfo resourceInfo) {
+    private void getTreeModelList(final List<ResourceInfo> treeList,
+                                  final List<ResourceVO> metaList,
+                                  final ResourceInfo resourceInfo) {
         for (ResourceVO resourceVO : metaList) {
             String parentId = resourceVO.getParentId();
             ResourceInfo resourceInfoItem = 
ResourceInfo.buildResourceInfo(resourceVO);
@@ -195,7 +212,7 @@ public class RoleServiceImpl implements RoleService {
     /**
      * get two list different.
      *
-     * @param preList {@linkplain List}
+     * @param preList  {@linkplain List}
      * @param lastList {@linkplain List}
      * @return {@linkplain List}
      */
@@ -203,9 +220,11 @@ public class RoleServiceImpl implements RoleService {
         if (CollectionUtils.isEmpty(lastList)) {
             return null;
         }
+
         if (CollectionUtils.isEmpty(preList)) {
             return lastList;
         }
+
         Map<String, Integer> map = preList.stream().distinct()
                 .collect(Collectors.toMap(source -> source, source -> 1));
         return lastList.stream().filter(item -> 
!map.containsKey(item)).collect(Collectors.toList());
@@ -232,7 +251,7 @@ public class RoleServiceImpl implements RoleService {
     /**
      * manger role permission.
      *
-     * @param roleId role id.
+     * @param roleId                role id.
      * @param currentPermissionList {@linkplain List} current role permission 
ids
      */
     private void manageRolePermission(final String roleId, final List<String> 
currentPermissionList) {
@@ -241,6 +260,7 @@ public class RoleServiceImpl implements RoleService {
         if (CollectionUtils.isNotEmpty(addPermission)) {
             batchSavePermission(addPermission.stream().map(node -> 
PermissionDO.buildPermissionDO(PermissionDTO.builder().objectId(roleId).resourceId(node).build())).collect(Collectors.toList()));
         }
+
         List<String> deletePermission = getListDiff(currentPermissionList, 
lastPermissionList);
         if (CollectionUtils.isNotEmpty(deletePermission)) {
             deletePermission.forEach(node -> deleteByObjectIdAndResourceId(new 
PermissionQuery(roleId, node)));
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RuleServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RuleServiceImpl.java
index b174cbd..6220b21 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RuleServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RuleServiceImpl.java
@@ -95,6 +95,7 @@ public class RuleServiceImpl implements RuleService {
         if (Objects.nonNull(exist)) {
             return "";
         }
+
         RuleDO ruleDO = RuleDO.buildRuleDO(ruleDTO);
         List<RuleConditionDTO> ruleConditions = ruleDTO.getRuleConditions();
         if (StringUtils.isEmpty(ruleDTO.getId())) {
@@ -236,21 +237,23 @@ public class RuleServiceImpl implements RuleService {
     }
 
     private RuleData buildRuleData(final RuleDO ruleDO) {
-        // query for conditions
-        List<ConditionData> conditions = ruleConditionMapper.selectByQuery(
-                new RuleConditionQuery(ruleDO.getId()))
-                .stream()
-                .filter(Objects::nonNull)
-                .map(ConditionTransfer.INSTANCE::mapToRuleDO)
-                .collect(Collectors.toList());
         SelectorDO selectorDO = 
selectorMapper.selectById(ruleDO.getSelectorId());
         if (Objects.isNull(selectorDO)) {
             return null;
         }
+
         PluginDO pluginDO = pluginMapper.selectById(selectorDO.getPluginId());
         if (Objects.isNull(pluginDO)) {
             return null;
         }
+
+        // query for conditions
+        List<ConditionData> conditions = ruleConditionMapper.selectByQuery(
+                        new RuleConditionQuery(ruleDO.getId()))
+                .stream()
+                .filter(Objects::nonNull)
+                .map(ConditionTransfer.INSTANCE::mapToRuleDO)
+                .collect(Collectors.toList());
         return RuleDO.transFrom(ruleDO, pluginDO.getName(), conditions);
     }
 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuDictServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuDictServiceImpl.java
index fdb3897..2f9b33b 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuDictServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuDictServiceImpl.java
@@ -17,6 +17,7 @@
 
 package org.apache.shenyu.admin.service.impl;
 
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.admin.aspect.annotation.Pageable;
 import org.apache.shenyu.admin.mapper.ShenyuDictMapper;
@@ -79,7 +80,7 @@ public class ShenyuDictServiceImpl implements 
ShenyuDictService {
 
     @Override
     public Integer enabled(final List<String> ids, final Boolean enabled) {
-        if (ids == null || ids.isEmpty()) {
+        if (CollectionUtils.isEmpty(ids)) {
             return 0;
         }
         return shenyuDictMapper.enabled(ids, enabled);
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
index 2322737..0ac8860 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
@@ -83,13 +83,18 @@ public class SyncDataServiceImpl implements SyncDataService 
{
     @Override
     public boolean syncAll(final DataEventTypeEnum type) {
         appAuthService.syncData();
+
         List<PluginData> pluginDataList = pluginService.listAll();
         eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.PLUGIN, type, pluginDataList));
+
         List<SelectorData> selectorDataList = selectorService.listAll();
         eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.SELECTOR, type, selectorDataList));
+
         List<RuleData> ruleDataList = ruleService.listAll();
         eventPublisher.publishEvent(new DataChangedEvent(ConfigGroupEnum.RULE, 
type, ruleDataList));
+
         metaDataService.syncData();
+
         return true;
     }
 
@@ -98,16 +103,22 @@ public class SyncDataServiceImpl implements 
SyncDataService {
         PluginVO pluginVO = pluginService.findById(pluginId);
         eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.PLUGIN, DataEventTypeEnum.UPDATE,
                 
Collections.singletonList(PluginTransfer.INSTANCE.mapDataTOVO(pluginVO))));
+
         List<SelectorData> selectorDataList = 
selectorService.findByPluginId(pluginId);
-        if (CollectionUtils.isNotEmpty(selectorDataList)) {
-            eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.SELECTOR, DataEventTypeEnum.REFRESH, 
selectorDataList));
-            List<RuleData> allRuleDataList = new ArrayList<>();
-            for (SelectorData selectData : selectorDataList) {
-                List<RuleData> ruleDataList = 
ruleService.findBySelectorId(selectData.getId());
-                allRuleDataList.addAll(ruleDataList);
-            }
-            eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.RULE, DataEventTypeEnum.REFRESH, 
allRuleDataList));
+        if (CollectionUtils.isEmpty(selectorDataList)) {
+            return true;
         }
+
+        eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.SELECTOR, DataEventTypeEnum.REFRESH, 
selectorDataList));
+
+        List<RuleData> allRuleDataList = new ArrayList<>();
+        for (SelectorData selectData : selectorDataList) {
+            List<RuleData> ruleDataList = 
ruleService.findBySelectorId(selectData.getId());
+            allRuleDataList.addAll(ruleDataList);
+        }
+
+        eventPublisher.publishEvent(new DataChangedEvent(ConfigGroupEnum.RULE, 
DataEventTypeEnum.REFRESH, allRuleDataList));
+
         return true;
     }
 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
index 980fe67..197470c 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
@@ -73,6 +73,8 @@ public class UpstreamCheckService {
 
     private static final Set<ZombieUpstream> ZOMBIE_SET = 
Sets.newConcurrentHashSet();
 
+    private static final String REGISTER_TYPE_HTTP = "http";
+
     private final int zombieCheckTimes;
 
     private final int scheduledTime;
@@ -88,25 +90,27 @@ public class UpstreamCheckService {
     private final PluginMapper pluginMapper;
 
     private final SelectorConditionMapper selectorConditionMapper;
-    
+
     private final SelectorHandleConverterFactor converterFactor;
 
     private ScheduledThreadPoolExecutor executor;
 
     private ScheduledFuture<?> scheduledFuture;
-    
+
     /**
      * Instantiates a new Upstream check service.
      *
-     * @param selectorMapper the selector mapper
-     * @param eventPublisher the event publisher
-     * @param pluginMapper the plugin mapper
-     * @param selectorConditionMapper the selectorCondition mapper
+     * @param selectorMapper             the selector mapper
+     * @param eventPublisher             the event publisher
+     * @param pluginMapper               the plugin mapper
+     * @param selectorConditionMapper    the selectorCondition mapper
      * @param shenyuRegisterCenterConfig the shenyu register center config
-     * @param converterFactor the converter factor
+     * @param converterFactor            the converter factor
      */
-    public UpstreamCheckService(final SelectorMapper selectorMapper, final 
ApplicationEventPublisher eventPublisher,
-                                final PluginMapper pluginMapper, final 
SelectorConditionMapper selectorConditionMapper,
+    public UpstreamCheckService(final SelectorMapper selectorMapper,
+                                final ApplicationEventPublisher eventPublisher,
+                                final PluginMapper pluginMapper,
+                                final SelectorConditionMapper 
selectorConditionMapper,
                                 final ShenyuRegisterCenterConfig 
shenyuRegisterCenterConfig,
                                 final SelectorHandleConverterFactor 
converterFactor) {
         this.selectorMapper = selectorMapper;
@@ -123,7 +127,7 @@ public class UpstreamCheckService {
             setup();
         }
     }
-    
+
     /**
      * Set up.
      */
@@ -134,24 +138,27 @@ public class UpstreamCheckService {
             scheduledFuture = executor.scheduleWithFixedDelay(this::scheduled, 
10, scheduledTime, TimeUnit.SECONDS);
         }
     }
-    
+
     /**
      * Close relative resource on container destroy.
      */
     @PreDestroy
     public void close() {
-        if (Objects.nonNull(scheduledFuture)) {
-            scheduledFuture.cancel(false);
-            executor.shutdownNow();
-            try {
-                executor.awaitTermination(5, TimeUnit.SECONDS);
-            } catch (InterruptedException ex) {
-                LOG.error("shutdown executor error", ex);
-                Thread.currentThread().interrupt();
-            }
+        if (Objects.isNull(scheduledFuture)) {
+            return;
         }
+
+        scheduledFuture.cancel(false);
+        executor.shutdownNow();
+        try {
+            executor.awaitTermination(5, TimeUnit.SECONDS);
+        } catch (InterruptedException ex) {
+            LOG.error("shutdown executor error", ex);
+            Thread.currentThread().interrupt();
+        }
+
     }
-    
+
     /**
      * Remove by key.
      *
@@ -160,17 +167,18 @@ public class UpstreamCheckService {
     public static void removeByKey(final String selectorName) {
         UPSTREAM_MAP.remove(selectorName);
     }
-    
+
     /**
      * Submit.
      *
-     * @param selectorId the selector id
+     * @param selectorId     the selector id
      * @param commonUpstream the common upstream
      */
     public void submit(final String selectorId, final CommonUpstream 
commonUpstream) {
         if (!Constants.DEFAULT_REGISTER_TYPE.equalsIgnoreCase(registerType)) {
             return;
         }
+
         if (UPSTREAM_MAP.containsKey(selectorId)) {
             List<CommonUpstream> upstreams = 
UPSTREAM_MAP.getOrDefault(selectorId, Collections.emptyList());
             Optional<CommonUpstream> exists = upstreams.stream().filter(item 
-> StringUtils.isNotBlank(item.getUpstreamUrl())
@@ -184,15 +192,15 @@ public class UpstreamCheckService {
             UPSTREAM_MAP.put(selectorId, Lists.newArrayList(commonUpstream));
         }
     }
-    
+
     /**
      * Replace.
      *
-     * @param selectorId the selector name
+     * @param selectorId      the selector name
      * @param commonUpstreams the common upstream list
      */
     public void replace(final String selectorId, final List<CommonUpstream> 
commonUpstreams) {
-        if (!"http".equalsIgnoreCase(registerType)) {
+        if (!REGISTER_TYPE_HTTP.equalsIgnoreCase(registerType)) {
             return;
         }
         UPSTREAM_MAP.put(selectorId, commonUpstreams);
@@ -268,20 +276,25 @@ public class UpstreamCheckService {
 
     private void updateSelectorHandler(final String selectorId, final 
List<CommonUpstream> aliveList) {
         SelectorDO selectorDO = selectorMapper.selectById(selectorId);
-        if (Objects.nonNull(selectorDO)) {
-            PluginDO pluginDO = 
pluginMapper.selectById(selectorDO.getPluginId());
-            String handler = 
converterFactor.newInstance(pluginDO.getName()).handler(selectorDO.getHandle(), 
aliveList);
-            selectorDO.setHandle(handler);
-            selectorMapper.updateSelective(selectorDO);
-            List<ConditionData> conditionDataList = 
ConditionTransfer.INSTANCE.mapToSelectorDOS(
-                    selectorConditionMapper.selectByQuery(new 
SelectorConditionQuery(selectorDO.getId())));
-            SelectorData selectorData = SelectorDO.transFrom(selectorDO, 
pluginDO.getName(), conditionDataList);
-            selectorData.setHandle(handler);
-            // publish change event.
-            eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.SELECTOR, DataEventTypeEnum.UPDATE, 
Collections.singletonList(selectorData)));
+        if (Objects.isNull(selectorDO)) {
+            return;
         }
+
+        PluginDO pluginDO = pluginMapper.selectById(selectorDO.getPluginId());
+        String handler = 
converterFactor.newInstance(pluginDO.getName()).handler(selectorDO.getHandle(), 
aliveList);
+        selectorDO.setHandle(handler);
+        selectorMapper.updateSelective(selectorDO);
+
+        List<ConditionData> conditionDataList = 
ConditionTransfer.INSTANCE.mapToSelectorDOS(
+                selectorConditionMapper.selectByQuery(new 
SelectorConditionQuery(selectorDO.getId())));
+        SelectorData selectorData = SelectorDO.transFrom(selectorDO, 
pluginDO.getName(), conditionDataList);
+        selectorData.setHandle(handler);
+
+        // publish change event.
+        eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.SELECTOR, DataEventTypeEnum.UPDATE, 
Collections.singletonList(selectorData)));
+
     }
-    
+
     /**
      * fetch upstream data from db.
      */
@@ -292,7 +305,7 @@ public class UpstreamCheckService {
         }
         pluginDOList.stream().filter(Objects::nonNull).forEach(pluginDO -> {
             final List<SelectorDO> selectorDOList = 
selectorMapper.findByPluginId(pluginDO.getId());
-            for (SelectorDO selectorDO : selectorDOList) { 
+            for (SelectorDO selectorDO : selectorDOList) {
                 if (Objects.isNull(selectorDO) || 
StringUtils.isBlank(selectorDO.getHandle())) {
                     continue;
                 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
index 17cabb3..fac905c 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/bean/StatelessAuthFilter.java
@@ -44,14 +44,15 @@ public class StatelessAuthFilter extends 
AccessControlFilter {
     private static final String HEAD_TOKEN = "X-Access-Token";
 
     @Override
-    protected boolean isAccessAllowed(final ServletRequest servletRequest, 
final ServletResponse servletResponse,
+    protected boolean isAccessAllowed(final ServletRequest servletRequest,
+                                      final ServletResponse servletResponse,
                                       final Object o) {
         return false;
     }
 
     @Override
-    protected boolean onAccessDenied(final ServletRequest servletRequest, 
final ServletResponse servletResponse)
-            throws Exception {
+    protected boolean onAccessDenied(final ServletRequest servletRequest,
+                                     final ServletResponse servletResponse) 
throws Exception {
         HttpServletRequest httpServletRequest = (HttpServletRequest) 
servletRequest;
         if (StringUtils.equals(HttpMethod.OPTIONS.name(), 
httpServletRequest.getMethod())) {
             return true;
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/config/ShiroRealm.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/config/ShiroRealm.java
index 26ecacf..ef98d30 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/config/ShiroRealm.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/config/ShiroRealm.java
@@ -35,6 +35,7 @@ import org.apache.shiro.realm.AuthorizingRealm;
 import org.apache.shiro.subject.PrincipalCollection;
 import org.springframework.stereotype.Service;
 
+import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -83,7 +84,7 @@ public class ShiroRealm extends AuthorizingRealm {
         }
 
         DashboardUserVO dashboardUserVO = 
dashboardUserService.findByUserName(userName);
-        if (dashboardUserVO == null) {
+        if (Objects.isNull(dashboardUserVO)) {
             throw new AuthenticationException(String.format("userName(%s) can 
not be found.", userName));
         }
 
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/ShenyuResultMessage.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/ShenyuResultMessage.java
index 8d7688c..95dda8b 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/ShenyuResultMessage.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/ShenyuResultMessage.java
@@ -26,8 +26,6 @@ public final class ShenyuResultMessage {
 
     public static final String CREATE_SUCCESS = "create success";
 
-    public static final String CREATE_FAILED = "create failed";
-
     public static final String DELETE_SUCCESS = "delete success";
 
     public static final String UPDATE_SUCCESS = "update success";

Reply via email to