This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 cc5e9d16d04 Refactor EncryptRuleConfigurationChecker (#26043)
cc5e9d16d04 is described below
commit cc5e9d16d041e8d6ec389197304948680f55f82d
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 4 20:10:56 2023 +0800
Refactor EncryptRuleConfigurationChecker (#26043)
---
.../checker/EncryptRuleConfigurationChecker.java | 38 ++++++++++++----------
1 file changed, 20 insertions(+), 18 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 2f0e720d9b0..7ab4756fd60 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
@@ -57,32 +57,34 @@ public final class EncryptRuleConfigurationChecker
implements RuleConfigurationC
private void checkColumnConfiguration(final String databaseName, final
EncryptTableRuleConfiguration tableRuleConfig, final Map<String,
AlgorithmConfiguration> encryptors) {
for (EncryptColumnRuleConfiguration each :
tableRuleConfig.getColumns()) {
- checkCipherColumnConfiguration(databaseName,
tableRuleConfig.getName(), each.getCipher(), each.getName(), encryptors);
- each.getAssistedQuery().ifPresent(optional ->
checkAssistColumnConfiguration(databaseName, tableRuleConfig.getName(),
optional, each.getName(), encryptors));
- each.getLikeQuery().ifPresent(optional ->
checkLikeColumnConfiguration(databaseName, tableRuleConfig.getName(), optional,
each.getName(), encryptors));
+ checkCipherColumnConfiguration(databaseName,
tableRuleConfig.getName(), each.getName(), each.getCipher(), encryptors);
+ each.getAssistedQuery().ifPresent(optional ->
checkAssistColumnConfiguration(databaseName, tableRuleConfig.getName(),
each.getName(), optional, encryptors));
+ each.getLikeQuery().ifPresent(optional ->
checkLikeColumnConfiguration(databaseName, tableRuleConfig.getName(),
each.getName(), optional, encryptors));
}
}
- private void checkCipherColumnConfiguration(final String databaseName,
final String tableName, final EncryptColumnItemRuleConfiguration cipherColumn,
final String logicColumn,
- final Map<String,
AlgorithmConfiguration> encryptors) {
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumn.getName()),
() -> new EncryptCipherColumnNotFoundException(logicColumn, databaseName));
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumn.getEncryptorName()),
() -> new MissingEncryptorException(tableName, logicColumn));
-
ShardingSpherePreconditions.checkState(encryptors.containsKey(cipherColumn.getEncryptorName()),
() -> new UnregisteredEncryptorException(databaseName,
cipherColumn.getEncryptorName()));
+ private void checkCipherColumnConfiguration(final String databaseName,
final String tableName, final String logicColumnName,
+ final
EncryptColumnItemRuleConfiguration cipherColumnConfig, final Map<String,
AlgorithmConfiguration> encryptors) {
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumnConfig.getName()),
() -> new EncryptCipherColumnNotFoundException(logicColumnName, databaseName));
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumnConfig.getEncryptorName()),
() -> new MissingEncryptorException(tableName, logicColumnName));
+
ShardingSpherePreconditions.checkState(encryptors.containsKey(cipherColumnConfig.getEncryptorName()),
+ () -> new UnregisteredEncryptorException(databaseName,
cipherColumnConfig.getEncryptorName()));
}
- private void checkAssistColumnConfiguration(final String databaseName,
final String tableName, final EncryptColumnItemRuleConfiguration
assistedQueryColumn, final String logicColumn,
- final Map<String,
AlgorithmConfiguration> encryptors) {
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumn.getName()),
() -> new EncryptAssistedQueryColumnNotFoundException(logicColumn,
databaseName));
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumn.getEncryptorName()),
() -> new MissingAssistedQueryEncryptorException(tableName, logicColumn));
+ private void checkAssistColumnConfiguration(final String databaseName,
final String tableName, final String logicColumnName,
+ final
EncryptColumnItemRuleConfiguration assistedQueryColumnConfig, final Map<String,
AlgorithmConfiguration> encryptors) {
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getName()),
() -> new EncryptAssistedQueryColumnNotFoundException(logicColumnName,
databaseName));
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getEncryptorName()),
() -> new MissingAssistedQueryEncryptorException(tableName, logicColumnName));
ShardingSpherePreconditions.checkState(
-
encryptors.containsKey(assistedQueryColumn.getEncryptorName()), () -> new
UnregisteredEncryptorException(databaseName,
assistedQueryColumn.getEncryptorName()));
+
encryptors.containsKey(assistedQueryColumnConfig.getEncryptorName()), () -> new
UnregisteredEncryptorException(databaseName,
assistedQueryColumnConfig.getEncryptorName()));
}
- private void checkLikeColumnConfiguration(final String databaseName, final
String tableName, final EncryptColumnItemRuleConfiguration likeQueryColumn,
final String logicColumn,
- final Map<String,
AlgorithmConfiguration> encryptors) {
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumn.getName()),
() -> new EncryptLikeQueryColumnNotFoundException(logicColumn, databaseName));
-
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumn.getEncryptorName()),
() -> new MissingLikeQueryEncryptorException(tableName, logicColumn));
-
ShardingSpherePreconditions.checkState(encryptors.containsKey(likeQueryColumn.getEncryptorName()),
() -> new UnregisteredEncryptorException(databaseName,
likeQueryColumn.getEncryptorName()));
+ private void checkLikeColumnConfiguration(final String databaseName, final
String tableName, final String logicColumnName,
+ final
EncryptColumnItemRuleConfiguration likeQueryColumnConfig, final Map<String,
AlgorithmConfiguration> encryptors) {
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumnConfig.getName()),
() -> new EncryptLikeQueryColumnNotFoundException(logicColumnName,
databaseName));
+
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumnConfig.getEncryptorName()),
() -> new MissingLikeQueryEncryptorException(tableName, logicColumnName));
+
ShardingSpherePreconditions.checkState(encryptors.containsKey(likeQueryColumnConfig.getEncryptorName()),
+ () -> new UnregisteredEncryptorException(databaseName,
likeQueryColumnConfig.getEncryptorName()));
}
@Override