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("