This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 ff0b3ba92dc Move EncryptAssignmentTokenGenerator to assignment package 
(#32335)
ff0b3ba92dc is described below

commit ff0b3ba92dc0e70af8b9da6ca2b80858545b2679
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jul 30 18:13:58 2024 +0800

    Move EncryptAssignmentTokenGenerator to assignment package (#32335)
    
    * Refactor EncryptAssignmentTokenGenerator
    
    * Move EncryptAssignmentTokenGenerator to assignment package
    
    * Move EncryptAssignmentTokenGenerator to assignment package
    
    * Move EncryptAssignmentTokenGenerator to assignment package
---
 .../rewrite/token/EncryptTokenGenerateBuilder.java       |  4 ++--
 .../EncryptAssignmentTokenGenerator.java                 | 16 +++++++---------
 .../EncryptAssignmentTokenGeneratorTest.java             |  5 +++--
 .../EncryptProjectionTokenGeneratorTest.java             |  3 +--
 4 files changed, 13 insertions(+), 15 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
index c661d612735..9d97562f480 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilder.java
@@ -24,7 +24,7 @@ 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.token.generator.EncryptAlterTableTokenGenerator;
-import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.EncryptAssignmentTokenGenerator;
+import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.assignment.EncryptAssignmentTokenGenerator;
 import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.EncryptCreateTableTokenGenerator;
 import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.EncryptGroupByItemTokenGenerator;
 import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.EncryptIndexColumnTokenGenerator;
@@ -82,8 +82,8 @@ public final class EncryptTokenGenerateBuilder implements 
SQLTokenGeneratorBuild
     }
     
     private void addSQLTokenGenerator(final Collection<SQLTokenGenerator> 
sqlTokenGenerators, final SQLTokenGenerator toBeAddedSQLTokenGenerator) {
+        setUpSQLTokenGenerator(toBeAddedSQLTokenGenerator);
         if 
(toBeAddedSQLTokenGenerator.isGenerateSQLToken(sqlStatementContext)) {
-            setUpSQLTokenGenerator(toBeAddedSQLTokenGenerator);
             sqlTokenGenerators.add(toBeAddedSQLTokenGenerator);
         }
     }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
similarity index 92%
rename from 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
rename to 
features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
index 26500f318a5..38e6da4f465 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGenerator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.encrypt.rewrite.token.generator;
+package org.apache.shardingsphere.encrypt.rewrite.token.generator.assignment;
 
 import com.google.common.base.Preconditions;
 import lombok.Setter;
@@ -61,24 +61,22 @@ public final class EncryptAssignmentTokenGenerator 
implements CollectionSQLToken
     
     @Override
     public boolean isGenerateSQLToken(final SQLStatementContext 
sqlStatementContext) {
-        return sqlStatementContext instanceof UpdateStatementContext || 
sqlStatementContext instanceof InsertStatementContext
-                && (((InsertStatementContext) 
sqlStatementContext).getSqlStatement()).getSetAssignment().isPresent();
+        return (sqlStatementContext instanceof UpdateStatementContext
+                || sqlStatementContext instanceof InsertStatementContext && 
(((InsertStatementContext) 
sqlStatementContext).getSqlStatement()).getSetAssignment().isPresent())
+                && encryptRule.findEncryptTable(((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue()).isPresent();
     }
     
     @Override
     public Collection<SQLToken> generateSQLTokens(final SQLStatementContext 
sqlStatementContext) {
         String tableName = ((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
-        Optional<EncryptTable> encryptTable = 
encryptRule.findEncryptTable(tableName);
-        if (!encryptTable.isPresent()) {
-            return Collections.emptyList();
-        }
+        EncryptTable encryptTable = encryptRule.getEncryptTable(tableName);
         Collection<SQLToken> result = new LinkedList<>();
         String schemaName = ((TableAvailable) 
sqlStatementContext).getTablesContext().getSchemaName()
                 .orElseGet(() -> new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(databaseName));
         for (ColumnAssignmentSegment each : 
getSetAssignmentSegment(sqlStatementContext.getSqlStatement()).getAssignments())
 {
             String columnName = 
each.getColumns().get(0).getIdentifier().getValue();
-            if (encryptTable.get().isEncryptColumn(columnName)) {
-                generateSQLToken(schemaName, encryptTable.get().getTable(), 
encryptTable.get().getEncryptColumn(columnName), each).ifPresent(result::add);
+            if (encryptTable.isEncryptColumn(columnName)) {
+                generateSQLToken(schemaName, encryptTable.getTable(), 
encryptTable.getEncryptColumn(columnName), each).ifPresent(result::add);
             }
         }
         return result;
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
similarity index 98%
rename from 
features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
rename to 
features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
index a2770842458..393c9f06908 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAssignmentTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.encrypt.rewrite.token.generator;
+package org.apache.shardingsphere.encrypt.rewrite.token.generator.assignment;
 
 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.dml.InsertStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.UpdateStatementContext;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.ColumnAssignmentSegment;
@@ -79,6 +79,7 @@ class EncryptAssignmentTokenGeneratorTest {
         when(encryptTable.isEncryptColumn("columns")).thenReturn(true);
         
when(encryptTable.getEncryptColumn("columns")).thenReturn(mock(EncryptColumn.class,
 RETURNS_DEEP_STUBS));
         
when(result.findEncryptTable("table")).thenReturn(Optional.of(encryptTable));
+        when(result.getEncryptTable("table")).thenReturn(encryptTable);
         return result;
     }
     
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGeneratorTest.java
similarity index 99%
rename from 
features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGeneratorTest.java
rename to 
features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGeneratorTest.java
index da194fdcfcd..1d05b5b8952 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/projection/EncryptProjectionTokenGeneratorTest.java
@@ -15,9 +15,8 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.encrypt.rewrite.token.generator;
+package org.apache.shardingsphere.encrypt.rewrite.token.generator.projection;
 
-import 
org.apache.shardingsphere.encrypt.rewrite.token.generator.projection.EncryptProjectionTokenGenerator;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;

Reply via email to