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