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

panjuan 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 f22805df669 Refactor for minor changes (#26506)
f22805df669 is described below

commit f22805df669753b724b6432d32d9fc115feb82b8
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Jun 23 14:07:01 2023 +0800

    Refactor for minor changes (#26506)
---
 .../generator/EncryptAssignmentTokenGenerator.java | 27 +++++++++++-----------
 .../EncryptIndexColumnTokenGenerator.java          | 14 ++++-------
 .../generator/EncryptProjectionTokenGenerator.java |  4 ++--
 .../EncryptCreateTableTokenGeneratorTest.java      |  9 ++------
 4 files changed, 21 insertions(+), 33 deletions(-)

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/EncryptAssignmentTokenGenerator.java
index cb2f408644a..ebdd52eee48 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/EncryptAssignmentTokenGenerator.java
@@ -94,7 +94,7 @@ public final class EncryptAssignmentTokenGenerator implements 
CollectionSQLToken
             return Optional.of(generateParameterSQLToken(encryptTable, 
assignmentSegment));
         }
         if (assignmentSegment.getValue() instanceof LiteralExpressionSegment) {
-            return Optional.of(generateLiteralSQLToken(schemaName, 
encryptTable, encryptColumn, assignmentSegment));
+            return Optional.of(generateLiteralSQLToken(schemaName, 
encryptTable.getTable(), encryptColumn, assignmentSegment));
         }
         return Optional.empty();
     }
@@ -109,38 +109,37 @@ public final class EncryptAssignmentTokenGenerator 
implements CollectionSQLToken
         return result;
     }
     
-    private EncryptAssignmentToken generateLiteralSQLToken(final String 
schemaName, final EncryptTable encryptTable, final EncryptColumn encryptColumn, 
final AssignmentSegment assignmentSegment) {
+    private EncryptAssignmentToken generateLiteralSQLToken(final String 
schemaName, final String tableName, final EncryptColumn encryptColumn, final 
AssignmentSegment assignmentSegment) {
         EncryptLiteralAssignmentToken result = new 
EncryptLiteralAssignmentToken(assignmentSegment.getColumns().get(0).getStartIndex(),
 assignmentSegment.getStopIndex());
-        addCipherAssignment(schemaName, encryptTable, encryptColumn, 
assignmentSegment, result);
-        addAssistedQueryAssignment(schemaName, encryptTable, encryptColumn, 
assignmentSegment, result);
-        addLikeAssignment(schemaName, encryptTable, encryptColumn, 
assignmentSegment, result);
+        addCipherAssignment(schemaName, tableName, encryptColumn, 
assignmentSegment, result);
+        addAssistedQueryAssignment(schemaName, tableName, encryptColumn, 
assignmentSegment, result);
+        addLikeAssignment(schemaName, tableName, encryptColumn, 
assignmentSegment, result);
         return result;
     }
     
-    private void addCipherAssignment(final String schemaName, final 
EncryptTable encryptTable,
+    private void addCipherAssignment(final String schemaName, final String 
tableName,
                                      final EncryptColumn encryptColumn, final 
AssignmentSegment assignmentSegment, final EncryptLiteralAssignmentToken token) 
{
         Object originalValue = ((LiteralExpressionSegment) 
assignmentSegment.getValue()).getLiterals();
-        Object cipherValue = encryptColumn.getCipher().encrypt(databaseName, 
schemaName, encryptTable.getTable(), 
assignmentSegment.getColumns().get(0).getIdentifier().getValue(),
-                Collections.singletonList(originalValue)).iterator().next();
-        
token.addAssignment(encryptTable.getEncryptColumn(assignmentSegment.getColumns().get(0).getIdentifier().getValue()).getCipher().getName(),
 cipherValue);
+        Object cipherValue = encryptColumn.getCipher().encrypt(databaseName, 
schemaName, tableName, encryptColumn.getName(), 
Collections.singletonList(originalValue)).iterator().next();
+        token.addAssignment(encryptColumn.getCipher().getName(), cipherValue);
     }
     
-    private void addAssistedQueryAssignment(final String schemaName, final 
EncryptTable encryptTable, final EncryptColumn encryptColumn,
+    private void addAssistedQueryAssignment(final String schemaName, final 
String tableName, final EncryptColumn encryptColumn,
                                             final AssignmentSegment 
assignmentSegment, final EncryptLiteralAssignmentToken token) {
         Object originalValue = ((LiteralExpressionSegment) 
assignmentSegment.getValue()).getLiterals();
         if (encryptColumn.getAssistedQuery().isPresent()) {
-            Object assistedQueryValue = 
encryptColumn.getAssistedQuery().get().encrypt(databaseName, schemaName,
-                    encryptTable.getTable(), 
assignmentSegment.getColumns().get(0).getIdentifier().getValue(), 
Collections.singletonList(originalValue)).iterator().next();
+            Object assistedQueryValue = 
encryptColumn.getAssistedQuery().get().encrypt(
+                    databaseName, schemaName, tableName, 
encryptColumn.getName(), 
Collections.singletonList(originalValue)).iterator().next();
             
token.addAssignment(encryptColumn.getAssistedQuery().get().getName(), 
assistedQueryValue);
         }
     }
     
-    private void addLikeAssignment(final String schemaName, final EncryptTable 
encryptTable, final EncryptColumn encryptColumn,
+    private void addLikeAssignment(final String schemaName, final String 
tableName, final EncryptColumn encryptColumn,
                                    final AssignmentSegment assignmentSegment, 
final EncryptLiteralAssignmentToken token) {
         Object originalValue = ((LiteralExpressionSegment) 
assignmentSegment.getValue()).getLiterals();
         if (encryptColumn.getLikeQuery().isPresent()) {
             Object assistedQueryValue = 
encryptColumn.getLikeQuery().get().encrypt(databaseName, schemaName,
-                    encryptTable.getTable(), 
assignmentSegment.getColumns().get(0).getIdentifier().getValue(), 
Collections.singletonList(originalValue)).iterator().next();
+                    tableName, 
assignmentSegment.getColumns().get(0).getIdentifier().getValue(), 
Collections.singletonList(originalValue)).iterator().next();
             token.addAssignment(encryptColumn.getLikeQuery().get().getName(), 
assistedQueryValue);
         }
     }
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
index dae1b62adb9..63682a4d934 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptIndexColumnTokenGenerator.java
@@ -74,18 +74,12 @@ public final class EncryptIndexColumnTokenGenerator 
implements CollectionSQLToke
         int startIndex = columnSegment.getStartIndex();
         int stopIndex = columnSegment.getStopIndex();
         EncryptColumn encryptColumn = 
encryptTable.getEncryptColumn(columnSegment.getIdentifier().getValue());
-        return encryptColumn.getAssistedQuery().map(optional -> 
getAssistedQueryColumnToken(startIndex, stopIndex, optional.getName(), 
quoteCharacter))
-                .orElseGet(() -> getCipherColumnToken(encryptColumn, 
startIndex, stopIndex, quoteCharacter));
+        String queryColumnName = encryptColumn.getAssistedQuery().isPresent() 
? encryptColumn.getAssistedQuery().get().getName() : 
encryptColumn.getCipher().getName();
+        return getQueryColumnToken(startIndex, stopIndex, queryColumnName, 
quoteCharacter);
     }
     
-    private Optional<SQLToken> getAssistedQueryColumnToken(final int 
startIndex, final int stopIndex, final String columnName, final QuoteCharacter 
quoteCharacter) {
-        Collection<Projection> columnProjections = 
getColumnProjections(columnName, quoteCharacter);
-        return Optional.of(new SubstitutableColumnNameToken(startIndex, 
stopIndex, columnProjections, quoteCharacter));
-    }
-    
-    private Optional<SQLToken> getCipherColumnToken(final EncryptColumn 
encryptColumn, final int startIndex, final int stopIndex, final QuoteCharacter 
quoteCharacter) {
-        String cipherColumn = encryptColumn.getCipher().getName();
-        Collection<Projection> columnProjections = 
getColumnProjections(cipherColumn, quoteCharacter);
+    private Optional<SQLToken> getQueryColumnToken(final int startIndex, final 
int stopIndex, final String queryColumnName, final QuoteCharacter 
quoteCharacter) {
+        Collection<Projection> columnProjections = 
getColumnProjections(queryColumnName, quoteCharacter);
         return Optional.of(new SubstitutableColumnNameToken(startIndex, 
stopIndex, columnProjections, quoteCharacter));
     }
     
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
index f8e98de83f7..e0f12b6d497 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptProjectionTokenGenerator.java
@@ -202,9 +202,9 @@ public final class EncryptProjectionTokenGenerator 
implements CollectionSQLToken
     }
     
     private ColumnProjection generateCommonProjection(final EncryptColumn 
encryptColumn, final ColumnProjection column, final ShorthandProjectionSegment 
segment) {
-        String encryptColumnName = encryptColumn.getCipher().getName();
+        String queryColumnName = encryptColumn.getCipher().getName();
         IdentifierValue owner = (null == segment || 
!segment.getOwner().isPresent()) ? column.getOwnerIdentifier() : 
segment.getOwner().get().getIdentifier();
-        return new ColumnProjection(owner, new 
IdentifierValue(encryptColumnName, 
column.getNameIdentifier().getQuoteCharacter()), column.getAlias().isPresent()
+        return new ColumnProjection(owner, new 
IdentifierValue(queryColumnName, 
column.getNameIdentifier().getQuoteCharacter()), column.getAlias().isPresent()
                 ? column.getAliasIdentifier()
                 : column.getNameIdentifier());
     }
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGeneratorTest.java
index 4eebd699206..f059b9d3cf3 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptCreateTableTokenGeneratorTest.java
@@ -41,7 +41,6 @@ import org.junit.jupiter.api.Test;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.Optional;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
@@ -68,13 +67,9 @@ class EncryptCreateTableTokenGeneratorTest {
     
     private EncryptTable mockEncryptTable() {
         EncryptTable result = mock(EncryptTable.class, RETURNS_DEEP_STUBS);
-        EncryptColumn column = mockEncryptColumn();
+        EncryptColumn encryptColumn = mockEncryptColumn();
         when(result.isEncryptColumn("certificate_number")).thenReturn(true);
-        
when(result.getEncryptColumn("certificate_number").getCipher().getName()).thenReturn(column.getCipher().getName());
-        when(result.getEncryptColumn("certificate_number").getAssistedQuery())
-                .thenReturn(Optional.of(new 
AssistedQueryColumnItem(column.getAssistedQuery().map(AssistedQueryColumnItem::getName).orElse(null),
 mock(AssistedEncryptAlgorithm.class))));
-        when(result.getEncryptColumn("certificate_number").getLikeQuery())
-                .thenReturn(Optional.of(new 
LikeQueryColumnItem(column.getLikeQuery().map(LikeQueryColumnItem::getName).orElse(null),
 mock(LikeEncryptAlgorithm.class))));
+        
when(result.getEncryptColumn("certificate_number")).thenReturn(encryptColumn);
         return result;
     }
     

Reply via email to