You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2024/11/11 07:58:10 UTC
(shardingsphere) branch master updated: Refactor EncryptParameterRewriterBuilder (#33612)
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 0afafe0be5b Refactor EncryptParameterRewriterBuilder (#33612)
0afafe0be5b is described below
commit 0afafe0be5b7d1d11176f334df0ca313fbcb6be6
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Nov 11 15:58:03 2024 +0800
Refactor EncryptParameterRewriterBuilder (#33612)
---
.../rewrite/parameter/EncryptParameterRewriterBuilder.java | 12 ++++++------
.../rewriter/EncryptAssignmentParameterRewriter.java | 6 +++---
...ryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java | 6 +++---
.../rewriter/EncryptInsertPredicateParameterRewriter.java | 4 ++--
.../rewriter/EncryptInsertValueParameterRewriter.java | 8 ++++----
.../rewriter/EncryptPredicateParameterRewriter.java | 4 ++--
6 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java
index da9ad3e9eff..66e9c8205b6 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java
@@ -45,7 +45,7 @@ import java.util.Map;
@RequiredArgsConstructor
public final class EncryptParameterRewriterBuilder implements ParameterRewriterBuilder {
- private final EncryptRule encryptRule;
+ private final EncryptRule rule;
private final String databaseName;
@@ -58,11 +58,11 @@ public final class EncryptParameterRewriterBuilder implements ParameterRewriterB
@Override
public Collection<ParameterRewriter> getParameterRewriters() {
Collection<ParameterRewriter> result = new LinkedList<>();
- addParameterRewriter(result, new EncryptAssignmentParameterRewriter(encryptRule));
- addParameterRewriter(result, new EncryptPredicateParameterRewriter(encryptRule));
- addParameterRewriter(result, new EncryptInsertPredicateParameterRewriter(encryptRule));
- addParameterRewriter(result, new EncryptInsertValueParameterRewriter(encryptRule));
- addParameterRewriter(result, new EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter(encryptRule));
+ addParameterRewriter(result, new EncryptAssignmentParameterRewriter(rule));
+ addParameterRewriter(result, new EncryptPredicateParameterRewriter(rule));
+ addParameterRewriter(result, new EncryptInsertPredicateParameterRewriter(rule));
+ addParameterRewriter(result, new EncryptInsertValueParameterRewriter(rule));
+ addParameterRewriter(result, new EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter(rule));
return result;
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
index 59baf92780c..18b49943cd6 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java
@@ -52,7 +52,7 @@ import java.util.Optional;
@Setter
public final class EncryptAssignmentParameterRewriter implements ParameterRewriter, DatabaseNameAware {
- private final EncryptRule encryptRule;
+ private final EncryptRule rule;
private String databaseName;
@@ -74,8 +74,8 @@ public final class EncryptAssignmentParameterRewriter implements ParameterRewrit
.orElseGet(() -> new DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
for (ColumnAssignmentSegment each : getSetAssignmentSegment(sqlStatementContext.getSqlStatement()).getAssignments()) {
String columnName = each.getColumns().get(0).getIdentifier().getValue();
- if (each.getValue() instanceof ParameterMarkerExpressionSegment && encryptRule.findEncryptTable(tableName).map(optional -> optional.isEncryptColumn(columnName)).orElse(false)) {
- EncryptColumn encryptColumn = encryptRule.getEncryptTable(tableName).getEncryptColumn(columnName);
+ if (each.getValue() instanceof ParameterMarkerExpressionSegment && rule.findEncryptTable(tableName).map(optional -> optional.isEncryptColumn(columnName)).orElse(false)) {
+ EncryptColumn encryptColumn = rule.getEncryptTable(tableName).getEncryptColumn(columnName);
StandardParameterBuilder standardParamBuilder = paramBuilder instanceof StandardParameterBuilder
? (StandardParameterBuilder) paramBuilder
: ((GroupedParameterBuilder) paramBuilder).getParameterBuilders().get(0);
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 fb8282c6447..ff199d3b890 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
@@ -42,7 +42,7 @@ import java.util.List;
@Setter
public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter implements ParameterRewriter, DatabaseNameAware {
- private final EncryptRule encryptRule;
+ private final EncryptRule rule;
private String databaseName;
@@ -62,14 +62,14 @@ public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter imple
.orElseGet(() -> new DatabaseTypeRegistry(insertStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
for (int index = 0; index < onDuplicateKeyUpdateValueContext.getValueExpressions().size(); index++) {
String logicColumnName = onDuplicateKeyUpdateValueContext.getColumn(index).getIdentifier().getValue();
- if (!encryptRule.findEncryptTable(tableName).map(optional -> optional.isEncryptColumn(logicColumnName)).orElse(false)) {
+ if (!rule.findEncryptTable(tableName).map(optional -> optional.isEncryptColumn(logicColumnName)).orElse(false)) {
continue;
}
Object plainValue = onDuplicateKeyUpdateValueContext.getValue(index);
if (plainValue instanceof FunctionSegment && "VALUES".equalsIgnoreCase(((FunctionSegment) plainValue).getFunctionName())) {
return;
}
- EncryptColumn encryptColumn = encryptRule.getEncryptTable(tableName).getEncryptColumn(logicColumnName);
+ EncryptColumn encryptColumn = rule.getEncryptTable(tableName).getEncryptColumn(logicColumnName);
Object cipherColumnValue = encryptColumn.getCipher().encrypt(databaseName, schemaName, tableName, logicColumnName, plainValue);
groupedParamBuilder.getGenericParameterBuilder().addReplacedParameters(index, cipherColumnValue);
Collection<Object> addedParams = buildAddedParams(schemaName, tableName, encryptColumn, logicColumnName, plainValue);
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertPredicateParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertPredicateParameterRewriter.java
index a441bee4a92..4521eb65f89 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertPredicateParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertPredicateParameterRewriter.java
@@ -38,7 +38,7 @@ import java.util.List;
@Setter
public final class EncryptInsertPredicateParameterRewriter implements ParameterRewriter, EncryptConditionsAware, DatabaseNameAware {
- private final EncryptRule encryptRule;
+ private final EncryptRule rule;
private Collection<EncryptCondition> encryptConditions;
@@ -52,7 +52,7 @@ public final class EncryptInsertPredicateParameterRewriter implements ParameterR
@Override
public void rewrite(final ParameterBuilder paramBuilder, final SQLStatementContext sqlStatementContext, final List<Object> params) {
- EncryptPredicateParameterRewriter rewriter = new EncryptPredicateParameterRewriter(encryptRule);
+ EncryptPredicateParameterRewriter rewriter = new EncryptPredicateParameterRewriter(rule);
rewriter.setEncryptConditions(encryptConditions);
rewriter.setDatabaseName(databaseName);
rewriter.rewrite(paramBuilder, ((InsertStatementContext) sqlStatementContext).getInsertSelectContext().getSelectStatementContext(), params);
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
index 190a20d6235..25001ddd709 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java
@@ -47,7 +47,7 @@ import java.util.Optional;
@Setter
public final class EncryptInsertValueParameterRewriter implements ParameterRewriter, DatabaseNameAware {
- private final EncryptRule encryptRule;
+ private final EncryptRule rule;
private String databaseName;
@@ -61,7 +61,7 @@ public final class EncryptInsertValueParameterRewriter implements ParameterRewri
public void rewrite(final ParameterBuilder paramBuilder, final SQLStatementContext sqlStatementContext, final List<Object> params) {
InsertStatementContext insertStatementContext = (InsertStatementContext) sqlStatementContext;
String tableName = insertStatementContext.getSqlStatement().getTable().map(optional -> optional.getTableName().getIdentifier().getValue()).orElse("");
- Optional<EncryptTable> encryptTable = encryptRule.findEncryptTable(tableName);
+ Optional<EncryptTable> encryptTable = rule.findEncryptTable(tableName);
if (!encryptTable.isPresent()) {
return;
}
@@ -70,7 +70,7 @@ public final class EncryptInsertValueParameterRewriter implements ParameterRewri
.orElseGet(() -> new DatabaseTypeRegistry(insertStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
while (descendingColumnNames.hasNext()) {
String columnName = descendingColumnNames.next();
- if (encryptRule.findEncryptTable(tableName).map(optional -> optional.isEncryptColumn(columnName)).orElse(false)) {
+ if (rule.findEncryptTable(tableName).map(optional -> optional.isEncryptColumn(columnName)).orElse(false)) {
encryptInsertValues((GroupedParameterBuilder) paramBuilder, insertStatementContext, schemaName, tableName, columnName);
}
}
@@ -78,7 +78,7 @@ public final class EncryptInsertValueParameterRewriter implements ParameterRewri
private void encryptInsertValues(final GroupedParameterBuilder paramBuilder, final InsertStatementContext insertStatementContext,
final String schemaName, final String tableName, final String columnName) {
- EncryptColumn encryptColumn = encryptRule.getEncryptTable(tableName).getEncryptColumn(columnName);
+ EncryptColumn encryptColumn = rule.getEncryptTable(tableName).getEncryptColumn(columnName);
int columnIndex = getColumnIndex(paramBuilder, insertStatementContext, columnName);
int count = 0;
for (List<Object> each : insertStatementContext.getGroupedParameters()) {
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
index da53e329e3d..57778d1c7f3 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java
@@ -46,7 +46,7 @@ import java.util.Map.Entry;
@Setter
public final class EncryptPredicateParameterRewriter implements ParameterRewriter, EncryptConditionsAware, DatabaseNameAware {
- private final EncryptRule encryptRule;
+ private final EncryptRule rule;
private Collection<EncryptCondition> encryptConditions;
@@ -69,7 +69,7 @@ public final class EncryptPredicateParameterRewriter implements ParameterRewrite
private List<Object> getEncryptedValues(final String schemaName, final EncryptCondition encryptCondition, final List<Object> originalValues) {
String tableName = encryptCondition.getTableName();
String columnName = encryptCondition.getColumnName();
- EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
+ EncryptTable encryptTable = rule.getEncryptTable(tableName);
EncryptColumn encryptColumn = encryptTable.getEncryptColumn(columnName);
if (encryptCondition instanceof EncryptBinaryCondition && "LIKE".equals(((EncryptBinaryCondition) encryptCondition).getOperator()) && encryptColumn.getLikeQuery().isPresent()) {
return encryptColumn.getLikeQuery().get().encrypt(databaseName, schemaName, tableName, columnName, originalValues);