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

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


The following commit(s) were added to refs/heads/master by this push:
     new 996e557f8d7 Make mask syntax consistent with upper and lower case 
(#32755)
996e557f8d7 is described below

commit 996e557f8d713a224a30b7ea56b9aa88e409ce06
Author: yx9o <[email protected]>
AuthorDate: Mon Sep 2 19:13:21 2024 +0800

    Make mask syntax consistent with upper and lower case (#32755)
    
    * Make mask syntax consistent with upper and lower case
    
    * Update
    
    * Update
---
 .../handler/query/ShowMaskRuleExecutor.java        |  2 +-
 .../handler/update/DropMaskRuleExecutor.java       | 12 ++++++-----
 .../handler/query/ShowMaskRuleExecutorTest.java    | 24 ++++++++++++----------
 .../handler/update/DropMaskRuleExecutorTest.java   |  4 ++--
 4 files changed, 23 insertions(+), 19 deletions(-)

diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutor.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutor.java
index da1449dbbb7..02a7ed3a5e1 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutor.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutor.java
@@ -48,7 +48,7 @@ public final class ShowMaskRuleExecutor implements 
DistSQLQueryExecutor<ShowMask
     
     @Override
     public Collection<LocalDataQueryResultRow> getRows(final 
ShowMaskRulesStatement sqlStatement, final ContextManager contextManager) {
-        return rule.getConfiguration().getTables().stream().filter(each -> 
null == sqlStatement.getTableName() || 
each.getName().equals(sqlStatement.getTableName()))
+        return rule.getConfiguration().getTables().stream().filter(each -> 
null == sqlStatement.getTableName() || 
each.getName().equalsIgnoreCase(sqlStatement.getTableName()))
                 .map(each -> buildColumnData(each, 
rule.getConfiguration().getMaskAlgorithms())).flatMap(Collection::stream).collect(Collectors.toList());
     }
     
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
index 11408103a69..1c0e1ba208e 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
@@ -17,12 +17,13 @@
 
 package org.apache.shardingsphere.mask.distsql.handler.update;
 
+import com.cedarsoftware.util.CaseInsensitiveSet;
 import lombok.Setter;
-import 
org.apache.shardingsphere.infra.exception.kernel.metadata.rule.MissingRequiredRuleException;
-import 
org.apache.shardingsphere.distsql.handler.required.DistSQLExecutorCurrentRuleRequired;
 import 
org.apache.shardingsphere.distsql.handler.engine.update.rdl.rule.spi.database.DatabaseRuleDropExecutor;
+import 
org.apache.shardingsphere.distsql.handler.required.DistSQLExecutorCurrentRuleRequired;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.exception.kernel.metadata.rule.MissingRequiredRuleException;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.mask.config.MaskRuleConfiguration;
 import org.apache.shardingsphere.mask.config.rule.MaskColumnRuleConfiguration;
@@ -57,14 +58,15 @@ public final class DropMaskRuleExecutor implements 
DatabaseRuleDropExecutor<Drop
     }
     
     private void checkToBeDroppedMaskTableNames(final DropMaskRuleStatement 
sqlStatement) {
-        Collection<String> currentMaskTableNames = 
rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
+        Collection<String> currentMaskTableNames = 
rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toCollection(CaseInsensitiveSet::new));
         Collection<String> notExistedTableNames = 
sqlStatement.getTables().stream().filter(each -> 
!currentMaskTableNames.contains(each)).collect(Collectors.toList());
         ShardingSpherePreconditions.checkMustEmpty(notExistedTableNames, () -> 
new MissingRequiredRuleException("Mask", database.getName(), 
notExistedTableNames));
     }
     
     @Override
     public boolean hasAnyOneToBeDropped(final DropMaskRuleStatement 
sqlStatement) {
-        return 
!Collections.disjoint(rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toSet()),
 sqlStatement.getTables());
+        return !Collections.disjoint(
+                
rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toCollection(CaseInsensitiveSet::new)),
 sqlStatement.getTables());
     }
     
     @Override
@@ -80,7 +82,7 @@ public final class DropMaskRuleExecutor implements 
DatabaseRuleDropExecutor<Drop
     }
     
     private void dropRule(final String ruleName) {
-        Optional<MaskTableRuleConfiguration> maskTableRuleConfig = 
rule.getConfiguration().getTables().stream().filter(each -> 
each.getName().equals(ruleName)).findAny();
+        Optional<MaskTableRuleConfiguration> maskTableRuleConfig = 
rule.getConfiguration().getTables().stream().filter(each -> 
each.getName().equalsIgnoreCase(ruleName)).findAny();
         maskTableRuleConfig.ifPresent(optional -> 
rule.getConfiguration().getTables().remove(maskTableRuleConfig.get()));
     }
     
diff --git 
a/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutorTest.java
 
b/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutorTest.java
index d6afb238ac3..6a9615127ae 100644
--- 
a/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutorTest.java
+++ 
b/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/query/ShowMaskRuleExecutorTest.java
@@ -50,17 +50,9 @@ class ShowMaskRuleExecutorTest {
     
     @BeforeEach
     void setUp() {
-        engine = new 
DistSQLQueryExecuteEngine(mock(ShowMaskRulesStatement.class), "foo_db", 
mockContextManager(), mock(DistSQLConnectionContext.class));
-    }
-    
-    private ContextManager mockContextManager() {
-        ContextManager result = mock(ContextManager.class, RETURNS_DEEP_STUBS);
-        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
-        when(result.getDatabase("foo_db")).thenReturn(database);
-        MaskRule rule = mock(MaskRule.class);
-        when(rule.getConfiguration()).thenReturn(getRuleConfiguration());
-        
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.of(rule));
-        return result;
+        ShowMaskRulesStatement showMaskRulesStatement = 
mock(ShowMaskRulesStatement.class);
+        when(showMaskRulesStatement.getTableName()).thenReturn("T_MASK");
+        engine = new DistSQLQueryExecuteEngine(showMaskRulesStatement, 
"foo_db", mockContextManager(), mock(DistSQLConnectionContext.class));
     }
     
     @Test
@@ -76,6 +68,16 @@ class ShowMaskRuleExecutorTest {
         assertThat(row.getCell(4), is(""));
     }
     
+    private ContextManager mockContextManager() {
+        ContextManager result = mock(ContextManager.class, RETURNS_DEEP_STUBS);
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(result.getDatabase("foo_db")).thenReturn(database);
+        MaskRule rule = mock(MaskRule.class);
+        when(rule.getConfiguration()).thenReturn(getRuleConfiguration());
+        
when(database.getRuleMetaData().findSingleRule(MaskRule.class)).thenReturn(Optional.of(rule));
+        return result;
+    }
+    
     private MaskRuleConfiguration getRuleConfiguration() {
         MaskColumnRuleConfiguration maskColumnRuleConfig = new 
MaskColumnRuleConfiguration("user_id", "t_mask_user_id_md5");
         MaskTableRuleConfiguration maskTableRuleConfig = new 
MaskTableRuleConfiguration("t_mask", 
Collections.singleton(maskColumnRuleConfig));
diff --git 
a/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutorTest.java
 
b/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutorTest.java
index f9e92997cf8..dfa9f78010e 100644
--- 
a/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutorTest.java
+++ 
b/features/mask/distsql/handler/src/test/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutorTest.java
@@ -61,14 +61,14 @@ class DropMaskRuleExecutorTest {
         MaskRule rule = mock(MaskRule.class);
         when(rule.getConfiguration()).thenReturn(ruleConfig);
         executor.setRule(rule);
-        MaskRuleConfiguration toBeDroppedRuleConfig = 
executor.buildToBeDroppedRuleConfiguration(createSQLStatement(false, "t_mask"));
+        MaskRuleConfiguration toBeDroppedRuleConfig = 
executor.buildToBeDroppedRuleConfiguration(createSQLStatement(false, "T_MASK"));
         assertThat(toBeDroppedRuleConfig.getTables().size(), is(1));
         assertTrue(toBeDroppedRuleConfig.getMaskAlgorithms().isEmpty());
     }
     
     @Test
     void assertUpdateCurrentRuleConfigurationWithIfExists() {
-        DropMaskRuleStatement statement = createSQLStatement(true, "t_user");
+        DropMaskRuleStatement statement = createSQLStatement(true, "T_USER");
         MaskRule rule = mock(MaskRule.class);
         when(rule.getConfiguration()).thenReturn(new 
MaskRuleConfiguration(Collections.emptyList(), Collections.emptyMap()));
         executor.setRule(rule);

Reply via email to