Skip to content

Commit a1f5d22

Browse files
authored
Remove EncryptRuleAware (#32416)
* Rename ShardingTableTokenGeneratorTest * Remove EncryptRuleAware
1 parent 2e10049 commit a1f5d22

File tree

7 files changed

+22
-84
lines changed

7 files changed

+22
-84
lines changed

features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/aware/EncryptRuleAware.java

-33
This file was deleted.

features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/EncryptParameterRewriterBuilder.java

+4-8
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
2222
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseTypeAware;
2323
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptConditionsAware;
24-
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
2524
import org.apache.shardingsphere.encrypt.rewrite.condition.EncryptCondition;
2625
import org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter.EncryptAssignmentParameterRewriter;
2726
import org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter.EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter;
@@ -58,10 +57,10 @@ public final class EncryptParameterRewriterBuilder implements ParameterRewriterB
5857
@Override
5958
public Collection<ParameterRewriter> getParameterRewriters() {
6059
Collection<ParameterRewriter> result = new LinkedList<>();
61-
addParameterRewriter(result, new EncryptAssignmentParameterRewriter());
62-
addParameterRewriter(result, new EncryptPredicateParameterRewriter());
63-
addParameterRewriter(result, new EncryptInsertValueParameterRewriter());
64-
addParameterRewriter(result, new EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter());
60+
addParameterRewriter(result, new EncryptAssignmentParameterRewriter(encryptRule));
61+
addParameterRewriter(result, new EncryptPredicateParameterRewriter(encryptRule));
62+
addParameterRewriter(result, new EncryptInsertValueParameterRewriter(encryptRule));
63+
addParameterRewriter(result, new EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter(encryptRule));
6564
return result;
6665
}
6766

@@ -77,9 +76,6 @@ private void setUpParameterRewriter(final ParameterRewriter toBeAddedParamRewrit
7776
((SchemaMetaDataAware) toBeAddedParamRewriter).setSchemas(schemas);
7877
((SchemaMetaDataAware) toBeAddedParamRewriter).setDefaultSchema(schemas.get(new DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName)));
7978
}
80-
if (toBeAddedParamRewriter instanceof EncryptRuleAware) {
81-
((EncryptRuleAware) toBeAddedParamRewriter).setEncryptRule(encryptRule);
82-
}
8379
if (toBeAddedParamRewriter instanceof EncryptConditionsAware) {
8480
((EncryptConditionsAware) toBeAddedParamRewriter).setEncryptConditions(encryptConditions);
8581
}

features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptAssignmentParameterRewriter.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
1919

2020
import com.google.common.base.Preconditions;
21+
import lombok.RequiredArgsConstructor;
2122
import lombok.Setter;
2223
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
23-
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
2424
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
2525
import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
2626
import org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
@@ -48,10 +48,11 @@
4848
/**
4949
* Assignment parameter rewriter for encrypt.
5050
*/
51+
@RequiredArgsConstructor
5152
@Setter
52-
public final class EncryptAssignmentParameterRewriter implements ParameterRewriter, EncryptRuleAware, DatabaseNameAware {
53+
public final class EncryptAssignmentParameterRewriter implements ParameterRewriter, DatabaseNameAware {
5354

54-
private EncryptRule encryptRule;
55+
private final EncryptRule encryptRule;
5556

5657
private String databaseName;
5758

features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717

1818
package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
1919

20+
import lombok.RequiredArgsConstructor;
2021
import lombok.Setter;
2122
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
22-
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
2323
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
2424
import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
2525
import org.apache.shardingsphere.infra.binder.context.segment.insert.values.OnDuplicateUpdateContext;
@@ -38,10 +38,11 @@
3838
/**
3939
* Insert on duplicate key update parameter rewriter for encrypt.
4040
*/
41+
@RequiredArgsConstructor
4142
@Setter
42-
public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter implements ParameterRewriter, EncryptRuleAware, DatabaseNameAware {
43+
public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter implements ParameterRewriter, DatabaseNameAware {
4344

44-
private EncryptRule encryptRule;
45+
private final EncryptRule encryptRule;
4546

4647
private String databaseName;
4748

features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptInsertValueParameterRewriter.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717

1818
package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
1919

20+
import lombok.RequiredArgsConstructor;
2021
import lombok.Setter;
2122
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
22-
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
2323
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
24-
import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
2524
import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
25+
import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
2626
import org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
2727
import org.apache.shardingsphere.infra.binder.context.statement.dml.InsertStatementContext;
2828
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
@@ -43,10 +43,11 @@
4343
/**
4444
* Insert value parameter rewriter for encrypt.
4545
*/
46+
@RequiredArgsConstructor
4647
@Setter
47-
public final class EncryptInsertValueParameterRewriter implements ParameterRewriter, EncryptRuleAware, DatabaseNameAware {
48+
public final class EncryptInsertValueParameterRewriter implements ParameterRewriter, DatabaseNameAware {
4849

49-
private EncryptRule encryptRule;
50+
private final EncryptRule encryptRule;
5051

5152
private String databaseName;
5253

features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/rewriter/EncryptPredicateParameterRewriter.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717

1818
package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
1919

20+
import lombok.RequiredArgsConstructor;
2021
import lombok.Setter;
2122
import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
2223
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptConditionsAware;
23-
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
2424
import org.apache.shardingsphere.encrypt.rewrite.condition.EncryptCondition;
2525
import org.apache.shardingsphere.encrypt.rewrite.condition.impl.EncryptBinaryCondition;
2626
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
27-
import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
2827
import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
28+
import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
2929
import org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
3030
import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
3131
import org.apache.shardingsphere.infra.binder.context.type.WhereAvailable;
@@ -42,10 +42,11 @@
4242
/**
4343
* Predicate parameter rewriter for encrypt.
4444
*/
45+
@RequiredArgsConstructor
4546
@Setter
46-
public final class EncryptPredicateParameterRewriter implements ParameterRewriter, EncryptRuleAware, EncryptConditionsAware, DatabaseNameAware {
47+
public final class EncryptPredicateParameterRewriter implements ParameterRewriter, EncryptConditionsAware, DatabaseNameAware {
4748

48-
private EncryptRule encryptRule;
49+
private final EncryptRule encryptRule;
4950

5051
private Collection<EncryptCondition> encryptConditions;
5152

features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java

-29
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717

1818
package org.apache.shardingsphere.encrypt.rewrite.token;
1919

20-
import lombok.SneakyThrows;
21-
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
2220
import org.apache.shardingsphere.encrypt.rewrite.token.generator.projection.EncryptSelectProjectionTokenGenerator;
2321
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
2422
import org.apache.shardingsphere.infra.binder.context.segment.select.orderby.OrderByItem;
@@ -29,10 +27,8 @@
2927
import org.junit.jupiter.api.extension.ExtendWith;
3028
import org.mockito.Answers;
3129
import org.mockito.Mock;
32-
import org.mockito.internal.configuration.plugins.Plugins;
3330
import org.mockito.junit.jupiter.MockitoExtension;
3431

35-
import java.lang.reflect.Field;
3632
import java.util.Collection;
3733
import java.util.Collections;
3834
import java.util.Iterator;
@@ -64,30 +60,5 @@ void assertGetSQLTokenGenerators() {
6460
Iterator<SQLTokenGenerator> iterator = sqlTokenGenerators.iterator();
6561
SQLTokenGenerator item1 = iterator.next();
6662
assertThat(item1, instanceOf(EncryptSelectProjectionTokenGenerator.class));
67-
assertSQLTokenGenerator(item1);
68-
}
69-
70-
private void assertSQLTokenGenerator(final SQLTokenGenerator sqlTokenGenerator) {
71-
if (sqlTokenGenerator instanceof EncryptRuleAware) {
72-
assertField(sqlTokenGenerator, encryptRule, "encryptRule");
73-
}
74-
}
75-
76-
@SneakyThrows(ReflectiveOperationException.class)
77-
private void assertField(final SQLTokenGenerator sqlTokenGenerator, final Object filedInstance, final String fieldName) {
78-
assertThat(Plugins.getMemberAccessor().get(findField(sqlTokenGenerator.getClass(), fieldName, filedInstance.getClass()), sqlTokenGenerator), is(filedInstance));
79-
}
80-
81-
private Field findField(final Class<?> clazz, final String fieldName, final Class<?> fieldType) {
82-
Class<?> searchClass = clazz;
83-
while (null != searchClass && !Object.class.equals(searchClass)) {
84-
for (Field each : searchClass.getDeclaredFields()) {
85-
if (fieldName.equals(each.getName()) && fieldType.equals(each.getType())) {
86-
return each;
87-
}
88-
}
89-
searchClass = searchClass.getSuperclass();
90-
}
91-
throw new IllegalStateException("No such field in class.");
9263
}
9364
}

0 commit comments

Comments
 (0)