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 a1f5d221ffe Remove EncryptRuleAware (#32416)
a1f5d221ffe is described below

commit a1f5d221ffef9247c4027306f0f714f0839499ef
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Aug 6 17:50:47 2024 +0800

    Remove EncryptRuleAware (#32416)
    
    * Rename ShardingTableTokenGeneratorTest
    
    * Remove EncryptRuleAware
---
 .../encrypt/rewrite/aware/EncryptRuleAware.java    | 33 ----------------------
 .../parameter/EncryptParameterRewriterBuilder.java | 12 +++-----
 .../EncryptAssignmentParameterRewriter.java        |  7 +++--
 ...OnDuplicateKeyUpdateValueParameterRewriter.java |  7 +++--
 .../EncryptInsertValueParameterRewriter.java       |  9 +++---
 .../EncryptPredicateParameterRewriter.java         |  9 +++---
 .../token/EncryptTokenGenerateBuilderTest.java     | 29 -------------------
 7 files changed, 22 insertions(+), 84 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/aware/EncryptRuleAware.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/aware/EncryptRuleAware.java
deleted file mode 100644
index 8bf1f13272e..00000000000
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/aware/EncryptRuleAware.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.encrypt.rewrite.aware;
-
-import org.apache.shardingsphere.encrypt.rule.EncryptRule;
-
-/**
- * Encrypt rule aware.
- */
-public interface EncryptRuleAware {
-    
-    /**
-     * Set encrypt rule.
-     *
-     * @param encryptRule encrypt rule
-     */
-    void setEncryptRule(EncryptRule encryptRule);
-}
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 8fd7a755608..9cafc0033d3 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
@@ -21,7 +21,6 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseTypeAware;
 import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptConditionsAware;
-import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.rewrite.condition.EncryptCondition;
 import 
org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter.EncryptAssignmentParameterRewriter;
 import 
org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter.EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter;
@@ -58,10 +57,10 @@ public final class EncryptParameterRewriterBuilder 
implements ParameterRewriterB
     @Override
     public Collection<ParameterRewriter> getParameterRewriters() {
         Collection<ParameterRewriter> result = new LinkedList<>();
-        addParameterRewriter(result, new EncryptAssignmentParameterRewriter());
-        addParameterRewriter(result, new EncryptPredicateParameterRewriter());
-        addParameterRewriter(result, new 
EncryptInsertValueParameterRewriter());
-        addParameterRewriter(result, new 
EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter());
+        addParameterRewriter(result, new 
EncryptAssignmentParameterRewriter(encryptRule));
+        addParameterRewriter(result, new 
EncryptPredicateParameterRewriter(encryptRule));
+        addParameterRewriter(result, new 
EncryptInsertValueParameterRewriter(encryptRule));
+        addParameterRewriter(result, new 
EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter(encryptRule));
         return result;
     }
     
@@ -77,9 +76,6 @@ public final class EncryptParameterRewriterBuilder implements 
ParameterRewriterB
             ((SchemaMetaDataAware) toBeAddedParamRewriter).setSchemas(schemas);
             ((SchemaMetaDataAware) 
toBeAddedParamRewriter).setDefaultSchema(schemas.get(new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName)));
         }
-        if (toBeAddedParamRewriter instanceof EncryptRuleAware) {
-            ((EncryptRuleAware) 
toBeAddedParamRewriter).setEncryptRule(encryptRule);
-        }
         if (toBeAddedParamRewriter instanceof EncryptConditionsAware) {
             ((EncryptConditionsAware) 
toBeAddedParamRewriter).setEncryptConditions(encryptConditions);
         }
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 297f0b4f1a6..59baf92780c 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
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
 
 import com.google.common.base.Preconditions;
+import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
-import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
@@ -48,10 +48,11 @@ import java.util.Optional;
 /**
  * Assignment parameter rewriter for encrypt.
  */
+@RequiredArgsConstructor
 @Setter
-public final class EncryptAssignmentParameterRewriter implements 
ParameterRewriter, EncryptRuleAware, DatabaseNameAware {
+public final class EncryptAssignmentParameterRewriter implements 
ParameterRewriter, DatabaseNameAware {
     
-    private EncryptRule encryptRule;
+    private final EncryptRule encryptRule;
     
     private String databaseName;
     
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 63c8859c994..3cb22cf6efd 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
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
 
+import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
-import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import 
org.apache.shardingsphere.infra.binder.context.segment.insert.values.OnDuplicateUpdateContext;
@@ -38,10 +38,11 @@ import java.util.List;
 /**
  * Insert on duplicate key update parameter rewriter for encrypt.
  */
+@RequiredArgsConstructor
 @Setter
-public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter 
implements ParameterRewriter, EncryptRuleAware, DatabaseNameAware {
+public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter 
implements ParameterRewriter, DatabaseNameAware {
     
-    private EncryptRule encryptRule;
+    private final EncryptRule encryptRule;
     
     private String databaseName;
     
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 bb525508655..158915e4904 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
@@ -17,12 +17,12 @@
 
 package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
 
+import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
-import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
-import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
+import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.InsertStatementContext;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
@@ -43,10 +43,11 @@ import java.util.Optional;
 /**
  * Insert value parameter rewriter for encrypt.
  */
+@RequiredArgsConstructor
 @Setter
-public final class EncryptInsertValueParameterRewriter implements 
ParameterRewriter, EncryptRuleAware, DatabaseNameAware {
+public final class EncryptInsertValueParameterRewriter implements 
ParameterRewriter, DatabaseNameAware {
     
-    private EncryptRule encryptRule;
+    private final EncryptRule encryptRule;
     
     private String databaseName;
     
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 64f0ba457bd..da53e329e3d 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
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.encrypt.rewrite.parameter.rewriter;
 
+import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.encrypt.rewrite.aware.DatabaseNameAware;
 import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptConditionsAware;
-import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import org.apache.shardingsphere.encrypt.rewrite.condition.EncryptCondition;
 import 
org.apache.shardingsphere.encrypt.rewrite.condition.impl.EncryptBinaryCondition;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
-import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
+import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
 import org.apache.shardingsphere.infra.binder.context.type.WhereAvailable;
@@ -42,10 +42,11 @@ import java.util.Map.Entry;
 /**
  * Predicate parameter rewriter for encrypt.
  */
+@RequiredArgsConstructor
 @Setter
-public final class EncryptPredicateParameterRewriter implements 
ParameterRewriter, EncryptRuleAware, EncryptConditionsAware, DatabaseNameAware {
+public final class EncryptPredicateParameterRewriter implements 
ParameterRewriter, EncryptConditionsAware, DatabaseNameAware {
     
-    private EncryptRule encryptRule;
+    private final EncryptRule encryptRule;
     
     private Collection<EncryptCondition> encryptConditions;
     
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
index 0b87a7ac11e..749be212eb3 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
@@ -17,8 +17,6 @@
 
 package org.apache.shardingsphere.encrypt.rewrite.token;
 
-import lombok.SneakyThrows;
-import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
 import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.projection.EncryptSelectProjectionTokenGenerator;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.orderby.OrderByItem;
@@ -29,10 +27,8 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Answers;
 import org.mockito.Mock;
-import org.mockito.internal.configuration.plugins.Plugins;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-import java.lang.reflect.Field;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
@@ -64,30 +60,5 @@ class EncryptTokenGenerateBuilderTest {
         Iterator<SQLTokenGenerator> iterator = sqlTokenGenerators.iterator();
         SQLTokenGenerator item1 = iterator.next();
         assertThat(item1, 
instanceOf(EncryptSelectProjectionTokenGenerator.class));
-        assertSQLTokenGenerator(item1);
-    }
-    
-    private void assertSQLTokenGenerator(final SQLTokenGenerator 
sqlTokenGenerator) {
-        if (sqlTokenGenerator instanceof EncryptRuleAware) {
-            assertField(sqlTokenGenerator, encryptRule, "encryptRule");
-        }
-    }
-    
-    @SneakyThrows(ReflectiveOperationException.class)
-    private void assertField(final SQLTokenGenerator sqlTokenGenerator, final 
Object filedInstance, final String fieldName) {
-        
assertThat(Plugins.getMemberAccessor().get(findField(sqlTokenGenerator.getClass(),
 fieldName, filedInstance.getClass()), sqlTokenGenerator), is(filedInstance));
-    }
-    
-    private Field findField(final Class<?> clazz, final String fieldName, 
final Class<?> fieldType) {
-        Class<?> searchClass = clazz;
-        while (null != searchClass && !Object.class.equals(searchClass)) {
-            for (Field each : searchClass.getDeclaredFields()) {
-                if (fieldName.equals(each.getName()) && 
fieldType.equals(each.getType())) {
-                    return each;
-                }
-            }
-            searchClass = searchClass.getSuperclass();
-        }
-        throw new IllegalStateException("No such field in class.");
     }
 }

Reply via email to