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

zhaojinchao 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 4661010eee1 Refactor EncryptRuleConfigurationChecker and 
MaskRuleConfigurationChecker (#30640)
4661010eee1 is described below

commit 4661010eee1d05725052b982282dc3d7bef88aed
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Mar 25 21:26:13 2024 +0800

    Refactor EncryptRuleConfigurationChecker and MaskRuleConfigurationChecker 
(#30640)
    
    * Refactor RuleConfigurationCheckEngine
    
    * Refactor RuleConfigurationCheckEngine
    
    * Add RuleConfigurationChecker.getTableNames()
    
    * Refactor EncryptRuleConfigurationChecker
    
    * Refactor MaskRuleConfigurationChecker
---
 .../encrypt/checker/EncryptRuleConfigurationChecker.java   | 12 +++++++-----
 .../mask/checker/MaskRuleConfigurationChecker.java         | 14 ++++++++------
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
index 59d958a9ceb..c0f0abe98b4 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
@@ -60,11 +60,13 @@ public final class EncryptRuleConfigurationChecker 
implements RuleConfigurationC
     }
     
     private void checkColumns(final String databaseName, final 
EncryptTableRuleConfiguration tableRuleConfig, final Map<String, 
AlgorithmConfiguration> encryptors) {
-        for (EncryptColumnRuleConfiguration each : 
tableRuleConfig.getColumns()) {
-            checkCipherColumn(databaseName, tableRuleConfig.getName(), 
each.getName(), each.getCipher(), encryptors);
-            each.getAssistedQuery().ifPresent(optional -> 
checkAssistColumn(databaseName, tableRuleConfig.getName(), each.getName(), 
optional, encryptors));
-            each.getLikeQuery().ifPresent(optional -> 
checkLikeColumn(databaseName, tableRuleConfig.getName(), each.getName(), 
optional, encryptors));
-        }
+        tableRuleConfig.getColumns().forEach(each -> checkColumn(databaseName, 
tableRuleConfig.getName(), each, encryptors));
+    }
+    
+    private void checkColumn(final String databaseName, final String 
tableName, final EncryptColumnRuleConfiguration columnRuleConfig, final 
Map<String, AlgorithmConfiguration> encryptors) {
+        checkCipherColumn(databaseName, tableName, columnRuleConfig.getName(), 
columnRuleConfig.getCipher(), encryptors);
+        columnRuleConfig.getAssistedQuery().ifPresent(optional -> 
checkAssistColumn(databaseName, tableName, columnRuleConfig.getName(), 
optional, encryptors));
+        columnRuleConfig.getLikeQuery().ifPresent(optional -> 
checkLikeColumn(databaseName, tableName, columnRuleConfig.getName(), optional, 
encryptors));
     }
     
     private void checkCipherColumn(final String databaseName, final String 
tableName, final String logicColumnName,
diff --git 
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
 
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
index 0b21d98b86d..4a5d7c70471 100644
--- 
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
+++ 
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
@@ -50,14 +50,16 @@ public final class MaskRuleConfigurationChecker implements 
RuleConfigurationChec
     }
     
     private void checkTables(final String databaseName, final 
Collection<MaskTableRuleConfiguration> tables, final Map<String, 
AlgorithmConfiguration> maskAlgorithms) {
-        tables.forEach(each -> checkColumns(databaseName, each.getName(), 
each.getColumns(), maskAlgorithms));
+        tables.forEach(each -> checkColumns(databaseName, each, 
maskAlgorithms));
     }
     
-    private void checkColumns(final String databaseName, final String 
tableName, final Collection<MaskColumnRuleConfiguration> columns, final 
Map<String, AlgorithmConfiguration> maskAlgorithms) {
-        for (MaskColumnRuleConfiguration each : columns) {
-            
ShardingSpherePreconditions.checkState(maskAlgorithms.containsKey(each.getMaskAlgorithm()),
-                    () -> new AlgorithmNotFoundOnColumnException("mask", 
each.getMaskAlgorithm(), databaseName, tableName, each.getLogicColumn()));
-        }
+    private void checkColumns(final String databaseName, final 
MaskTableRuleConfiguration tableRuleConfig, final Map<String, 
AlgorithmConfiguration> maskAlgorithms) {
+        tableRuleConfig.getColumns().forEach(each -> checkColumn(databaseName, 
tableRuleConfig.getName(), each, maskAlgorithms));
+    }
+    
+    private void checkColumn(final String databaseName, final String 
tableName, final MaskColumnRuleConfiguration columnRuleConfig, final 
Map<String, AlgorithmConfiguration> maskAlgorithms) {
+        
ShardingSpherePreconditions.checkState(maskAlgorithms.containsKey(columnRuleConfig.getMaskAlgorithm()),
+                () -> new AlgorithmNotFoundOnColumnException("mask", 
columnRuleConfig.getMaskAlgorithm(), databaseName, tableName, 
columnRuleConfig.getLogicColumn()));
     }
     
     @Override

Reply via email to