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

zhangliang 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 2bba5601d73 modify auditStrategies to auditStrategy (#18720)
2bba5601d73 is described below

commit 2bba5601d73b4e018e55ea1ffdbebeeaf1b26c6f
Author: natehuang <natehu...@tencent.com>
AuthorDate: Thu Jun 30 14:24:34 2022 +0800

    modify auditStrategies to auditStrategy (#18720)
---
 .../sharding/api/config/ShardingRuleConfiguration.java   |  2 +-
 .../audit/ShardingAuditStrategyConfiguration.java        | 10 ++++++----
 .../AlgorithmProvidedShardingRuleConfiguration.java      |  2 +-
 .../sharding/checker/audit/ShardingAuditChecker.java     |  6 ++----
 .../shardingsphere/sharding/rule/ShardingRule.java       | 10 +++++-----
 .../yaml/config/YamlShardingRuleConfiguration.java       |  2 +-
 .../audit/YamlShardingAuditStrategyConfiguration.java    |  6 ++++--
 ...ingRuleAlgorithmProviderConfigurationYamlSwapper.java | 16 ++++++++++------
 .../swapper/ShardingRuleConfigurationYamlSwapper.java    | 16 ++++++++++------
 .../ShardingAuditStrategyConfigurationYamlSwapper.java   |  4 ++--
 10 files changed, 42 insertions(+), 32 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
index 2c207ceee34..7ef6fde8f8e 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
@@ -57,7 +57,7 @@ public final class ShardingRuleConfiguration implements 
DatabaseRuleConfiguratio
     
     private String defaultShardingColumn;
     
-    private Map<String, ShardingAuditStrategyConfiguration> auditStrategies = 
new LinkedHashMap<>();
+    private ShardingAuditStrategyConfiguration auditStrategy;
     
     private Map<String, ShardingSphereAlgorithmConfiguration> 
shardingAlgorithms = new LinkedHashMap<>();
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/audit/ShardingAuditStrategyConfiguration.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/audit/ShardingAuditStrategyConfiguration.java
index 55c42768c4b..045d0fdd3a4 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/audit/ShardingAuditStrategyConfiguration.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/strategy/audit/ShardingAuditStrategyConfiguration.java
@@ -18,21 +18,23 @@
 package org.apache.shardingsphere.sharding.api.config.strategy.audit;
 
 import com.google.common.base.Preconditions;
+import java.util.Collection;
 import lombok.Getter;
 
 /**
  * Sharding audit strategy configuration.
  */
+
 @Getter
 public final class ShardingAuditStrategyConfiguration {
     
-    private final String auditAlgorithmName;
+    private final Collection<String> auditAlgorithmNames;
     
     private final boolean allowHintDisable;
     
-    public ShardingAuditStrategyConfiguration(final String auditAlgorithmName, 
final boolean allowHintDisable) {
-        Preconditions.checkNotNull(auditAlgorithmName, "Sharding audit 
algorithm name is required.");
-        this.auditAlgorithmName = auditAlgorithmName;
+    public ShardingAuditStrategyConfiguration(final Collection<String> 
auditAlgorithmNames, final boolean allowHintDisable) {
+        Preconditions.checkNotNull(auditAlgorithmNames, "Sharding audit 
algorithm names is required.");
+        this.auditAlgorithmNames = auditAlgorithmNames;
         this.allowHintDisable = allowHintDisable;
     }
 }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
index a20b4684f9b..932c9b6ad9a 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
@@ -58,7 +58,7 @@ public final class AlgorithmProvidedShardingRuleConfiguration 
implements Databas
     
     private String defaultShardingColumn;
     
-    private Map<String, ShardingAuditStrategyConfiguration> auditStrategies = 
new LinkedHashMap<>();
+    private ShardingAuditStrategyConfiguration auditStrategy;
     
     private Map<String, ShardingAlgorithm> shardingAlgorithms = new 
LinkedHashMap<>();
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/checker/audit/ShardingAuditChecker.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/checker/audit/ShardingAuditChecker.java
index d58ae646054..59c73478ab7 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/checker/audit/ShardingAuditChecker.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/checker/audit/ShardingAuditChecker.java
@@ -21,14 +21,12 @@ import org.apache.shardingsphere.infra.check.SQLCheckResult;
 import org.apache.shardingsphere.infra.executor.check.SQLChecker;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.metadata.user.Grantee;
-import 
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
 import org.apache.shardingsphere.sharding.constant.ShardingOrder;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.function.BiPredicate;
 
 /**
@@ -44,8 +42,8 @@ public final class ShardingAuditChecker implements 
SQLChecker<ShardingRule> {
     @Override
     public SQLCheckResult check(final SQLStatement sqlStatement, final 
List<Object> parameters, final Grantee grantee,
                                 final String currentDatabase, final 
Map<String, ShardingSphereDatabase> databases, final ShardingRule rule) {
-        for (Entry<String, ShardingAuditStrategyConfiguration> entry : 
rule.getAuditStrategies().entrySet()) {
-            SQLCheckResult result = 
rule.getAuditAlgorithms().get(entry.getValue().getAuditAlgorithmName()).check(sqlStatement,
 parameters, grantee, databases.get(currentDatabase));
+        for (String each : 
rule.getAuditStrategyConfig().getAuditAlgorithmNames()) {
+            SQLCheckResult result = 
rule.getAuditAlgorithms().get(each).check(sqlStatement, parameters, grantee, 
databases.get(currentDatabase));
             if (!result.isPassed()) {
                 return result;
             }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
index ad65c20e89a..ee827159edb 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/ShardingRule.java
@@ -113,7 +113,7 @@ public final class ShardingRule implements DatabaseRule, 
DataNodeContainedRule,
     
     private final Map<String, Collection<DataNode>> shardingTableDataNodes;
     
-    private final Map<String, ShardingAuditStrategyConfiguration> 
auditStrategies;
+    private final ShardingAuditStrategyConfiguration auditStrategyConfig;
     
     public ShardingRule(final ShardingRuleConfiguration config, final 
Collection<String> dataSourceNames) {
         configuration = config;
@@ -135,8 +135,8 @@ public final class ShardingRule implements DatabaseRule, 
DataNodeContainedRule,
         
Preconditions.checkArgument(isValidBindingTableConfiguration(tableRules, new 
BindingTableCheckedConfiguration(this.dataSourceNames, shardingAlgorithms, 
config.getBindingTableGroups(),
                 broadcastTables, defaultDatabaseShardingStrategyConfig, 
defaultTableShardingStrategyConfig, defaultShardingColumn)),
                 "Invalid binding table configuration in 
ShardingRuleConfiguration.");
-        auditStrategies = null == config.getAuditStrategies() ? 
Collections.emptyMap() : config.getAuditStrategies();
-        
Preconditions.checkArgument(auditStrategies.values().stream().allMatch(each -> 
auditAlgorithms.containsKey(each.getAuditAlgorithmName())), "Cannot find 
sharding audit algorithm");
+        auditStrategyConfig = null == config.getAuditStrategy() ? new 
ShardingAuditStrategyConfiguration(Collections.emptyList(), true) : 
config.getAuditStrategy();
+        
Preconditions.checkArgument(auditStrategyConfig.getAuditAlgorithmNames().stream().allMatch(auditAlgorithms::containsKey),
 "Cannot find sharding audit algorithm");
     }
     
     public ShardingRule(final AlgorithmProvidedShardingRuleConfiguration 
config, final Collection<String> dataSourceNames) {
@@ -159,8 +159,8 @@ public final class ShardingRule implements DatabaseRule, 
DataNodeContainedRule,
         
Preconditions.checkArgument(isValidBindingTableConfiguration(tableRules, new 
BindingTableCheckedConfiguration(this.dataSourceNames, shardingAlgorithms, 
config.getBindingTableGroups(),
                 broadcastTables, defaultDatabaseShardingStrategyConfig, 
defaultTableShardingStrategyConfig, defaultShardingColumn)),
                 "Invalid binding table configuration in 
ShardingRuleConfiguration.");
-        auditStrategies = null == config.getAuditStrategies() ? 
Collections.emptyMap() : config.getAuditStrategies();
-        
Preconditions.checkArgument(auditStrategies.values().stream().allMatch(each -> 
auditAlgorithms.containsKey(each.getAuditAlgorithmName())), "Cannot find 
sharding audit algorithm");
+        auditStrategyConfig = null == config.getAuditStrategy() ? new 
ShardingAuditStrategyConfiguration(Collections.emptyList(), true) : 
config.getAuditStrategy();
+        
Preconditions.checkArgument(auditStrategyConfig.getAuditAlgorithmNames().stream().allMatch(auditAlgorithms::containsKey),
 "Cannot find sharding audit algorithm");
     }
     
     private Map<String, Collection<DataNode>> 
createShardingTableDataNodes(final Map<String, TableRule> tableRules) {
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/YamlShardingRuleConfiguration.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/YamlShardingRuleConfiguration.java
index b8a95a0ae95..a2f1d9f7403 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/YamlShardingRuleConfiguration.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/YamlShardingRuleConfiguration.java
@@ -55,7 +55,7 @@ public final class YamlShardingRuleConfiguration implements 
YamlRuleConfiguratio
     
     private YamlKeyGenerateStrategyConfiguration defaultKeyGenerateStrategy;
     
-    private Map<String, YamlShardingAuditStrategyConfiguration> 
auditStrategies = new LinkedHashMap<>();
+    private YamlShardingAuditStrategyConfiguration auditStrategy;
     
     private Map<String, YamlShardingSphereAlgorithmConfiguration> 
shardingAlgorithms = new LinkedHashMap<>();
     
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/strategy/audit/YamlShardingAuditStrategyConfiguration.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/strategy/audit/YamlShardingAuditStrategyConfiguration.java
index 3775fd093df..0e96967e225 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/strategy/audit/YamlShardingAuditStrategyConfiguration.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/config/strategy/audit/YamlShardingAuditStrategyConfiguration.java
@@ -21,6 +21,8 @@ import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.infra.yaml.config.pojo.YamlConfiguration;
 
+import java.util.Collection;
+
 /**
  * Sharing audit strategy configuration for YAML.
  */
@@ -28,7 +30,7 @@ import 
org.apache.shardingsphere.infra.yaml.config.pojo.YamlConfiguration;
 @Setter
 public final class YamlShardingAuditStrategyConfiguration implements 
YamlConfiguration {
     
-    private String auditAlgorithmName;
+    private Collection<String> auditAlgorithmNames;
     
-    private boolean allowHintDisable;
+    private boolean allowHintDisable = true;
 }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleAlgorithmProviderConfigurationYamlSwapper.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleAlgorithmProviderConfigurationYamlSwapper.java
index db329c09798..8e4846ec941 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleAlgorithmProviderConfigurationYamlSwapper.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleAlgorithmProviderConfigurationYamlSwapper.java
@@ -54,13 +54,12 @@ public final class 
ShardingRuleAlgorithmProviderConfigurationYamlSwapper impleme
                 .swapToYamlConfiguration(each)));
         result.getBindingTables().addAll(data.getBindingTableGroups());
         result.getBroadcastTables().addAll(data.getBroadcastTables());
-        setYamlDefaultStrategies(data, result);
+        setYamlStrategies(data, result);
         setYamlAlgorithms(data, result);
-        data.getAuditStrategies().forEach((key, value) -> 
result.getAuditStrategies().put(key, 
auditStrategyYamlSwapper.swapToYamlConfiguration(value)));
         return result;
     }
     
-    private void setYamlDefaultStrategies(final 
AlgorithmProvidedShardingRuleConfiguration data, final 
YamlShardingRuleConfiguration yamlConfig) {
+    private void setYamlStrategies(final 
AlgorithmProvidedShardingRuleConfiguration data, final 
YamlShardingRuleConfiguration yamlConfig) {
         if (null != data.getDefaultDatabaseShardingStrategy()) {
             
yamlConfig.setDefaultDatabaseStrategy(shardingStrategyYamlSwapper.swapToYamlConfiguration(data.getDefaultDatabaseShardingStrategy()));
         }
@@ -70,6 +69,9 @@ public final class 
ShardingRuleAlgorithmProviderConfigurationYamlSwapper impleme
         if (null != data.getDefaultKeyGenerateStrategy()) {
             
yamlConfig.setDefaultKeyGenerateStrategy(keyGenerateStrategyYamlSwapper.swapToYamlConfiguration(data.getDefaultKeyGenerateStrategy()));
         }
+        if (null != data.getAuditStrategy()) {
+            
yamlConfig.setAuditStrategy(auditStrategyYamlSwapper.swapToYamlConfiguration(data.getAuditStrategy()));
+        }
     }
     
     private void setYamlAlgorithms(final 
AlgorithmProvidedShardingRuleConfiguration data, final 
YamlShardingRuleConfiguration yamlConfig) {
@@ -100,13 +102,12 @@ public final class 
ShardingRuleAlgorithmProviderConfigurationYamlSwapper impleme
         }
         result.getBindingTableGroups().addAll(yamlConfig.getBindingTables());
         result.getBroadcastTables().addAll(yamlConfig.getBroadcastTables());
-        setDefaultStrategies(yamlConfig, result);
+        setStrategies(yamlConfig, result);
         result.setDefaultShardingColumn(yamlConfig.getDefaultShardingColumn());
-        yamlConfig.getAuditStrategies().forEach((key, value) -> 
result.getAuditStrategies().put(key, 
auditStrategyYamlSwapper.swapToObject(value)));
         return result;
     }
     
-    private void setDefaultStrategies(final YamlShardingRuleConfiguration 
yamlConfig, final AlgorithmProvidedShardingRuleConfiguration ruleConfig) {
+    private void setStrategies(final YamlShardingRuleConfiguration yamlConfig, 
final AlgorithmProvidedShardingRuleConfiguration ruleConfig) {
         if (null != yamlConfig.getDefaultDatabaseStrategy()) {
             
ruleConfig.setDefaultDatabaseShardingStrategy(shardingStrategyYamlSwapper.swapToObject(yamlConfig.getDefaultDatabaseStrategy()));
         }
@@ -116,6 +117,9 @@ public final class 
ShardingRuleAlgorithmProviderConfigurationYamlSwapper impleme
         if (null != yamlConfig.getDefaultKeyGenerateStrategy()) {
             
ruleConfig.setDefaultKeyGenerateStrategy(keyGenerateStrategyYamlSwapper.swapToObject(yamlConfig.getDefaultKeyGenerateStrategy()));
         }
+        if (null != yamlConfig.getAuditStrategy()) {
+            
ruleConfig.setAuditStrategy(auditStrategyYamlSwapper.swapToObject(yamlConfig.getAuditStrategy()));
+        }
     }
     
     @Override
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleConfigurationYamlSwapper.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleConfigurationYamlSwapper.java
index 1edeef1ef51..aaf392f9c62 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleConfigurationYamlSwapper.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/ShardingRuleConfigurationYamlSwapper.java
@@ -59,15 +59,14 @@ public final class ShardingRuleConfigurationYamlSwapper 
implements YamlRuleConfi
                 new 
ShardingAutoTableRuleConfigurationYamlSwapper(Collections.emptyMap(), 
data.getShardingAlgorithms()).swapToYamlConfiguration(each)));
         result.getBindingTables().addAll(data.getBindingTableGroups());
         result.getBroadcastTables().addAll(data.getBroadcastTables());
-        setYamlDefaultStrategies(data, result);
+        setYamlStrategies(data, result);
         setYamlAlgorithms(data, result);
         result.setDefaultShardingColumn(data.getDefaultShardingColumn());
         result.setScalingName(data.getScalingName());
-        data.getAuditStrategies().forEach((key, value) -> 
result.getAuditStrategies().put(key, 
auditStrategyYamlSwapper.swapToYamlConfiguration(value)));
         return result;
     }
     
-    private void setYamlDefaultStrategies(final ShardingRuleConfiguration 
data, final YamlShardingRuleConfiguration yamlConfig) {
+    private void setYamlStrategies(final ShardingRuleConfiguration data, final 
YamlShardingRuleConfiguration yamlConfig) {
         if (null != data.getDefaultDatabaseShardingStrategy()) {
             
yamlConfig.setDefaultDatabaseStrategy(shardingStrategyYamlSwapper.swapToYamlConfiguration(data.getDefaultDatabaseShardingStrategy()));
         }
@@ -77,6 +76,9 @@ public final class ShardingRuleConfigurationYamlSwapper 
implements YamlRuleConfi
         if (null != data.getDefaultKeyGenerateStrategy()) {
             
yamlConfig.setDefaultKeyGenerateStrategy(keyGenerateStrategyYamlSwapper.swapToYamlConfiguration(data.getDefaultKeyGenerateStrategy()));
         }
+        if (null != data.getAuditStrategy()) {
+            
yamlConfig.setAuditStrategy(auditStrategyYamlSwapper.swapToYamlConfiguration(data.getAuditStrategy()));
+        }
     }
     
     private void setYamlAlgorithms(final ShardingRuleConfiguration data, final 
YamlShardingRuleConfiguration yamlConfig) {
@@ -106,15 +108,14 @@ public final class ShardingRuleConfigurationYamlSwapper 
implements YamlRuleConfi
         }
         result.getBindingTableGroups().addAll(yamlConfig.getBindingTables());
         result.getBroadcastTables().addAll(yamlConfig.getBroadcastTables());
-        setDefaultStrategies(yamlConfig, result);
+        setStrategies(yamlConfig, result);
         setAlgorithms(yamlConfig, result);
         result.setDefaultShardingColumn(yamlConfig.getDefaultShardingColumn());
         result.setScalingName(yamlConfig.getScalingName());
-        yamlConfig.getAuditStrategies().forEach((key, value) -> 
result.getAuditStrategies().put(key, 
auditStrategyYamlSwapper.swapToObject(value)));
         return result;
     }
     
-    private void setDefaultStrategies(final YamlShardingRuleConfiguration 
yamlConfig, final ShardingRuleConfiguration ruleConfig) {
+    private void setStrategies(final YamlShardingRuleConfiguration yamlConfig, 
final ShardingRuleConfiguration ruleConfig) {
         if (null != yamlConfig.getDefaultDatabaseStrategy()) {
             
ruleConfig.setDefaultDatabaseShardingStrategy(shardingStrategyYamlSwapper.swapToObject(yamlConfig.getDefaultDatabaseStrategy()));
         }
@@ -124,6 +125,9 @@ public final class ShardingRuleConfigurationYamlSwapper 
implements YamlRuleConfi
         if (null != yamlConfig.getDefaultKeyGenerateStrategy()) {
             
ruleConfig.setDefaultKeyGenerateStrategy(keyGenerateStrategyYamlSwapper.swapToObject(yamlConfig.getDefaultKeyGenerateStrategy()));
         }
+        if (null != yamlConfig.getAuditStrategy()) {
+            
ruleConfig.setAuditStrategy(auditStrategyYamlSwapper.swapToObject(yamlConfig.getAuditStrategy()));
+        }
     }
     
     private void setAlgorithms(final YamlShardingRuleConfiguration yamlConfig, 
final ShardingRuleConfiguration ruleConfig) {
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/ShardingAuditStrategyConfigurationYamlSwapper.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/ShardingAuditStrategyConfigurationYamlSwapper.java
index 5a6b975fba6..2a526c9ec69 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/ShardingAuditStrategyConfigurationYamlSwapper.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/strategy/ShardingAuditStrategyConfigurationYamlSwapper.java
@@ -29,13 +29,13 @@ public final class 
ShardingAuditStrategyConfigurationYamlSwapper implements Yaml
     @Override
     public YamlShardingAuditStrategyConfiguration 
swapToYamlConfiguration(final ShardingAuditStrategyConfiguration data) {
         YamlShardingAuditStrategyConfiguration result = new 
YamlShardingAuditStrategyConfiguration();
-        result.setAuditAlgorithmName(data.getAuditAlgorithmName());
+        result.getAuditAlgorithmNames().addAll(data.getAuditAlgorithmNames());
         result.setAllowHintDisable(data.isAllowHintDisable());
         return result;
     }
     
     @Override
     public ShardingAuditStrategyConfiguration swapToObject(final 
YamlShardingAuditStrategyConfiguration yamlConfig) {
-        return new 
ShardingAuditStrategyConfiguration(yamlConfig.getAuditAlgorithmName(), 
yamlConfig.isAllowHintDisable());
+        return new 
ShardingAuditStrategyConfiguration(yamlConfig.getAuditAlgorithmNames(), 
yamlConfig.isAllowHintDisable());
     }
 }

Reply via email to