You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2023/06/04 12:11:03 UTC

[shardingsphere] branch master updated: Refactor EncryptRuleConfigurationChecker (#26043)

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 <zh...@apache.org>
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