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 de99880b9e9 Refactor ShadowDetermineCondition (#33527)
de99880b9e9 is described below

commit de99880b9e9eccbb80fd778ba5dd2cbe9db35e0e
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Nov 4 14:25:20 2024 +0800

    Refactor ShadowDetermineCondition (#33527)
---
 .../shadow/condition/ShadowDetermineCondition.java     | 18 ++++--------------
 ...ractShadowDMLStatementDataSourceMappingsFinder.java |  2 +-
 .../ColumnShadowAlgorithmDeterminerTest.java           |  4 +---
 3 files changed, 6 insertions(+), 18 deletions(-)

diff --git 
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/condition/ShadowDetermineCondition.java
 
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/condition/ShadowDetermineCondition.java
index f032e2709c5..7619691b60c 100644
--- 
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/condition/ShadowDetermineCondition.java
+++ 
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/condition/ShadowDetermineCondition.java
@@ -18,11 +18,13 @@
 package org.apache.shardingsphere.shadow.condition;
 
 import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.shadow.spi.ShadowOperationType;
 
 /**
  * Shadow determine condition.
  */
+@RequiredArgsConstructor
 @Getter
 public final class ShadowDetermineCondition {
     
@@ -30,21 +32,9 @@ public final class ShadowDetermineCondition {
     
     private final ShadowOperationType shadowOperationType;
     
-    private ShadowColumnCondition shadowColumnCondition;
+    private final ShadowColumnCondition shadowColumnCondition;
     
     public ShadowDetermineCondition(final String tableName, final 
ShadowOperationType shadowOperationType) {
-        this.tableName = tableName;
-        this.shadowOperationType = shadowOperationType;
-    }
-    
-    /**
-     * Initialize shadow column condition.
-     *
-     * @param shadowColumnCondition shadow column condition
-     * @return shadow determine condition
-     */
-    public ShadowDetermineCondition initShadowColumnCondition(final 
ShadowColumnCondition shadowColumnCondition) {
-        this.shadowColumnCondition = shadowColumnCondition;
-        return this;
+        this(tableName, shadowOperationType, null);
     }
 }
diff --git 
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
 
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
index 35df01ab9b8..adeed4b4fdf 100644
--- 
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
+++ 
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/dml/AbstractShadowDMLStatementDataSourceMappingsFinder.java
@@ -143,7 +143,7 @@ public abstract class 
AbstractShadowDMLStatementDataSourceMappingsFinder impleme
     
     private boolean isMatchColumnShadowAlgorithm(final String shadowTable, 
final Collection<ColumnShadowAlgorithm<Comparable<?>>> algorithms, final 
ShadowColumnCondition condition) {
         for (ColumnShadowAlgorithm<Comparable<?>> each : algorithms) {
-            if (ColumnShadowAlgorithmDeterminer.isShadow(each, new 
ShadowDetermineCondition(shadowTable, 
operationType).initShadowColumnCondition(condition))) {
+            if (ColumnShadowAlgorithmDeterminer.isShadow(each, new 
ShadowDetermineCondition(shadowTable, operationType, condition))) {
                 return true;
             }
         }
diff --git 
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/determiner/ColumnShadowAlgorithmDeterminerTest.java
 
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/determiner/ColumnShadowAlgorithmDeterminerTest.java
index ae733e38c7f..4e3ab6c08a8 100644
--- 
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/determiner/ColumnShadowAlgorithmDeterminerTest.java
+++ 
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/route/determiner/ColumnShadowAlgorithmDeterminerTest.java
@@ -43,8 +43,6 @@ class ColumnShadowAlgorithmDeterminerTest {
     }
     
     private ShadowDetermineCondition createShadowDetermineCondition() {
-        ShadowDetermineCondition result = new 
ShadowDetermineCondition("t_order", ShadowOperationType.INSERT);
-        result.initShadowColumnCondition(new ShadowColumnCondition("t_order", 
"user_id", Collections.singleton(1)));
-        return result;
+        return new ShadowDetermineCondition("t_order", 
ShadowOperationType.INSERT, new ShadowColumnCondition("t_order", "user_id", 
Collections.singleton(1)));
     }
 }

Reply via email to