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 f4311f2f1ca Remove usage of EncryptRule's findAssistedQueryEncryptor
and findLikeQueryEncryptor (#26410)
f4311f2f1ca is described below
commit f4311f2f1ca8579753acd3b451ac7a4b90547d1a
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 18 18:24:25 2023 +0800
Remove usage of EncryptRule's findAssistedQueryEncryptor and
findLikeQueryEncryptor (#26410)
* Remove usage of EncryptRule's findAssistedQueryEncryptor and
findLikeQueryEncryptor
* Remove EncryptRule's findAssistedQueryEncryptor and findLikeQueryEncryptor
---
...OnDuplicateKeyUpdateValueParameterRewriter.java | 19 +++++-------
.../shardingsphere/encrypt/rule/EncryptRule.java | 34 +++++++---------------
2 files changed, 18 insertions(+), 35 deletions(-)
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
index ab971a5e64d..de7a02971ca 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
@@ -20,8 +20,6 @@ package
org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
import com.google.common.base.Preconditions;
import lombok.Setter;
import org.apache.shardingsphere.encrypt.api.context.EncryptContext;
-import
org.apache.shardingsphere.encrypt.api.encrypt.assisted.AssistedEncryptAlgorithm;
-import org.apache.shardingsphere.encrypt.api.encrypt.like.LikeEncryptAlgorithm;
import org.apache.shardingsphere.encrypt.context.EncryptContextBuilder;
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
@@ -88,24 +86,23 @@ public final class
EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
}
}
- @SuppressWarnings({"rawtypes", "unchecked"})
private Collection<Object> buildAddedParams(final String tableName, final
String logicColumnName, final Object plainValue, final EncryptContext
encryptContext) {
Optional<EncryptTable> encryptTable =
encryptRule.findEncryptTable(tableName);
if (!encryptTable.isPresent()) {
return Collections.emptyList();
}
Collection<Object> result = new LinkedList<>();
- Optional<AssistedEncryptAlgorithm> assistedQueryEncryptor =
encryptRule.findAssistedQueryEncryptor(tableName, logicColumnName);
- if (assistedQueryEncryptor.isPresent()) {
+ if
(encryptTable.get().findAssistedQueryColumn(logicColumnName).isPresent()) {
Optional<String> assistedColumnName =
encryptTable.get().findAssistedQueryColumn(logicColumnName);
- Preconditions.checkArgument(assistedColumnName.isPresent(), "Can
not find assisted query Column Name");
- result.add(assistedQueryEncryptor.get().encrypt(plainValue,
encryptContext));
+ Preconditions.checkArgument(assistedColumnName.isPresent(), "Can
not find assisted query column name.");
+ result.add(encryptRule.getEncryptAssistedQueryValue(
+ encryptContext.getDatabaseName(),
encryptContext.getSchemaName(), encryptContext.getTableName(),
encryptContext.getColumnName(), plainValue));
}
- Optional<LikeEncryptAlgorithm> likeQueryEncryptor =
encryptRule.findLikeQueryEncryptor(tableName, logicColumnName);
- if (likeQueryEncryptor.isPresent()) {
+ if
(encryptTable.get().findLikeQueryColumn(logicColumnName).isPresent()) {
Optional<String> likeColumnName =
encryptTable.get().findLikeQueryColumn(logicColumnName);
- Preconditions.checkArgument(likeColumnName.isPresent(), "Can not
find assisted query Column Name");
- result.add(likeQueryEncryptor.get().encrypt(plainValue,
encryptContext));
+ Preconditions.checkArgument(likeColumnName.isPresent(), "Can not
find assisted query column name.");
+ result.add(encryptRule.getEncryptLikeQueryValue(
+ encryptContext.getDatabaseName(),
encryptContext.getSchemaName(), encryptContext.getTableName(),
encryptContext.getColumnName(), plainValue));
}
return result;
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
index 5aa9eceecf9..1e670ce6174 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptRule.java
@@ -135,30 +135,6 @@ public final class EncryptRule implements DatabaseRule,
TableContainedRule {
return encryptTable.get();
}
- /**
- * Find assisted encryptor.
- *
- * @param tableName table name
- * @param logicColumnName logic column name
- * @return assisted encryptor
- */
- @SuppressWarnings("rawtypes")
- public Optional<AssistedEncryptAlgorithm> findAssistedQueryEncryptor(final
String tableName, final String logicColumnName) {
- return findEncryptTable(tableName).flatMap(optional ->
optional.findAssistedQueryEncryptorName(logicColumnName).map(assistedEncryptors::get));
- }
-
- /**
- * Find like query encryptor.
- *
- * @param tableName table name
- * @param logicColumnName logic column name
- * @return like query encryptor
- */
- @SuppressWarnings("rawtypes")
- public Optional<LikeEncryptAlgorithm> findLikeQueryEncryptor(final String
tableName, final String logicColumnName) {
- return findEncryptTable(tableName).flatMap(optional ->
optional.findLikeQueryEncryptorName(logicColumnName).map(likeEncryptors::get));
- }
-
/**
* Encrypt.
*
@@ -285,6 +261,11 @@ public final class EncryptRule implements DatabaseRule,
TableContainedRule {
return result;
}
+ @SuppressWarnings("rawtypes")
+ private Optional<AssistedEncryptAlgorithm>
findAssistedQueryEncryptor(final String tableName, final String
logicColumnName) {
+ return findEncryptTable(tableName).flatMap(optional ->
optional.findAssistedQueryEncryptorName(logicColumnName).map(assistedEncryptors::get));
+ }
+
/**
* Get encrypt like query value.
*
@@ -334,6 +315,11 @@ public final class EncryptRule implements DatabaseRule,
TableContainedRule {
return result;
}
+ @SuppressWarnings("rawtypes")
+ private Optional<LikeEncryptAlgorithm> findLikeQueryEncryptor(final String
tableName, final String logicColumnName) {
+ return findEncryptTable(tableName).flatMap(optional ->
optional.findLikeQueryEncryptorName(logicColumnName).map(likeEncryptors::get));
+ }
+
@Override
public TableNamesMapper getLogicTableMapper() {
return tableNamesMapper;