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

hefengen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new e93a35b45 <ISSUE #4928>Fix the error that occurred when submitting 
'unpublished' to apidoc. (#4929)
e93a35b45 is described below

commit e93a35b456c400461f2999c350a160e5fc0dd7b2
Author: lianjunwei <[email protected]>
AuthorDate: Wed Aug 2 09:11:32 2023 +0800

    <ISSUE #4928>Fix the error that occurred when submitting 'unpublished' to 
apidoc. (#4929)
    
    * apidoc sql
    
    * refact
    
    * commit
    
    * [Task] Shenyu-admin: Fix API document failed to build because of NPE.
    
    * [Task] Shenyu-admin: Fix API document failed to build because of NPE.
    
    * solve conficts,modify LICENSE.
    
    * delete useless code.
    
    * delete useless code.
    
    * commit
    
    * [ISSUE #3843]admin apidoc fix: the required attribute prompt is incorrect 
when micro service parameter uses "@ApiModelProperty".
    
    * commit
    
    * [shenyu-examples]add swagger to the example project to test the apidoc 
function of the gateway management system.
    
    * commit
    
    * commit
    
    * commit
    
    * [ISSUE #4690]Supports gzip compression in response to HTTP requests.
    
    * [examples]Add Swagger sample project to demonstrate automatic pull 
interface documentation.
    
    * delete exapmple
    
    * delete useless code.
    
    * delete useless code.
    
    * Fix the SQL error of creating tag.
    
    * fix:The operation 'unpublished' failed for any apidoc.
    
    * commit
    
    * commit
    
    * commit
    
    * commit
    
    * commit
    
    * commit
    
    * fix NPE.
    
    * fix test case.
    
    * unregister apidoc support more rpcType.
    
    * fix code style.
    
    * code style.
    
    * code style.
    
    * fix:No operations allowed after connection closed.
    
    * reset yml.
    
    * swagger apidoc default unpublish.
    
    * When modifying apidoc, it is supported to delete registered apis, but not 
when creating.
    
    ---------
    
    Co-authored-by: lianjunwei <[email protected]>
    Co-authored-by: dragon-zhang <[email protected]>
    Co-authored-by: xiaoyu <[email protected]>
---
 .../apache/shenyu/admin/mapper/SelectorMapper.java |  4 +-
 .../shenyu/admin/service/SelectorService.java      | 50 ++++++++++----
 .../shenyu/admin/service/impl/ApiServiceImpl.java  | 29 ++++----
 .../admin/service/impl/SelectorServiceImpl.java    | 23 ++++++-
 .../admin/service/manager/impl/DocManagerImpl.java |  2 +-
 .../shenyu/admin/mapper/SelectorMapperTest.java    |  8 +--
 .../shenyu/admin/service/SelectorServiceTest.java  | 79 +++++++++++-----------
 7 files changed, 120 insertions(+), 75 deletions(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/SelectorMapper.java 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/SelectorMapper.java
index 28465d9ed..6f58a5291 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/SelectorMapper.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/SelectorMapper.java
@@ -88,9 +88,9 @@ public interface SelectorMapper extends ExistProvider {
      * select select by name.
      *
      * @param name the name
-     * @return selector do
+     * @return selector do list
      */
-    SelectorDO selectByName(String name);
+    List<SelectorDO> selectByName(String name);
     
     /**
      * Find by name and plugin id selector do.
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/SelectorService.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/SelectorService.java
index e97c720d4..e2af7567a 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/SelectorService.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/SelectorService.java
@@ -36,7 +36,7 @@ import java.util.Objects;
  * this is selector service.
  */
 public interface SelectorService extends PageService<SelectorQueryCondition, 
SelectorVO> {
-    
+
     /**
      * Register string.
      *
@@ -44,7 +44,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return the string
      */
     String registerDefault(SelectorDTO selectorDTO);
-    
+
     /**
      * handler selector need upstream check.
      *
@@ -54,7 +54,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return the id of selector.
      */
     String registerDefault(MetaDataRegisterDTO dto, String pluginName, String 
selectorHandler);
-    
+
     /**
      * create or update selector.
      *
@@ -73,7 +73,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
         }
         return StringUtils.isEmpty(selectorDTO.getId()) ? create(selectorDTO) 
: update(selectorDTO);
     }
-    
+
     /**
      * create  selector.
      * <ul>
@@ -87,7 +87,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return rows int
      */
     int create(SelectorDTO selectorDTO);
-    
+
     /**
      * update selector.
      *
@@ -95,7 +95,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return rows int
      */
     int update(SelectorDTO selectorDTO);
-    
+
     /**
      * update selective selector.
      *
@@ -103,7 +103,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return rows int
      */
     int updateSelective(SelectorDO selectorDO);
-    
+
     /**
      * delete selectors.
      *
@@ -111,7 +111,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return rows int
      */
     int delete(List<String> ids);
-    
+
     /**
      * find selector by id.
      *
@@ -119,15 +119,26 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return {@linkplain SelectorVO}
      */
     SelectorVO findById(String id);
-    
+
     /**
      * find selector by name.
      *
      * @param name the name
      * @return selector do
+     * @deprecated sice 2.6.0  Deprecated. By querying under this condition, 
multiple data are usually obtained.
+     *              Therefore, it is recommended to: {@linkplain 
SelectorService#findListByName(java.lang.String)}
      */
+    @Deprecated
     SelectorDO findByName(String name);
 
+    /**
+     * find selector list by name.
+     *
+     * @param name name
+     * @return list
+     */
+    List<SelectorDO> findListByName(String name);
+
     /**
      * Find by name and plugin id selector do.
      *
@@ -136,7 +147,16 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return the selector do
      */
     SelectorDO findByNameAndPluginName(String name, String pluginName);
-    
+
+    /**
+     * Find selectorDO list by name and plugin name list.
+     *
+     * @param name        name
+     * @param pluginNames pluginNames
+     * @return selectorDO list
+     */
+    List<SelectorDO> findByNameAndPluginNames(String name, List<String> 
pluginNames);
+
     /**
      * Build by name selector data.
      *
@@ -144,7 +164,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return the selector data
      */
     SelectorData buildByName(String name);
-    
+
     /**
      * Build by name selector data.
      *
@@ -153,7 +173,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return the selector data
      */
     SelectorData buildByName(String name, String pluginName);
-    
+
     /**
      * find page of selector by query.
      *
@@ -161,7 +181,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return {@linkplain CommonPager}
      */
     CommonPager<SelectorVO> listByPageWithPermission(SelectorQuery 
selectorQuery);
-    
+
     /**
      * find page of selector by query.
      *
@@ -169,7 +189,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return CommonPager
      */
     CommonPager<SelectorVO> listByPage(SelectorQuery selectorQuery);
-    
+
     /**
      * Find by plugin id list.
      *
@@ -177,7 +197,7 @@ public interface SelectorService extends 
PageService<SelectorQueryCondition, Sel
      * @return the list
      */
     List<SelectorData> findByPluginId(String pluginId);
-    
+
     /**
      * List all list.
      *
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ApiServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ApiServiceImpl.java
index 9bf241ffe..d6c6e6d51 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ApiServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ApiServiceImpl.java
@@ -18,6 +18,7 @@
 package org.apache.shenyu.admin.service.impl;
 
 import com.google.common.collect.Lists;
+import java.util.ArrayList;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import 
org.apache.shenyu.admin.disruptor.RegisterClientServerDisruptorPublisher;
@@ -27,6 +28,7 @@ import org.apache.shenyu.admin.mapper.TagRelationMapper;
 import org.apache.shenyu.admin.model.bean.DocItem;
 import org.apache.shenyu.admin.model.dto.ApiDTO;
 import org.apache.shenyu.admin.model.entity.ApiDO;
+import org.apache.shenyu.admin.model.entity.SelectorDO;
 import org.apache.shenyu.admin.model.entity.TagDO;
 import org.apache.shenyu.admin.model.entity.TagRelationDO;
 import org.apache.shenyu.admin.model.page.CommonPager;
@@ -39,6 +41,7 @@ import org.apache.shenyu.admin.model.vo.RuleVO;
 import org.apache.shenyu.admin.model.vo.TagVO;
 import org.apache.shenyu.admin.service.ApiService;
 import org.apache.shenyu.common.enums.ApiSourceEnum;
+import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.JsonUtils;
 import org.apache.shenyu.common.utils.ListUtil;
 import org.apache.shenyu.admin.service.MetaDataService;
@@ -125,7 +128,7 @@ public class ApiServiceImpl implements ApiService {
             if (ApiStateEnum.PUBLISHED.getState() == apiDO.getState()) {
                 register(apiDO);
             } else if (ApiStateEnum.OFFLINE.getState() == apiDO.getState()) {
-                unregister(apiDO);
+                removeRegister(apiDO);
             }
         }
         return ShenyuResultMessage.UPDATE_SUCCESS;
@@ -156,14 +159,12 @@ public class ApiServiceImpl implements ApiService {
             }
             if (ApiStateEnum.PUBLISHED.getState() == apiDO.getState()) {
                 register(apiDO);
-            } else if (ApiStateEnum.OFFLINE.getState() == apiDO.getState()) {
-                unregister(apiDO);
             }
         }
         return ShenyuResultMessage.CREATE_SUCCESS;
     }
 
-    private void unregister(final ApiDO apiDO) {
+    private void removeRegister(final ApiDO apiDO) {
         final String path = apiDO.getApiPath();
         RuleQueryCondition condition = new RuleQueryCondition();
         condition.setKeyword(path);
@@ -176,14 +177,18 @@ public class ApiServiceImpl implements ApiService {
                     .collect(Collectors.toList()));
         }
         //clean selector
-        Optional.ofNullable(selectorService.findByName(apiDO.getContextPath()))
-                .ifPresent(selectorDO -> {
-                    final String selectorId = selectorDO.getId();
-                    final List<RuleData> data = 
ruleService.findBySelectorId(selectorId);
-                    if (CollectionUtils.isEmpty(data)) {
-                        selectorService.delete(Lists.newArrayList(selectorId));
-                    }
-                });
+        List<SelectorDO> selectorDOList = 
selectorService.findByNameAndPluginNames(apiDO.getContextPath(), 
PluginEnum.getUpstreamNames());
+        ArrayList<String> selectorIds = Lists.newArrayList();
+        
Optional.ofNullable(selectorDOList).orElseGet(ArrayList::new).stream().forEach(selectorDO
 -> {
+            final String selectorId = selectorDO.getId();
+            final List<RuleData> data = 
ruleService.findBySelectorId(selectorId);
+            if (CollectionUtils.isEmpty(data)) {
+                selectorIds.add(selectorId);
+            }
+        });
+        if (CollectionUtils.isNotEmpty(selectorIds)) {
+            selectorService.delete(selectorIds);
+        }
         //clean metadata
         Optional.ofNullable(metaDataService.findByPath(path))
                 .ifPresent(metaDataDO -> 
metaDataService.delete(Lists.newArrayList(metaDataDO.getId())));
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
index 06eeeed62..afcc8ef23 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
@@ -241,11 +241,17 @@ public class SelectorServiceImpl implements 
SelectorService {
 
     @Override
     public SelectorDO findByName(final String name) {
+        List<SelectorDO> doList = selectorMapper.selectByName(name);
+        return CollectionUtils.isNotEmpty(doList) ? doList.get(0) : null;
+    }
+
+    @Override
+    public List<SelectorDO> findListByName(final String name) {
         return selectorMapper.selectByName(name);
     }
 
     /**
-     * Find by name and plugin id selector do.
+     * Find selectorDO by name and plugin name.
      *
      * @param name       the name
      * @param pluginName the plugin name
@@ -257,9 +263,22 @@ public class SelectorServiceImpl implements 
SelectorService {
         return selectorMapper.findByNameAndPluginId(name, pluginDO.getId());
     }
 
+    @Override
+    public List<SelectorDO> findByNameAndPluginNames(final String name, final 
List<String> pluginNames) {
+        final List<PluginDO> pluginDOList = 
pluginMapper.selectByNames(pluginNames);
+        if (CollectionUtils.isEmpty(pluginDOList)) {
+            return Lists.newArrayList();
+        }
+        List<String> pluginIds = pluginDOList.stream().map(it -> 
it.getId()).collect(Collectors.toList());
+        SelectorQuery selectorQuery = new SelectorQuery();
+        selectorQuery.setName(name);
+        selectorQuery.setPluginIds(pluginIds);
+        return selectorMapper.selectByQuery(selectorQuery);
+    }
+
     @Override
     public SelectorData buildByName(final String name) {
-        return buildSelectorData(selectorMapper.selectByName(name));
+        return buildSelectorData(this.findByName(name));
     }
 
     /**
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
index ec378407b..f65904606 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
@@ -112,7 +112,7 @@ public class DocManagerImpl implements DocManager {
                 .tags(Collections.singletonList(docInfo.getContextPath()))
                 .apiPath(docItem.getName())
                 .apiSource(ApiSourceEnum.SWAGGER.getValue())
-                .state(ApiStateEnum.PUBLISHED.getState())
+                .state(ApiStateEnum.UNPUBLISHED.getState())
                 .apiOwner("admin")
                 .eventType(EventType.REGISTER)
                 .build();
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/SelectorMapperTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/SelectorMapperTest.java
index 0aff02383..7a6f810a4 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/SelectorMapperTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/SelectorMapperTest.java
@@ -114,10 +114,10 @@ public final class SelectorMapperTest extends 
AbstractSpringIntegrationTest {
         SelectorDO selectorDO = buildSelectorDO();
         int insert = selectorMapper.insert(selectorDO);
         assertEquals(1, insert);
-
-        SelectorDO selector = 
selectorMapper.selectByName(selectorDO.getName());
-        assertNotNull(selector);
-        assertEquals(selectorDO.getName(), selector.getName());
+        List<SelectorDO> doList = 
selectorMapper.selectByName(selectorDO.getName());
+        assertEquals(doList.size(), 1);
+        assertNotNull(doList.get(0));
+        assertEquals(selectorDO.getName(), doList.get(0).getName());
 
         int delete = selectorMapper.delete(selectorDO.getId());
         assertEquals(1, delete);
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SelectorServiceTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SelectorServiceTest.java
index 021bce244..228871e71 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SelectorServiceTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SelectorServiceTest.java
@@ -82,79 +82,79 @@ import static org.mockito.Mockito.when;
 @ExtendWith(MockitoExtension.class)
 @MockitoSettings(strictness = Strictness.LENIENT)
 public final class SelectorServiceTest {
-    
+
     @InjectMocks
     private SelectorServiceImpl selectorService;
-    
+
     @Mock
     private SelectorMapper selectorMapper;
-    
+
     @Mock
     private SelectorConditionMapper selectorConditionMapper;
-    
+
     @Mock
     private PluginMapper pluginMapper;
-    
+
     @Mock
     private RuleMapper ruleMapper;
-    
+
     @Mock
     private DataPermissionMapper dataPermissionMapper;
-    
+
     @Mock
     private ApplicationEventPublisher eventPublisher;
-    
+
     @Mock
     private SelectorEventPublisher selectorEventPublisher;
-    
+
     @BeforeEach
     public void setUp() {
         
when(dataPermissionMapper.listByUserId("1")).thenReturn(Collections.singletonList(DataPermissionDO.buildPermissionDO(new
 DataPermissionDTO())));
         selectorService = new SelectorServiceImpl(selectorMapper, 
selectorConditionMapper, pluginMapper, eventPublisher, selectorEventPublisher);
     }
-    
+
     @Test
     public void testRegister() {
         publishEvent();
         testRegisterCreate();
         testRegisterUpdate();
     }
-    
+
     @Test
     public void testCreateOrUpdate() {
         publishEvent();
         testUpdate();
         testCreate();
     }
-    
+
     @Test
     public void testDelete() {
         final String correctId = "456";
-        
+
         // mock basic objects for delete.
         SelectorDO mockedSelectorDO = buildSelectorDO();
         PluginDO mockedPluginDO = buildPluginDO();
         
given(pluginMapper.selectByIds(Collections.singletonList(mockedSelectorDO.getPluginId()))).willReturn(Collections.singletonList(mockedPluginDO));
         
given(selectorMapper.selectByIdSet(Stream.of(correctId).collect(Collectors.toSet()))).willReturn(Collections.singletonList(mockedSelectorDO));
-        
+
         // mock for test if divide selector delete.
 //        
when(mockedPluginDO.getName()).thenReturn(PluginEnum.DIVIDE.getName());
 //        when(mockedSelectorDO.getName()).thenReturn("anyString");
-        
+
         // mock objects for test delete rule and ruleCondition.
         List<RuleDO> mockedRuleDOList = mock(List.class);
         
given(ruleMapper.findBySelectorIds(Collections.singletonList(correctId))).willReturn(mockedRuleDOList);
-        
+
         // mock for test for-each statement.
 //        RuleDO mockedRuleDo = mock(RuleDO.class);
 //        
when(ruleMapper.deleteByIds(Collections.singletonList(mockedRuleDo.getId()))).thenReturn(1);
 //        
when(ruleConditionMapper.deleteByRuleIds(Collections.singletonList(mockedRuleDo.getId()))).thenReturn(1);
-        
+
         final List<String> ids = Collections.singletonList(correctId);
         given(selectorMapper.deleteByIds(ids)).willReturn(ids.size());
         assertEquals(selectorService.delete(ids), ids.size());
     }
-    
+
     @Test
     public void testFindById() {
         SelectorDO selectorDO = buildSelectorDO();
@@ -162,20 +162,21 @@ public final class SelectorServiceTest {
         SelectorVO selectorVO = this.selectorService.findById("123");
         assertNotNull(selectorDO);
         assertEquals(selectorVO.getId(), selectorDO.getId());
-        
+
         List<SelectorConditionVO> selectorConditions = 
selectorVO.getSelectorConditions();
         selectorConditions.forEach(selectorConditionVO -> 
assertEquals(selectorConditionVO.getSelectorId(), selectorDO.getId()));
     }
     
     @Test
     public void testFindByName() {
-        SelectorDO selectorDO1 = buildSelectorDO();
-        
given(this.selectorMapper.selectByName(eq("kuan"))).willReturn(selectorDO1);
+        List<SelectorDO> selectorDO1List = 
Collections.singletonList(buildSelectorDO());
+        
given(this.selectorMapper.selectByName(eq("kuan"))).willReturn(selectorDO1List);
         SelectorDO selectorDO2 = this.selectorService.findByName("kuan");
         assertNotNull(selectorDO2);
-        assertEquals(selectorDO1.getId(), selectorDO2.getId());
+        assertEquals(selectorDO1List.size(), 1);
+        assertEquals(selectorDO1List.get(0).getId(), selectorDO2.getId());
     }
-    
+
     @Test
     public void testListByPage() {
         final List<SelectorDO> selectorDOs = buildSelectorDOList();
@@ -185,14 +186,14 @@ public final class SelectorServiceTest {
         assertThat(result, notNullValue());
         assertEquals(selectorDOs.size(), result.getDataList().size());
     }
-    
+
     @Test
     public void testFindByPluginId() {
-        
+
         List<SelectorData> res = this.selectorService.findByPluginId("789");
         res.forEach(selectorData -> assertEquals("789", 
selectorData.getPluginId()));
     }
-    
+
     @Test
     public void testListAll() {
         final List<SelectorDO> selectorDOs = buildSelectorDOList();
@@ -202,23 +203,23 @@ public final class SelectorServiceTest {
         assertNotNull(dataList);
         assertEquals(selectorDOs.size(), dataList.size());
     }
-    
+
     @Test
     public void testHandlerSelectorNeedUpstreamCheck() {
         publishEvent();
-        
+
         // Test the situation where the selector cannot be found based on the 
contextPath.
         given(pluginMapper.selectByName("test")).willReturn(buildPluginDO());
         
assertNotNull(selectorService.registerDefault(buildMetaDataRegisterDTO(), 
"test", ""));
     }
-    
+
     private void testUpdate() {
         SelectorDTO selectorDTO = buildSelectorDTO("456");
         selectorDTO.setPluginId("789");
         given(this.selectorMapper.updateSelective(any())).willReturn(1);
         assertThat(this.selectorService.createOrUpdate(selectorDTO), 
greaterThan(0));
     }
-    
+
     private void testCreate() {
         try (MockedStatic<JwtUtils> mocked = mockStatic(JwtUtils.class)) {
             mocked.when(JwtUtils::getUserInfo)
@@ -229,7 +230,7 @@ public final class SelectorServiceTest {
             assertThat(this.selectorService.createOrUpdate(selectorDTO), 
greaterThan(0));
         }
     }
-    
+
     private void testRegisterCreate() {
         SelectorDTO selectorDTO = buildSelectorDTO("");
         SelectorDO selectorDO = SelectorDO.buildSelectorDO(selectorDTO);
@@ -237,26 +238,26 @@ public final class SelectorServiceTest {
         assertNotNull(selectorId);
         assertEquals(selectorId.length(), selectorDO.getId().length());
     }
-    
+
     private void testRegisterUpdate() {
         SelectorDTO selectorDTO = buildSelectorDTO("456");
         String selectorId = this.selectorService.registerDefault(selectorDTO);
         assertNotNull(selectorId);
         assertEquals(selectorId, selectorDTO.getId());
     }
-    
+
     private void publishEvent() {
         PluginDO pluginDO = buildPluginDO();
         given(this.pluginMapper.selectById(anyString())).willReturn(pluginDO);
     }
-    
+
     private PluginDO buildPluginDO() {
         PluginDO pluginDO = new PluginDO();
         pluginDO.setName("test");
         pluginDO.setId("789");
         return pluginDO;
     }
-    
+
     private SelectorDO buildSelectorDO() {
         SelectorDTO selectorDTO = new SelectorDTO();
         selectorDTO.setId("456");
@@ -277,7 +278,7 @@ public final class SelectorServiceTest {
         selectorDO.setDateUpdated(now);
         return selectorDO;
     }
-    
+
     private SelectorDTO buildSelectorDTO(final String id) {
         SelectorDTO selectorDTO = new SelectorDTO();
         if (StringUtils.isNotBlank(id)) {
@@ -302,18 +303,18 @@ public final class SelectorServiceTest {
         selectorDTO.setSelectorConditions(Arrays.asList(selectorConditionDTO1, 
selectorConditionDTO2, selectorConditionDTO3));
         return selectorDTO;
     }
-    
+
     private List<SelectorDO> buildSelectorDOList() {
         return Collections.singletonList(buildSelectorDO());
     }
-    
+
     private SelectorQuery buildSelectorQuery() {
         SelectorQuery selectorQuery = new SelectorQuery();
         selectorQuery.setPluginId("789");
         selectorQuery.setPageParameter(new PageParameter());
         return selectorQuery;
     }
-    
+
     private MetaDataRegisterDTO buildMetaDataRegisterDTO() {
         MetaDataRegisterDTO metaDataRegisterDTO = new MetaDataRegisterDTO();
         metaDataRegisterDTO.setAppName("test");

Reply via email to