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)));
}
}