This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 8f2148a1f5f Remove useless ShardingRuleAware (#32414)
8f2148a1f5f is described below
commit 8f2148a1f5f97364e6a4127385019e697a8840d1
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Aug 5 23:37:43 2024 +0800
Remove useless ShardingRuleAware (#32414)
* Refactor ShardingTokenGenerateBuilder
* Remove useless ShardingRuleAware
---
.../rewrite/token/EncryptTokenGenerateBuilder.java | 4 ---
.../ShardingSQLRewriteContextDecorator.java | 2 +-
.../ShardingParameterRewriterBuilder.java | 9 +-----
.../token/ShardingTokenGenerateBuilder.java | 24 +++++++---------
.../impl/ShardingConstraintTokenGenerator.java | 9 +++---
.../impl/ShardingCursorTokenGenerator.java | 9 +++---
.../impl/ShardingIndexTokenGenerator.java | 7 +++--
.../impl/ShardingTableTokenGenerator.java | 7 +++--
.../sharding/rule/aware/ShardingRuleAware.java | 33 ----------------------
.../ShardingParameterRewriterBuilderTest.java | 6 ++--
.../token/ShardingTokenGenerateBuilderTest.java | 4 ---
.../ShardingConstraintTokenGeneratorTest.java | 5 ++--
.../ShardingCursorTokenGeneratorTest.java | 5 ++--
.../generator/ShardingIndexTokenGeneratorTest.java | 5 ++--
.../token/generator/TableTokenGeneratorTest.java | 12 +++-----
15 files changed, 41 insertions(+), 100 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 056e8e07165..b948ce29b80 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
@@ -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.token.generator.assignment.EncryptInsertAssignmentTokenGenerator;
import
org.apache.shardingsphere.encrypt.rewrite.token.generator.assignment.EncryptUpdateAssignmentTokenGenerator;
@@ -89,9 +88,6 @@ public final class EncryptTokenGenerateBuilder implements
SQLTokenGeneratorBuild
}
private void setUpSQLTokenGenerator(final SQLTokenGenerator
toBeAddedSQLTokenGenerator) {
- if (toBeAddedSQLTokenGenerator instanceof EncryptRuleAware) {
- ((EncryptRuleAware)
toBeAddedSQLTokenGenerator).setEncryptRule(encryptRule);
- }
if (toBeAddedSQLTokenGenerator instanceof EncryptConditionsAware) {
((EncryptConditionsAware)
toBeAddedSQLTokenGenerator).setEncryptConditions(encryptConditions);
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
index 28d870260e2..a1f4cff49b7 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/context/ShardingSQLRewriteContextDecorator.java
@@ -52,7 +52,7 @@ public final class ShardingSQLRewriteContextDecorator
implements SQLRewriteConte
}
if (!sqlRewriteContext.getParameters().isEmpty()) {
Collection<ParameterRewriter> parameterRewriters =
- new ShardingParameterRewriterBuilder(shardingRule,
routeContext, sqlRewriteContext.getDatabase().getSchemas(),
sqlStatementContext).getParameterRewriters();
+ new ShardingParameterRewriterBuilder(routeContext,
sqlRewriteContext.getDatabase().getSchemas(),
sqlStatementContext).getParameterRewriters();
rewriteParameters(sqlRewriteContext, parameterRewriters);
}
sqlRewriteContext.addSQLTokenGenerators(new
ShardingTokenGenerateBuilder(shardingRule, routeContext,
sqlStatementContext).getSQLTokenGenerators());
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
index ddcd5e17cad..0bcd340b3ee 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilder.java
@@ -22,13 +22,11 @@ import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementCont
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.ParameterRewriter;
import
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.ParameterRewriterBuilder;
+import
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.keygen.GeneratedKeyInsertValueParameterRewriter;
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.aware.RouteContextAware;
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.aware.SchemaMetaDataAware;
import org.apache.shardingsphere.infra.route.context.RouteContext;
-import
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.keygen.GeneratedKeyInsertValueParameterRewriter;
import
org.apache.shardingsphere.sharding.rewrite.parameter.impl.ShardingPaginationParameterRewriter;
-import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import java.util.Collection;
import java.util.LinkedList;
@@ -40,8 +38,6 @@ import java.util.Map;
@RequiredArgsConstructor
public final class ShardingParameterRewriterBuilder implements
ParameterRewriterBuilder {
- private final ShardingRule shardingRule;
-
private final RouteContext routeContext;
private final Map<String, ShardingSphereSchema> schemas;
@@ -60,9 +56,6 @@ public final class ShardingParameterRewriterBuilder
implements ParameterRewriter
if (toBeAddedParamRewriter instanceof SchemaMetaDataAware) {
((SchemaMetaDataAware) toBeAddedParamRewriter).setSchemas(schemas);
}
- if (toBeAddedParamRewriter instanceof ShardingRuleAware) {
- ((ShardingRuleAware)
toBeAddedParamRewriter).setShardingRule(shardingRule);
- }
if (toBeAddedParamRewriter instanceof RouteContextAware) {
((RouteContextAware)
toBeAddedParamRewriter).setRouteContext(routeContext);
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilder.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilder.java
index 7143637cb8f..3879acd0064 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilder.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilder.java
@@ -22,6 +22,10 @@ import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementCont
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.SQLTokenGenerator;
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.aware.RouteContextAware;
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.builder.SQLTokenGeneratorBuilder;
+import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyAssignmentTokenGenerator;
+import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyForUseDefaultInsertColumnsTokenGenerator;
+import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyInsertColumnTokenGenerator;
+import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyInsertValuesTokenGenerator;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.IgnoreForSingleRoute;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingAggregationDistinctTokenGenerator;
@@ -30,19 +34,14 @@ import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingC
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingDistinctProjectionPrefixTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingFetchDirectionTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingIndexTokenGenerator;
+import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingInsertValuesTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingOffsetTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingOrderByTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingProjectionsTokenGenerator;
-import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingRowCountTokenGenerator;
-import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingInsertValuesTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingRemoveTokenGenerator;
+import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingRowCountTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingTableTokenGenerator;
-import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyAssignmentTokenGenerator;
-import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyForUseDefaultInsertColumnsTokenGenerator;
-import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyInsertColumnTokenGenerator;
-import
org.apache.shardingsphere.infra.rewrite.sql.token.keygen.generator.GeneratedKeyInsertValuesTokenGenerator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import java.util.Collection;
import java.util.LinkedList;
@@ -62,13 +61,13 @@ public final class ShardingTokenGenerateBuilder implements
SQLTokenGeneratorBuil
@Override
public Collection<SQLTokenGenerator> getSQLTokenGenerators() {
Collection<SQLTokenGenerator> result = new LinkedList<>();
- addSQLTokenGenerator(result, new ShardingTableTokenGenerator());
+ addSQLTokenGenerator(result, new
ShardingTableTokenGenerator(shardingRule));
addSQLTokenGenerator(result, new
ShardingDistinctProjectionPrefixTokenGenerator());
addSQLTokenGenerator(result, new ShardingProjectionsTokenGenerator());
addSQLTokenGenerator(result, new ShardingOrderByTokenGenerator());
addSQLTokenGenerator(result, new
ShardingAggregationDistinctTokenGenerator());
- addSQLTokenGenerator(result, new ShardingIndexTokenGenerator());
- addSQLTokenGenerator(result, new ShardingConstraintTokenGenerator());
+ addSQLTokenGenerator(result, new
ShardingIndexTokenGenerator(shardingRule));
+ addSQLTokenGenerator(result, new
ShardingConstraintTokenGenerator(shardingRule));
addSQLTokenGenerator(result, new ShardingOffsetTokenGenerator());
addSQLTokenGenerator(result, new ShardingRowCountTokenGenerator());
addSQLTokenGenerator(result, new
GeneratedKeyInsertColumnTokenGenerator());
@@ -77,7 +76,7 @@ public final class ShardingTokenGenerateBuilder implements
SQLTokenGeneratorBuil
addSQLTokenGenerator(result, new ShardingInsertValuesTokenGenerator());
addSQLTokenGenerator(result, new
GeneratedKeyInsertValuesTokenGenerator());
addSQLTokenGenerator(result, new ShardingRemoveTokenGenerator());
- addSQLTokenGenerator(result, new ShardingCursorTokenGenerator());
+ addSQLTokenGenerator(result, new
ShardingCursorTokenGenerator(shardingRule));
addSQLTokenGenerator(result, new
ShardingFetchDirectionTokenGenerator());
return result;
}
@@ -86,9 +85,6 @@ public final class ShardingTokenGenerateBuilder implements
SQLTokenGeneratorBuil
if (toBeAddedSQLTokenGenerator instanceof IgnoreForSingleRoute &&
routeContext.isSingleRouting()) {
return;
}
- if (toBeAddedSQLTokenGenerator instanceof ShardingRuleAware) {
- ((ShardingRuleAware)
toBeAddedSQLTokenGenerator).setShardingRule(shardingRule);
- }
if (toBeAddedSQLTokenGenerator instanceof RouteContextAware) {
((RouteContextAware)
toBeAddedSQLTokenGenerator).setRouteContext(routeContext);
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingConstraintTokenGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingConstraintTokenGenerator.java
index cb252bdbdb7..44a392b2e95 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingConstraintTokenGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingConstraintTokenGenerator.java
@@ -17,14 +17,13 @@
package org.apache.shardingsphere.sharding.rewrite.token.generator.impl;
-import lombok.Setter;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.ConstraintAvailable;
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.CollectionSQLTokenGenerator;
import org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.SQLToken;
import org.apache.shardingsphere.sharding.rewrite.token.pojo.ConstraintToken;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constraint.ConstraintSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
@@ -34,10 +33,10 @@ import java.util.LinkedList;
/**
* Sharding constraint token generator.
*/
-@Setter
-public final class ShardingConstraintTokenGenerator implements
CollectionSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware {
+@RequiredArgsConstructor
+public final class ShardingConstraintTokenGenerator implements
CollectionSQLTokenGenerator<SQLStatementContext> {
- private ShardingRule shardingRule;
+ private final ShardingRule shardingRule;
@Override
public boolean isGenerateSQLToken(final SQLStatementContext
sqlStatementContext) {
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingCursorTokenGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingCursorTokenGenerator.java
index 2c9f637577f..2988d01211e 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingCursorTokenGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingCursorTokenGenerator.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.sharding.rewrite.token.generator.impl;
-import lombok.Setter;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.CursorAvailable;
import
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.OptionalSQLTokenGenerator;
@@ -25,16 +25,15 @@ import
org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.SQLToken;
import
org.apache.shardingsphere.sharding.exception.connection.CursorNameNotFoundException;
import org.apache.shardingsphere.sharding.rewrite.token.pojo.CursorToken;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.cursor.CursorNameSegment;
/**
* Sharding cursor token generator.
*/
-@Setter
-public final class ShardingCursorTokenGenerator implements
OptionalSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware {
+@RequiredArgsConstructor
+public final class ShardingCursorTokenGenerator implements
OptionalSQLTokenGenerator<SQLStatementContext> {
- private ShardingRule shardingRule;
+ private final ShardingRule shardingRule;
@Override
public boolean isGenerateSQLToken(final SQLStatementContext
sqlStatementContext) {
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingIndexTokenGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingIndexTokenGenerator.java
index eea53496126..a547759f330 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingIndexTokenGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingIndexTokenGenerator.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sharding.rewrite.token.generator.impl;
+import lombok.RequiredArgsConstructor;
import lombok.Setter;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.context.type.IndexAvailable;
@@ -30,7 +31,6 @@ import
org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.SQLToken;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sharding.rewrite.token.pojo.IndexToken;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment;
import java.util.Collection;
@@ -40,10 +40,11 @@ import java.util.Map;
/**
* Sharding index token generator.
*/
+@RequiredArgsConstructor
@Setter
-public final class ShardingIndexTokenGenerator implements
CollectionSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware,
SchemaMetaDataAware {
+public final class ShardingIndexTokenGenerator implements
CollectionSQLTokenGenerator<SQLStatementContext>, SchemaMetaDataAware {
- private ShardingRule shardingRule;
+ private final ShardingRule shardingRule;
private Map<String, ShardingSphereSchema> schemas;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingTableTokenGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingTableTokenGenerator.java
index 2a3674c0afe..622b8c360ca 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingTableTokenGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/ShardingTableTokenGenerator.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sharding.rewrite.token.generator.impl;
+import lombok.RequiredArgsConstructor;
import lombok.Setter;
import org.apache.shardingsphere.infra.binder.context.aware.CursorAware;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
@@ -27,7 +28,6 @@ import
org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.SQLToken;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import
org.apache.shardingsphere.sharding.rewrite.token.pojo.ShardingTableToken;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableNameSegment;
@@ -38,10 +38,11 @@ import java.util.LinkedList;
/**
* Sharding table token generator.
*/
+@RequiredArgsConstructor
@Setter
-public final class ShardingTableTokenGenerator implements
CollectionSQLTokenGenerator<SQLStatementContext>, ShardingRuleAware,
RouteContextAware {
+public final class ShardingTableTokenGenerator implements
CollectionSQLTokenGenerator<SQLStatementContext>, RouteContextAware {
- private ShardingRule shardingRule;
+ private final ShardingRule shardingRule;
private RouteContext routeContext;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/aware/ShardingRuleAware.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/aware/ShardingRuleAware.java
deleted file mode 100644
index aba0532a9c3..00000000000
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/aware/ShardingRuleAware.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.sharding.rule.aware;
-
-import org.apache.shardingsphere.sharding.rule.ShardingRule;
-
-/**
- * Sharding rule aware.
- */
-public interface ShardingRuleAware {
-
- /**
- * Set sharding rule.
- *
- * @param shardingRule sharding rule
- */
- void setShardingRule(ShardingRule shardingRule);
-}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilderTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilderTest.java
index 76d3376c0f3..084babd58e5 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilderTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameter/ShardingParameterRewriterBuilderTest.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import
org.apache.shardingsphere.infra.rewrite.parameter.rewriter.ParameterRewriter;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import
org.apache.shardingsphere.sharding.rewrite.parameter.impl.ShardingPaginationParameterRewriter;
-import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.junit.jupiter.api.Test;
import java.util.Collection;
@@ -43,7 +42,7 @@ class ShardingParameterRewriterBuilderTest {
SelectStatementContext statementContext =
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(statementContext.getPaginationContext().isHasPagination()).thenReturn(true);
Collection<ParameterRewriter> actual = new
ShardingParameterRewriterBuilder(
- mock(ShardingRule.class), mock(RouteContext.class),
Collections.singletonMap("test", mock(ShardingSphereSchema.class)),
statementContext).getParameterRewriters();
+ mock(RouteContext.class), Collections.singletonMap("test",
mock(ShardingSphereSchema.class)), statementContext).getParameterRewriters();
assertThat(actual.size(), is(1));
assertThat(actual.iterator().next(),
instanceOf(ShardingPaginationParameterRewriter.class));
}
@@ -54,7 +53,6 @@ class ShardingParameterRewriterBuilderTest {
when(routeContext.isSingleRouting()).thenReturn(true);
SelectStatementContext statementContext =
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(statementContext.getPaginationContext().isHasPagination()).thenReturn(true);
- assertTrue(new ShardingParameterRewriterBuilder(
- mock(ShardingRule.class), routeContext,
Collections.singletonMap("test", mock(ShardingSphereSchema.class)),
statementContext).getParameterRewriters().isEmpty());
+ assertTrue(new ShardingParameterRewriterBuilder(routeContext,
Collections.singletonMap("test", mock(ShardingSphereSchema.class)),
statementContext).getParameterRewriters().isEmpty());
}
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
index 66f77a2b835..b04a26c93a6 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingD
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingRemoveTokenGenerator;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingTableTokenGenerator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.internal.configuration.plugins.Plugins;
@@ -77,9 +76,6 @@ class ShardingTokenGenerateBuilderTest {
}
private void assertSqlTokenGenerator(final SQLTokenGenerator
sqlTokenGenerator) throws Exception {
- if (sqlTokenGenerator instanceof ShardingRuleAware) {
- assertField(sqlTokenGenerator, shardingRule, "shardingRule");
- }
if (sqlTokenGenerator instanceof RouteContextAware) {
assertField(sqlTokenGenerator, routeContext, "routeContext");
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingConstraintTokenGeneratorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingConstraintTokenGeneratorTest.java
index 57fe54c9949..490284380ba 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingConstraintTokenGeneratorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingConstraintTokenGeneratorTest.java
@@ -42,7 +42,7 @@ class ShardingConstraintTokenGeneratorTest {
@Test
void assertIsGenerateSQLToken() {
- ShardingConstraintTokenGenerator generator = new
ShardingConstraintTokenGenerator();
+ ShardingConstraintTokenGenerator generator = new
ShardingConstraintTokenGenerator(mock(ShardingRule.class));
assertFalse(generator.isGenerateSQLToken(mock(UnknownSQLStatementContext.class)));
AlterTableStatementContext alterTableStatementContext =
mock(AlterTableStatementContext.class);
Collection<ConstraintSegment> constraintSegments = new LinkedList<>();
@@ -61,8 +61,7 @@ class ShardingConstraintTokenGeneratorTest {
when(constraintSegment.getIdentifier()).thenReturn(constraintIdentifier);
AlterTableStatementContext alterTableStatementContext =
mock(AlterTableStatementContext.class);
when(alterTableStatementContext.getConstraints()).thenReturn(Collections.singleton(constraintSegment));
- ShardingConstraintTokenGenerator generator = new
ShardingConstraintTokenGenerator();
- generator.setShardingRule(mock(ShardingRule.class));
+ ShardingConstraintTokenGenerator generator = new
ShardingConstraintTokenGenerator(mock(ShardingRule.class));
Collection<SQLToken> actual =
generator.generateSQLTokens(alterTableStatementContext);
assertThat(actual.size(), is(1));
assertConstraintToken((ConstraintToken) actual.iterator().next());
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingCursorTokenGeneratorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingCursorTokenGeneratorTest.java
index 79dfbfbfb6d..652060890b8 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingCursorTokenGeneratorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingCursorTokenGeneratorTest.java
@@ -25,6 +25,7 @@ import
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatem
import org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.SQLToken;
import
org.apache.shardingsphere.sharding.rewrite.token.generator.impl.ShardingCursorTokenGenerator;
import org.apache.shardingsphere.sharding.rewrite.token.pojo.CursorToken;
+import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.cursor.CursorNameSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import org.junit.jupiter.api.Test;
@@ -42,7 +43,7 @@ class ShardingCursorTokenGeneratorTest {
@Test
void assertIsGenerateSQLToken() {
- ShardingCursorTokenGenerator generator = new
ShardingCursorTokenGenerator();
+ ShardingCursorTokenGenerator generator = new
ShardingCursorTokenGenerator(mock(ShardingRule.class));
assertFalse(generator.isGenerateSQLToken(mock(SelectStatementContext.class)));
Optional<CursorNameSegment> cursorName = Optional.of(new
CursorNameSegment(0, 0, new IdentifierValue("t_order_cursor")));
CursorStatementContext cursorStatementContext =
mock(CursorStatementContext.class);
@@ -61,7 +62,7 @@ class ShardingCursorTokenGeneratorTest {
@Test
void assertGenerateSQLToken() {
- ShardingCursorTokenGenerator generator = new
ShardingCursorTokenGenerator();
+ ShardingCursorTokenGenerator generator = new
ShardingCursorTokenGenerator(mock(ShardingRule.class));
CursorStatementContext statementContext =
mock(CursorStatementContext.class);
when(statementContext.getCursorName()).thenReturn(Optional.of(new
CursorNameSegment(0, 0, new IdentifierValue("t_order_cursor"))));
SQLToken actual = generator.generateSQLToken(statementContext);
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingIndexTokenGeneratorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingIndexTokenGeneratorTest.java
index fd082c2a7da..15dce27a5ca 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingIndexTokenGeneratorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/ShardingIndexTokenGeneratorTest.java
@@ -48,7 +48,7 @@ class ShardingIndexTokenGeneratorTest {
@Test
void assertIsGenerateSQLToken() {
UnknownSQLStatementContext sqlStatementContext =
mock(UnknownSQLStatementContext.class);
- ShardingIndexTokenGenerator generator = new
ShardingIndexTokenGenerator();
+ ShardingIndexTokenGenerator generator = new
ShardingIndexTokenGenerator(mock(ShardingRule.class));
assertFalse(generator.isGenerateSQLToken(sqlStatementContext));
AlterIndexStatementContext alterIndexStatementContext =
mock(AlterIndexStatementContext.class);
Collection<IndexSegment> indexSegments = new LinkedList<>();
@@ -69,8 +69,7 @@ class ShardingIndexTokenGeneratorTest {
when(alterIndexStatementContext.getIndexes()).thenReturn(Collections.singleton(indexSegment));
when(alterIndexStatementContext.getDatabaseType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
"FIXTURE"));
when(alterIndexStatementContext.getTablesContext().getSchemaName()).thenReturn(Optional.empty());
- ShardingIndexTokenGenerator generator = new
ShardingIndexTokenGenerator();
- generator.setShardingRule(mock(ShardingRule.class));
+ ShardingIndexTokenGenerator generator = new
ShardingIndexTokenGenerator(mock(ShardingRule.class));
generator.setSchemas(Collections.singletonMap("test",
mock(ShardingSphereSchema.class)));
Collection<SQLToken> actual =
generator.generateSQLTokens(alterIndexStatementContext);
assertThat(actual.size(), is(1));
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
index 119be4eadda..1394e594439 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/generator/TableTokenGeneratorTest.java
@@ -50,23 +50,20 @@ class TableTokenGeneratorTest {
@Test
void assertIsGenerateSQLTokenWhenConfigAllBindingTables() {
- ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator();
ShardingRule shardingRule = mock(ShardingRule.class);
Collection<String> logicTableNames = Arrays.asList("t_order",
"t_order_item");
when(shardingRule.getShardingLogicTableNames(logicTableNames)).thenReturn(logicTableNames);
when(shardingRule.isAllBindingTables(logicTableNames)).thenReturn(true);
- generator.setShardingRule(shardingRule);
SelectStatementContext sqlStatementContext =
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(logicTableNames);
- assertTrue(generator.isGenerateSQLToken(sqlStatementContext));
+ assertTrue(new
ShardingTableTokenGenerator(shardingRule).isGenerateSQLToken(sqlStatementContext));
}
@Test
void assertIsGenerateSQLTokenWhenContainsTableSharding() {
- ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator();
+ ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator(mock(ShardingRule.class));
RouteContext routeContext = mock(RouteContext.class);
when(routeContext.containsTableSharding()).thenReturn(true);
- generator.setShardingRule(mock(ShardingRule.class));
generator.setRouteContext(routeContext);
SQLStatementContext sqlStatementContext =
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
assertTrue(generator.isGenerateSQLToken(sqlStatementContext));
@@ -76,8 +73,7 @@ class TableTokenGeneratorTest {
void assertGenerateSQLTokenWhenSQLStatementIsTableAvailable() {
ShardingRule shardingRule = mock(ShardingRule.class);
when(shardingRule.findShardingTable(anyString())).thenReturn(Optional.of(mock(ShardingTable.class)));
- ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator();
- generator.setShardingRule(shardingRule);
+ ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator(shardingRule);
CreateTableStatementContext sqlStatementContext =
mock(CreateTableStatementContext.class, RETURNS_DEEP_STUBS);
when(sqlStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.singletonList(new
SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_order")))));
Collection<SQLToken> actual =
generator.generateSQLTokens(sqlStatementContext);
@@ -87,7 +83,7 @@ class TableTokenGeneratorTest {
@Test
void assertGenerateSQLTokenWhenSQLStatementIsNotTableAvailable() {
- ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator();
+ ShardingTableTokenGenerator generator = new
ShardingTableTokenGenerator(mock(ShardingRule.class));
SQLStatementContext sqlStatementContext =
mock(UnknownSQLStatementContext.class);
assertThat(generator.generateSQLTokens(sqlStatementContext),
is(Collections.emptyList()));
}