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 d7ded287e5a EncryptRuleConfigurationToDistSQLConverter (#33467)
d7ded287e5a is described below

commit d7ded287e5afbf904d532094a08a15beaec7e9ee
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Oct 30 18:53:17 2024 +0800

    EncryptRuleConfigurationToDistSQLConverter (#33467)
    
    * Refactor EncryptRuleConfigurationToDistSQLConverter
    
    * Refactor EncryptRuleConfigurationToDistSQLConverter
    
    * Refactor EncryptRuleConfigurationToDistSQLConverter
---
 ...EncryptRuleConfigurationToDistSQLConverter.java | 31 +++++++---------------
 ...yptRuleConfigurationToDistSQLConverterTest.java |  8 +++---
 2 files changed, 14 insertions(+), 25 deletions(-)

diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverter.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverter.java
index 0cae236d5b1..e880b0df4f8 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverter.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverter.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.encrypt.distsql.handler.converter;
 
-import com.google.common.base.Strings;
 import org.apache.shardingsphere.distsql.handler.constant.DistSQLConstants;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.AlgorithmDistSQLConverter;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
@@ -59,31 +58,21 @@ public final class 
EncryptRuleConfigurationToDistSQLConverter implements RuleCon
     
     private String convertColumns(final EncryptColumnRuleConfiguration 
columnRuleConfig) {
         StringBuilder result = new StringBuilder();
-        String cipherColumnName = columnRuleConfig.getCipher().getName();
-        result.append(String.format(EncryptConvertDistSQLConstants.CIPHER, 
cipherColumnName));
-        if (columnRuleConfig.getAssistedQuery().isPresent()) {
-            result.append(DistSQLConstants.COMMA).append(' 
').append(String.format(EncryptConvertDistSQLConstants.ASSISTED_QUERY_COLUMN, 
columnRuleConfig.getAssistedQuery().get().getName()));
-        }
-        if (columnRuleConfig.getLikeQuery().isPresent()) {
-            result.append(DistSQLConstants.COMMA).append(' 
').append(String.format(EncryptConvertDistSQLConstants.LIKE_QUERY_COLUMN, 
columnRuleConfig.getLikeQuery().get().getName()));
-        }
+        result.append(String.format(EncryptConvertDistSQLConstants.CIPHER, 
columnRuleConfig.getCipher().getName()));
+        columnRuleConfig.getAssistedQuery()
+                .ifPresent(optional -> 
result.append(DistSQLConstants.COMMA).append(' 
').append(String.format(EncryptConvertDistSQLConstants.ASSISTED_QUERY_COLUMN, 
optional.getName())));
+        columnRuleConfig.getLikeQuery()
+                .ifPresent(optional -> 
result.append(DistSQLConstants.COMMA).append(' 
').append(String.format(EncryptConvertDistSQLConstants.LIKE_QUERY_COLUMN, 
optional.getName())));
         return result.toString();
     }
     
     private String convertEncryptAlgorithms(final 
EncryptColumnRuleConfiguration columnRuleConfig, final Map<String, 
AlgorithmConfiguration> encryptors) {
         StringBuilder result = new StringBuilder();
-        String cipherEncryptorName = 
columnRuleConfig.getCipher().getEncryptorName();
-        String assistedQueryEncryptorName = 
columnRuleConfig.getAssistedQuery().map(EncryptColumnItemRuleConfiguration::getEncryptorName).orElse("");
-        String likeQueryEncryptorName = 
columnRuleConfig.getLikeQuery().map(EncryptColumnItemRuleConfiguration::getEncryptorName).orElse("");
-        
result.append(String.format(EncryptConvertDistSQLConstants.ENCRYPT_ALGORITHM, 
AlgorithmDistSQLConverter.getAlgorithmType(encryptors.get(cipherEncryptorName))));
-        if (!Strings.isNullOrEmpty(assistedQueryEncryptorName)) {
-            result.append(DistSQLConstants.COMMA).append(' ')
-                    
.append(String.format(EncryptConvertDistSQLConstants.ASSISTED_QUERY_ALGORITHM, 
AlgorithmDistSQLConverter.getAlgorithmType(encryptors.get(assistedQueryEncryptorName))));
-        }
-        if (!Strings.isNullOrEmpty(likeQueryEncryptorName)) {
-            result.append(DistSQLConstants.COMMA).append(' ')
-                    
.append(String.format(EncryptConvertDistSQLConstants.LIKE_QUERY_ALGORITHM, 
AlgorithmDistSQLConverter.getAlgorithmType(encryptors.get(likeQueryEncryptorName))));
-        }
+        
result.append(String.format(EncryptConvertDistSQLConstants.ENCRYPT_ALGORITHM, 
AlgorithmDistSQLConverter.getAlgorithmType(encryptors.get(columnRuleConfig.getCipher().getEncryptorName()))));
+        
columnRuleConfig.getAssistedQuery().map(EncryptColumnItemRuleConfiguration::getEncryptorName).ifPresent(optional
 -> result.append(DistSQLConstants.COMMA).append(' ')
+                
.append(String.format(EncryptConvertDistSQLConstants.ASSISTED_QUERY_ALGORITHM, 
AlgorithmDistSQLConverter.getAlgorithmType(encryptors.get(optional)))));
+        
columnRuleConfig.getLikeQuery().map(EncryptColumnItemRuleConfiguration::getEncryptorName).ifPresent(optional
 -> result.append(DistSQLConstants.COMMA).append(' ')
+                
.append(String.format(EncryptConvertDistSQLConstants.LIKE_QUERY_ALGORITHM, 
AlgorithmDistSQLConverter.getAlgorithmType(encryptors.get(optional)))));
         return result.toString();
     }
     
diff --git 
a/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverterTest.java
 
b/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverterTest.java
index 5baa1e2394c..2fc425be5e1 100644
--- 
a/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverterTest.java
+++ 
b/features/encrypt/distsql/handler/src/test/java/org/apache/shardingsphere/encrypt/distsql/handler/converter/EncryptRuleConfigurationToDistSQLConverterTest.java
@@ -41,14 +41,14 @@ class EncryptRuleConfigurationToDistSQLConverterTest {
     
     @Test
     void assertConvertWithEmptyTables() {
-        EncryptRuleConfiguration encryptRuleConfig = new 
EncryptRuleConfiguration(Collections.emptyList(), Collections.emptyMap());
-        assertThat(converter.convert(encryptRuleConfig), is(""));
+        EncryptRuleConfiguration ruleConfig = new 
EncryptRuleConfiguration(Collections.emptyList(), Collections.emptyMap());
+        assertThat(converter.convert(ruleConfig), is(""));
     }
     
     @Test
     void assertConvert() {
-        EncryptRuleConfiguration encryptRuleConfig = 
getEncryptRuleConfiguration();
-        assertThat(converter.convert(encryptRuleConfig),
+        EncryptRuleConfiguration ruleConfig = getEncryptRuleConfiguration();
+        assertThat(converter.convert(ruleConfig),
                 is("CREATE ENCRYPT RULE foo_tbl ("
                         + System.lineSeparator()
                         + "COLUMNS("

Reply via email to