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 1de0568 remove DistributedSchemaRuleBuilder and
EnhancedSchemaRuleBuilder (#11639)
1de0568 is described below
commit 1de0568c36f2eb905b7d51bb72346cf11fb92c49
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Wed Aug 4 17:52:02 2021 +0800
remove DistributedSchemaRuleBuilder and EnhancedSchemaRuleBuilder (#11639)
* remove DistributedSchemaRuleBuilder and EnhancedSchemaRuleBuilder
* optimize logic
* fix checkstyle
* fix test case
---
.../config/DatabaseDiscoveryRuleConfiguration.java | 3 ++-
...ProvidedDatabaseDiscoveryRuleConfiguration.java | 3 ++-
...orithmProvidedDatabaseDiscoveryRuleBuilder.java | 4 ++--
.../rule/builder/DatabaseDiscoveryRuleBuilder.java | 4 ++--
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
...hmProvidedDatabaseDiscoveryRuleBuilderTest.java | 5 ++--
.../builder/DatabaseDiscoveryRuleBuilderTest.java | 5 ++--
.../api/config/EncryptRuleConfiguration.java | 3 ++-
.../AlgorithmProvidedEncryptRuleConfiguration.java | 3 ++-
.../AlgorithmProvidedEncryptRuleBuilder.java | 4 ++--
.../encrypt/rule/builder/EncryptRuleBuilder.java | 4 ++--
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
.../AlgorithmProvidedEncryptRuleBuilderTest.java | 5 ++--
.../rule/builder/EncryptRuleBuilderTest.java | 5 ++--
.../api/ReadwriteSplittingRuleConfiguration.java | 3 ++-
...rovidedReadwriteSplittingRuleConfiguration.java | 3 ++-
...rithmProvidedReadwriteSplittingRuleBuilder.java | 4 ++--
.../builder/ReadwriteSplittingRuleBuilder.java | 4 ++--
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
...mProvidedReadwriteSplittingRuleBuilderTest.java | 5 ++--
.../builder/ReadwriteSplittingRuleBuilderTest.java | 5 ++--
.../shadow/api/config/ShadowRuleConfiguration.java | 3 ++-
.../shadow/rule/builder/ShadowRuleBuilder.java | 4 ++--
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
.../shadow/rule/builder/ShadowRuleBuilderTest.java | 5 ++--
.../api/config/ShardingRuleConfiguration.java | 3 ++-
...AlgorithmProvidedShardingRuleConfiguration.java | 3 ++-
.../AlgorithmProvidedShardingRuleBuilder.java | 4 ++--
.../sharding/rule/builder/ShardingRuleBuilder.java | 4 ++--
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
.../AlgorithmProvidedShardingRuleBuilderTest.java | 5 ++--
.../rule/builder/ShardingRuleBuilderTest.java | 5 ++--
.../registry/fixture/RuleConfigurationFixture.java | 3 ++-
.../function/DistributedRuleConfiguration.java} | 7 ++++--
.../function/EnhancedRuleConfiguration.java} | 7 ++++--
.../single/SingleTableRuleConfiguration.java | 3 ++-
.../rule/builder/ShardingSphereRulesBuilder.java | 23 +++++++++++++-----
.../scope/DistributedSchemaRuleBuilder.java | 28 ----------------------
.../builder/scope/EnhancedSchemaRuleBuilder.java | 28 ----------------------
.../rule/builder/scope/SchemaRuleBuilder.java | 3 ++-
.../builder/single/SingleTableRuleBuilder.java | 4 ++--
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
.../infra/rule/fixture/TestRuleConfiguration.java | 3 ++-
.../fixture/TestShardingSphereRuleBuilder.java | 4 ++--
.../swapper/fixture/RuleConfigurationFixture.java | 3 ++-
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
.../infra/context/fixture/FixtureRuleBuilder.java | 4 ++--
.../context/fixture/FixtureRuleConfiguration.java | 3 ++-
...ere.infra.rule.builder.scope.SchemaRuleBuilder} | 0
.../governance/fixture/TestRuleConfiguration.java | 3 ++-
.../proxy/fixture/RuleConfigurationFixture.java | 3 ++-
51 files changed, 103 insertions(+), 134 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/api/config/DatabaseDiscoveryRuleConfiguration.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/api/config/DatabaseDiscoveryRuleConfiguration.java
index 6d18b9b..887c175 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/api/config/DatabaseDiscoveryRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/api/config/DatabaseDiscoveryRuleConfiguration.java
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import java.util.Collection;
@@ -31,7 +32,7 @@ import java.util.Map;
*/
@RequiredArgsConstructor
@Getter
-public final class DatabaseDiscoveryRuleConfiguration implements
SchemaRuleConfiguration {
+public final class DatabaseDiscoveryRuleConfiguration implements
SchemaRuleConfiguration, DistributedRuleConfiguration {
private final Collection<DatabaseDiscoveryDataSourceRuleConfiguration>
dataSources;
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/algorithm/config/AlgorithmProvidedDatabaseDiscoveryRuleConfiguration.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/algorithm/config/AlgorithmProvidedDatabaseDiscoveryRuleConfiguration.java
index 1039ed3..2aacf43 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/algorithm/config/AlgorithmProvidedDatabaseDiscoveryRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/algorithm/config/AlgorithmProvidedDatabaseDiscoveryRuleConfiguration.java
@@ -23,6 +23,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryType;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import java.util.Collection;
@@ -37,7 +38,7 @@ import java.util.Map;
@AllArgsConstructor
@Getter
@Setter
-public final class AlgorithmProvidedDatabaseDiscoveryRuleConfiguration
implements SchemaRuleConfiguration {
+public final class AlgorithmProvidedDatabaseDiscoveryRuleConfiguration
implements SchemaRuleConfiguration, DistributedRuleConfiguration {
private Collection<DatabaseDiscoveryDataSourceRuleConfiguration>
dataSources = new LinkedList<>();
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
index aa5fa3d..a553861 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
@@ -23,7 +23,7 @@ import
org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import javax.sql.DataSource;
import java.util.Collection;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Algorithm provided data base discovery rule builder.
*/
-public final class AlgorithmProvidedDatabaseDiscoveryRuleBuilder implements
FeatureRuleBuilder,
DistributedSchemaRuleBuilder<AlgorithmProvidedDatabaseDiscoveryRuleConfiguration>
{
+public final class AlgorithmProvidedDatabaseDiscoveryRuleBuilder implements
FeatureRuleBuilder,
SchemaRuleBuilder<AlgorithmProvidedDatabaseDiscoveryRuleConfiguration> {
@Override
public DatabaseDiscoveryRule build(final String schemaName, final
Map<String, DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
index 2314531..e0d95db 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import javax.sql.DataSource;
import java.util.Collection;
@@ -34,7 +34,7 @@ import java.util.Map;
/**
* Database discovery rule builder.
*/
-public final class DatabaseDiscoveryRuleBuilder implements FeatureRuleBuilder,
DistributedSchemaRuleBuilder<DatabaseDiscoveryRuleConfiguration> {
+public final class DatabaseDiscoveryRuleBuilder implements FeatureRuleBuilder,
SchemaRuleBuilder<DatabaseDiscoveryRuleConfiguration> {
@Override
public DatabaseDiscoveryRule build(final String schemaName, final
Map<String, DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder
rename to
shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
index 30910d9..04fa7ca 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.dbdiscovery.algorithm.config.AlgorithmProvidedD
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -37,7 +36,7 @@ import static org.mockito.Mockito.when;
public final class AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest {
static {
-
ShardingSphereServiceLoader.register(DistributedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@@ -47,7 +46,7 @@ public final class
AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest {
DatabaseDiscoveryDataSourceRuleConfiguration ruleConfig = new
DatabaseDiscoveryDataSourceRuleConfiguration("name",
Collections.singletonList("name"), "discoveryTypeName");
when(algorithmProvidedRuleConfig.getDataSources()).thenReturn(Collections.singletonList(ruleConfig));
SchemaRuleBuilder builder = OrderedSPIRegistry.getRegisteredServices(
- Collections.singletonList(algorithmProvidedRuleConfig),
DistributedSchemaRuleBuilder.class).get(algorithmProvidedRuleConfig);
+ Collections.singletonList(algorithmProvidedRuleConfig),
SchemaRuleBuilder.class).get(algorithmProvidedRuleConfig);
assertThat(builder.build("", Collections.emptyMap(),
mock(DatabaseType.class), algorithmProvidedRuleConfig,
Collections.emptyList()), instanceOf(DatabaseDiscoveryRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
index 4effbd5..5615ebf 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -40,7 +39,7 @@ import static org.mockito.Mockito.when;
public final class DatabaseDiscoveryRuleBuilderTest {
static {
-
ShardingSphereServiceLoader.register(DistributedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@@ -49,7 +48,7 @@ public final class DatabaseDiscoveryRuleBuilderTest {
DatabaseDiscoveryRuleConfiguration ruleConfig =
mock(DatabaseDiscoveryRuleConfiguration.class);
DatabaseDiscoveryDataSourceRuleConfiguration dataSourceRuleConfig =
new DatabaseDiscoveryDataSourceRuleConfiguration("name",
Collections.singletonList("name"), "discoveryTypeName");
when(ruleConfig.getDataSources()).thenReturn(Collections.singletonList(dataSourceRuleConfig));
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
DistributedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
Map<String, DataSource> dataSourceMap = new HashMap<>(1, 1);
dataSourceMap.put("primaryDataSourceName", mock(DataSource.class));
assertThat(builder.build("test_schema", dataSourceMap,
mock(DatabaseType.class), ruleConfig, Collections.emptyList()),
instanceOf(DatabaseDiscoveryRule.class));
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-api/src/main/java/org/apache/shardingsphere/encrypt/api/config/EncryptRuleConfiguration.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-api/src/main/java/org/apache/shardingsphere/encrypt/api/config/EncryptRuleConfiguration.java
index 0117db7..ebc51a7 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-api/src/main/java/org/apache/shardingsphere/encrypt/api/config/EncryptRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-api/src/main/java/org/apache/shardingsphere/encrypt/api/config/EncryptRuleConfiguration.java
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import java.util.Collection;
@@ -31,7 +32,7 @@ import java.util.Map;
*/
@RequiredArgsConstructor
@Getter
-public final class EncryptRuleConfiguration implements SchemaRuleConfiguration
{
+public final class EncryptRuleConfiguration implements
SchemaRuleConfiguration, EnhancedRuleConfiguration {
private final Collection<EncryptTableRuleConfiguration> tables;
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/config/AlgorithmProvidedEncryptRuleConfiguration.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/config/AlgorithmProvidedEncryptRuleConfiguration.java
index 9e1fbeb..4db7c15 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/config/AlgorithmProvidedEncryptRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/algorithm/config/AlgorithmProvidedEncryptRuleConfiguration.java
@@ -23,6 +23,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import java.util.Collection;
@@ -37,7 +38,7 @@ import java.util.Map;
@NoArgsConstructor
@Getter
@Setter
-public final class AlgorithmProvidedEncryptRuleConfiguration implements
SchemaRuleConfiguration {
+public final class AlgorithmProvidedEncryptRuleConfiguration implements
SchemaRuleConfiguration, EnhancedRuleConfiguration {
private Collection<EncryptTableRuleConfiguration> tables = new
LinkedList<>();
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilder.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilder.java
index f3907ca..0a8a365 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilder.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import javax.sql.DataSource;
import java.util.Collection;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Algorithm provided encrypt rule builder.
*/
-public final class AlgorithmProvidedEncryptRuleBuilder implements
FeatureRuleBuilder,
EnhancedSchemaRuleBuilder<AlgorithmProvidedEncryptRuleConfiguration> {
+public final class AlgorithmProvidedEncryptRuleBuilder implements
FeatureRuleBuilder,
SchemaRuleBuilder<AlgorithmProvidedEncryptRuleConfiguration> {
@Override
public EncryptRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilder.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilder.java
index e3044b7..07ce5c6 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilder.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import javax.sql.DataSource;
import java.util.Collection;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Encrypt rule builder.
*/
-public final class EncryptRuleBuilder implements FeatureRuleBuilder,
EnhancedSchemaRuleBuilder<EncryptRuleConfiguration> {
+public final class EncryptRuleBuilder implements FeatureRuleBuilder,
SchemaRuleBuilder<EncryptRuleConfiguration> {
@Override
public EncryptRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
rename to
shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilderTest.java
index 9ad715f..e1955d5 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/AlgorithmProvidedEncryptRuleBuilderTest.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.encrypt.rule.builder;
import
org.apache.shardingsphere.encrypt.algorithm.config.AlgorithmProvidedEncryptRuleConfiguration;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -35,14 +34,14 @@ import static org.mockito.Mockito.mock;
public final class AlgorithmProvidedEncryptRuleBuilderTest {
static {
- ShardingSphereServiceLoader.register(EnhancedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Test
public void assertBuild() {
AlgorithmProvidedEncryptRuleConfiguration ruleConfig =
mock(AlgorithmProvidedEncryptRuleConfiguration.class);
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
EnhancedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
assertThat(builder.build("", Collections.emptyMap(),
mock(DatabaseType.class), ruleConfig, Collections.emptyList()),
instanceOf(EncryptRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilderTest.java
index 7d24036..30241a0 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rule/builder/EncryptRuleBuilderTest.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.encrypt.rule.builder;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -35,14 +34,14 @@ import static org.mockito.Mockito.mock;
public final class EncryptRuleBuilderTest {
static {
- ShardingSphereServiceLoader.register(EnhancedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Test
public void assertBuild() {
EncryptRuleConfiguration ruleConfig =
mock(EncryptRuleConfiguration.class);
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
EnhancedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
assertThat(builder.build("", Collections.emptyMap(),
mock(DatabaseType.class), ruleConfig, Collections.emptyList()),
instanceOf(EncryptRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/ReadwriteSplittingRuleConfiguration.java
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/ReadwriteSplittingRuleConfiguration.java
index d2f97d5..0eae68d 100644
---
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/ReadwriteSplittingRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/ReadwriteSplittingRuleConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.readwritesplitting.api;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
@@ -31,7 +32,7 @@ import java.util.Map;
*/
@RequiredArgsConstructor
@Getter
-public final class ReadwriteSplittingRuleConfiguration implements
SchemaRuleConfiguration {
+public final class ReadwriteSplittingRuleConfiguration implements
SchemaRuleConfiguration, DistributedRuleConfiguration {
private final Collection<ReadwriteSplittingDataSourceRuleConfiguration>
dataSources;
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/config/AlgorithmProvidedReadwriteSplittingRuleConfiguration.java
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/config/AlgorithmProvidedReadwriteSplittingRuleConfiguration.java
index 2cdc260..fe03ce5 100644
---
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/config/AlgorithmProvidedReadwriteSplittingRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/config/AlgorithmProvidedReadwriteSplittingRuleConfiguration.java
@@ -21,6 +21,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
@@ -37,7 +38,7 @@ import java.util.Map;
@NoArgsConstructor
@Getter
@Setter
-public final class AlgorithmProvidedReadwriteSplittingRuleConfiguration
implements SchemaRuleConfiguration {
+public final class AlgorithmProvidedReadwriteSplittingRuleConfiguration
implements SchemaRuleConfiguration, DistributedRuleConfiguration {
private Collection<ReadwriteSplittingDataSourceRuleConfiguration>
dataSources = new LinkedList<>();
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilder.java
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilder.java
index 9d9ed26..954b079 100644
---
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilder.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.readwritesplitting.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import
org.apache.shardingsphere.readwritesplitting.algorithm.config.AlgorithmProvidedReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.constant.ReadwriteSplittingOrder;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Algorithm provided readwrite-splitting rule builder.
*/
-public final class AlgorithmProvidedReadwriteSplittingRuleBuilder implements
FeatureRuleBuilder,
DistributedSchemaRuleBuilder<AlgorithmProvidedReadwriteSplittingRuleConfiguration>
{
+public final class AlgorithmProvidedReadwriteSplittingRuleBuilder implements
FeatureRuleBuilder,
SchemaRuleBuilder<AlgorithmProvidedReadwriteSplittingRuleConfiguration> {
@Override
public ReadwriteSplittingRule build(final String schemaName, final
Map<String, DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilder.java
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilder.java
index 0fc9bf8..6921e0d 100644
---
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilder.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.readwritesplitting.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.constant.ReadwriteSplittingOrder;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Readwrite-splitting rule builder.
*/
-public final class ReadwriteSplittingRuleBuilder implements
FeatureRuleBuilder,
DistributedSchemaRuleBuilder<ReadwriteSplittingRuleConfiguration> {
+public final class ReadwriteSplittingRuleBuilder implements
FeatureRuleBuilder, SchemaRuleBuilder<ReadwriteSplittingRuleConfiguration> {
@Override
public ReadwriteSplittingRule build(final String schemaName, final
Map<String, DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder
rename to
shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilderTest.java
index 41e6ce8..601840f 100644
---
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/AlgorithmProvidedReadwriteSplittingRuleBuilderTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.readwritesplitting.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -37,7 +36,7 @@ import static org.mockito.Mockito.when;
public final class AlgorithmProvidedReadwriteSplittingRuleBuilderTest {
static {
-
ShardingSphereServiceLoader.register(DistributedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@@ -48,7 +47,7 @@ public final class
AlgorithmProvidedReadwriteSplittingRuleBuilderTest {
"name", "pr_ds", "writeDataSourceName",
Collections.singletonList("name"), "loadBalancerName");
when(algorithmProvidedRuleConfig.getDataSources()).thenReturn(Collections.singletonList(ruleConfig));
SchemaRuleBuilder builder = OrderedSPIRegistry.getRegisteredServices(
- Collections.singletonList(algorithmProvidedRuleConfig),
DistributedSchemaRuleBuilder.class).get(algorithmProvidedRuleConfig);
+ Collections.singletonList(algorithmProvidedRuleConfig),
SchemaRuleBuilder.class).get(algorithmProvidedRuleConfig);
assertThat(builder.build("", Collections.emptyMap(),
mock(DatabaseType.class), algorithmProvidedRuleConfig,
Collections.emptyList()), instanceOf(ReadwriteSplittingRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilderTest.java
index 6acc275..00ed125 100644
---
a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/builder/ReadwriteSplittingRuleBuilderTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.readwritesplitting.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -37,7 +36,7 @@ import static org.mockito.Mockito.when;
public final class ReadwriteSplittingRuleBuilderTest {
static {
-
ShardingSphereServiceLoader.register(DistributedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@@ -47,7 +46,7 @@ public final class ReadwriteSplittingRuleBuilderTest {
ReadwriteSplittingDataSourceRuleConfiguration dataSourceRuleConfig =
new ReadwriteSplittingDataSourceRuleConfiguration(
"name", "pr_ds", "writeDataSourceName",
Collections.singletonList("name"), "loadBalancerName");
when(ruleConfig.getDataSources()).thenReturn(Collections.singletonList(dataSourceRuleConfig));
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
DistributedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
assertThat(builder.build("", Collections.emptyMap(),
mock(DatabaseType.class), ruleConfig, Collections.emptyList()),
instanceOf(ReadwriteSplittingRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-api/src/main/java/org/apache/shardingsphere/shadow/api/config/ShadowRuleConfiguration.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-api/src/main/java/org/apache/shardingsphere/shadow/api/config/ShadowRuleConfiguration.java
index 07d0cfe..cf48d84 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-api/src/main/java/org/apache/shardingsphere/shadow/api/config/ShadowRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-api/src/main/java/org/apache/shardingsphere/shadow/api/config/ShadowRuleConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.shadow.api.config;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import lombok.Getter;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import java.util.List;
@@ -28,7 +29,7 @@ import java.util.List;
* Shadow rule configuration.
*/
@Getter
-public final class ShadowRuleConfiguration implements SchemaRuleConfiguration {
+public final class ShadowRuleConfiguration implements SchemaRuleConfiguration,
DistributedRuleConfiguration {
private final String column;
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilder.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilder.java
index 7e873ab..ef02355 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilder.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shadow.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
import org.apache.shardingsphere.shadow.constant.ShadowOrder;
import org.apache.shardingsphere.shadow.rule.ShadowRule;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Shadow rule builder.
*/
-public final class ShadowRuleBuilder implements FeatureRuleBuilder,
DistributedSchemaRuleBuilder<ShadowRuleConfiguration> {
+public final class ShadowRuleBuilder implements FeatureRuleBuilder,
SchemaRuleBuilder<ShadowRuleConfiguration> {
@Override
public ShadowRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder
rename to
shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/test/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/test/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilderTest.java
index b6d9316..b5fa07d 100644
---
a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/test/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-core/src/test/java/org/apache/shardingsphere/shadow/rule/builder/ShadowRuleBuilderTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.shadow.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -35,14 +34,14 @@ import static org.mockito.Mockito.mock;
public final class ShadowRuleBuilderTest {
static {
-
ShardingSphereServiceLoader.register(DistributedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Test
public void assertBuild() {
ShadowRuleConfiguration ruleConfig =
mock(ShadowRuleConfiguration.class);
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
DistributedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
assertThat(builder.build("", Collections.emptyMap(),
mock(DatabaseType.class), ruleConfig, Collections.emptyList()),
instanceOf(ShadowRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
index fa7c21f..6adfdfa 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/api/config/ShardingRuleConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.api.config;
import lombok.Getter;
import lombok.Setter;
import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
@@ -36,7 +37,7 @@ import java.util.Map;
*/
@Getter
@Setter
-public final class ShardingRuleConfiguration implements
SchemaRuleConfiguration {
+public final class ShardingRuleConfiguration implements
SchemaRuleConfiguration, DistributedRuleConfiguration {
private Collection<ShardingTableRuleConfiguration> tables = new
LinkedList<>();
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
index ee8bee8..0b8af49 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/config/AlgorithmProvidedShardingRuleConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.sharding.algorithm.config;
import lombok.Getter;
import lombok.Setter;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
@@ -37,7 +38,7 @@ import java.util.Map;
*/
@Getter
@Setter
-public final class AlgorithmProvidedShardingRuleConfiguration implements
SchemaRuleConfiguration {
+public final class AlgorithmProvidedShardingRuleConfiguration implements
SchemaRuleConfiguration, DistributedRuleConfiguration {
private Collection<ShardingTableRuleConfiguration> tables = new
LinkedList<>();
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilder.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilder.java
index 50de1e5..4cfa610 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilder.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import
org.apache.shardingsphere.sharding.algorithm.config.AlgorithmProvidedShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.constant.ShardingOrder;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Algorithm provided sharding rule builder.
*/
-public final class AlgorithmProvidedShardingRuleBuilder implements
FeatureRuleBuilder,
EnhancedSchemaRuleBuilder<AlgorithmProvidedShardingRuleConfiguration> {
+public final class AlgorithmProvidedShardingRuleBuilder implements
FeatureRuleBuilder,
SchemaRuleBuilder<AlgorithmProvidedShardingRuleConfiguration> {
@Override
public ShardingRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilder.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilder.java
index e241317..5549c74 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilder.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilder.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.constant.ShardingOrder;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Sharding rule builder.
*/
-public final class ShardingRuleBuilder implements FeatureRuleBuilder,
EnhancedSchemaRuleBuilder<ShardingRuleConfiguration> {
+public final class ShardingRuleBuilder implements FeatureRuleBuilder,
SchemaRuleBuilder<ShardingRuleConfiguration> {
@Override
public ShardingRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
rename to
shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilderTest.java
index 8b081ca..cc1e56f 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/AlgorithmProvidedShardingRuleBuilderTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.sharding.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -37,14 +36,14 @@ import static org.mockito.Mockito.mock;
public final class AlgorithmProvidedShardingRuleBuilderTest {
static {
- ShardingSphereServiceLoader.register(EnhancedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Test
public void assertBuild() {
AlgorithmProvidedShardingRuleConfiguration ruleConfig =
mock(AlgorithmProvidedShardingRuleConfiguration.class);
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
EnhancedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
assertThat(builder.build("test_schema",
Collections.singletonMap("name", mock(DataSource.class, RETURNS_DEEP_STUBS)),
mock(DatabaseType.class), ruleConfig,
Collections.emptyList()), instanceOf(ShardingRule.class));
}
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilderTest.java
index e247ed4..e61b765 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/builder/ShardingRuleBuilderTest.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.sharding.rule.builder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
@@ -37,14 +36,14 @@ import static org.mockito.Mockito.mock;
public final class ShardingRuleBuilderTest {
static {
- ShardingSphereServiceLoader.register(EnhancedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Test
public void assertBuild() {
ShardingRuleConfiguration ruleConfig =
mock(ShardingRuleConfiguration.class);
- SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
EnhancedSchemaRuleBuilder.class).get(ruleConfig);
+ SchemaRuleBuilder builder =
OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig),
SchemaRuleBuilder.class).get(ruleConfig);
assertThat(builder.build("test_schema",
Collections.singletonMap("name", mock(DataSource.class, RETURNS_DEEP_STUBS)),
mock(DatabaseType.class), ruleConfig,
Collections.emptyList()), instanceOf(ShardingRule.class));
}
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/fixture/RuleConfigurationFixture.java
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/fixture/RuleConfigurationFixture.java
index 00279dd..d6f4f41 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/fixture/RuleConfigurationFixture.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/fixture/RuleConfigurationFixture.java
@@ -20,10 +20,11 @@ package
org.apache.shardingsphere.governance.core.registry.fixture;
import lombok.Getter;
import lombok.Setter;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
@Getter
@Setter
-public final class RuleConfigurationFixture implements RuleConfiguration {
+public final class RuleConfigurationFixture implements RuleConfiguration,
EnhancedRuleConfiguration {
private String name;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/function/DistributedRuleConfiguration.java
similarity index 83%
copy from
shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
copy to
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/function/DistributedRuleConfiguration.java
index b8ef8ac..b0be733 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/function/DistributedRuleConfiguration.java
@@ -15,9 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.context.fixture;
+package org.apache.shardingsphere.infra.config.function;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
-public final class FixtureRuleConfiguration implements RuleConfiguration {
+/**
+ * Distributed rule configuration.
+ */
+public interface DistributedRuleConfiguration extends RuleConfiguration {
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/function/EnhancedRuleConfiguration.java
similarity index 83%
copy from
shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
copy to
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/function/EnhancedRuleConfiguration.java
index b8ef8ac..e32fd50 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/function/EnhancedRuleConfiguration.java
@@ -15,9 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.context.fixture;
+package org.apache.shardingsphere.infra.config.function;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
-public final class FixtureRuleConfiguration implements RuleConfiguration {
+/**
+ * Enhanced rule configuration.
+ */
+public interface EnhancedRuleConfiguration extends RuleConfiguration {
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/single/SingleTableRuleConfiguration.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/single/SingleTableRuleConfiguration.java
index ef9df7f..5004d0b 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/single/SingleTableRuleConfiguration.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/single/SingleTableRuleConfiguration.java
@@ -17,10 +17,11 @@
package org.apache.shardingsphere.infra.config.single;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
import org.apache.shardingsphere.infra.config.scope.SchemaRuleConfiguration;
/**
* Single table rule configuration.
*/
-public final class SingleTableRuleConfiguration implements
SchemaRuleConfiguration {
+public final class SingleTableRuleConfiguration implements
SchemaRuleConfiguration, EnhancedRuleConfiguration {
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/ShardingSphereRulesBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/ShardingSphereRulesBuilder.java
index f41af84..79f4249 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/ShardingSphereRulesBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/ShardingSphereRulesBuilder.java
@@ -20,14 +20,14 @@ package org.apache.shardingsphere.infra.rule.builder;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.DistributedRuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
import
org.apache.shardingsphere.infra.config.single.SingleTableRuleConfiguration;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import
org.apache.shardingsphere.infra.rule.builder.level.DefaultKernelRuleConfigurationBuilder;
import org.apache.shardingsphere.infra.rule.builder.level.KernelRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.DistributedSchemaRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.GlobalRuleBuilder;
import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
@@ -50,8 +50,7 @@ import java.util.stream.Collectors;
public final class ShardingSphereRulesBuilder {
static {
-
ShardingSphereServiceLoader.register(DistributedSchemaRuleBuilder.class);
- ShardingSphereServiceLoader.register(EnhancedSchemaRuleBuilder.class);
+ ShardingSphereServiceLoader.register(SchemaRuleBuilder.class);
ShardingSphereServiceLoader.register(GlobalRuleBuilder.class);
ShardingSphereServiceLoader.register(DefaultKernelRuleConfigurationBuilder.class);
}
@@ -80,8 +79,20 @@ public final class ShardingSphereRulesBuilder {
@SuppressWarnings("rawtypes")
private static Map<RuleConfiguration, SchemaRuleBuilder>
getSchemaRuleBuilders(final Collection<RuleConfiguration> schemaRuleConfigs) {
Map<RuleConfiguration, SchemaRuleBuilder> result = new
LinkedHashMap<>();
-
result.putAll(OrderedSPIRegistry.getRegisteredServices(schemaRuleConfigs,
DistributedSchemaRuleBuilder.class, Comparator.reverseOrder()));
-
result.putAll(OrderedSPIRegistry.getRegisteredServices(schemaRuleConfigs,
EnhancedSchemaRuleBuilder.class));
+ Collection<RuleConfiguration> distributedRuleConfigs = new
LinkedList<>();
+ Collection<RuleConfiguration> enhancedRuleConfigs = new LinkedList<>();
+ for (RuleConfiguration each : schemaRuleConfigs) {
+ for (Class<?> clazz : each.getClass().getInterfaces()) {
+ if
(DistributedRuleConfiguration.class.isAssignableFrom(clazz)) {
+ distributedRuleConfigs.add(each);
+ }
+ if (EnhancedRuleConfiguration.class.isAssignableFrom(clazz)) {
+ enhancedRuleConfigs.add(each);
+ }
+ }
+ }
+
result.putAll(OrderedSPIRegistry.getRegisteredServices(distributedRuleConfigs,
SchemaRuleBuilder.class, Comparator.reverseOrder()));
+
result.putAll(OrderedSPIRegistry.getRegisteredServices(enhancedRuleConfigs,
SchemaRuleBuilder.class));
return result;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/DistributedSchemaRuleBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/DistributedSchemaRuleBuilder.java
deleted file mode 100644
index e3028a9..0000000
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/DistributedSchemaRuleBuilder.java
+++ /dev/null
@@ -1,28 +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.infra.rule.builder.scope;
-
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
-
-/**
- * Distributed schema rule builder.
- *
- * @param <T> type of rule configuration
- */
-public interface DistributedSchemaRuleBuilder<T extends RuleConfiguration>
extends SchemaRuleBuilder<T> {
-}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/EnhancedSchemaRuleBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/EnhancedSchemaRuleBuilder.java
deleted file mode 100644
index 0bb7745..0000000
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/EnhancedSchemaRuleBuilder.java
+++ /dev/null
@@ -1,28 +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.infra.rule.builder.scope;
-
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
-
-/**
- * Enhanced schema rule builder.
- *
- * @param <T> type of rule configuration
- */
-public interface EnhancedSchemaRuleBuilder<T extends RuleConfiguration>
extends SchemaRuleBuilder<T> {
-}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/SchemaRuleBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/SchemaRuleBuilder.java
index 782f7bd..f98bf29 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/SchemaRuleBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/scope/SchemaRuleBuilder.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.rule.builder.scope;
+import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.identifier.scope.SchemaRule;
@@ -30,7 +31,7 @@ import java.util.Map;
*
* @param <T> type of rule configuration
*/
-public interface SchemaRuleBuilder<T> extends RuleBuilder<T> {
+public interface SchemaRuleBuilder<T extends RuleConfiguration> extends
RuleBuilder<T> {
/**
* Build schema rule.
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/single/SingleTableRuleBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/single/SingleTableRuleBuilder.java
index a043776..63ce567 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/single/SingleTableRuleBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/rule/builder/single/SingleTableRuleBuilder.java
@@ -22,7 +22,7 @@ import
org.apache.shardingsphere.infra.constant.SingleTableOrder;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.level.FeatureRuleBuilder;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.single.SingleTableRule;
import javax.sql.DataSource;
@@ -32,7 +32,7 @@ import java.util.Map;
/**
* Single table rule builder.
*/
-public final class SingleTableRuleBuilder implements FeatureRuleBuilder,
EnhancedSchemaRuleBuilder<SingleTableRuleConfiguration> {
+public final class SingleTableRuleBuilder implements FeatureRuleBuilder,
SchemaRuleBuilder<SingleTableRuleConfiguration> {
@Override
public SingleTableRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
b/shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
rename to
shardingsphere-infra/shardingsphere-infra-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestRuleConfiguration.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestRuleConfiguration.java
index e6941d7..f1e2ff6 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestRuleConfiguration.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestRuleConfiguration.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.infra.rule.fixture;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
-public final class TestRuleConfiguration implements RuleConfiguration {
+public final class TestRuleConfiguration implements RuleConfiguration,
EnhancedRuleConfiguration {
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestShardingSphereRuleBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestShardingSphereRuleBuilder.java
index 2d236dd..694447b 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestShardingSphereRuleBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/fixture/TestShardingSphereRuleBuilder.java
@@ -20,14 +20,14 @@ package org.apache.shardingsphere.infra.rule.fixture;
import lombok.Getter;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import org.apache.shardingsphere.infra.rule.identifier.scope.SchemaRule;
import javax.sql.DataSource;
import java.util.Collection;
import java.util.Map;
-public final class TestShardingSphereRuleBuilder implements
EnhancedSchemaRuleBuilder<TestRuleConfiguration> {
+public final class TestShardingSphereRuleBuilder implements
SchemaRuleBuilder<TestRuleConfiguration> {
@Getter
private static final SchemaRule RULE = new TestShardingSphereRule();
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/fixture/RuleConfigurationFixture.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/fixture/RuleConfigurationFixture.java
index be61f66..497df41 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/fixture/RuleConfigurationFixture.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/config/swapper/fixture/RuleConfigurationFixture.java
@@ -20,10 +20,11 @@ package
org.apache.shardingsphere.infra.yaml.config.swapper.fixture;
import lombok.Getter;
import lombok.Setter;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
@Getter
@Setter
-public final class RuleConfigurationFixture implements RuleConfiguration {
+public final class RuleConfigurationFixture implements RuleConfiguration,
EnhancedRuleConfiguration {
private String name;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
b/shardingsphere-infra/shardingsphere-infra-common/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-infra/shardingsphere-infra-common/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
rename to
shardingsphere-infra/shardingsphere-infra-common/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleBuilder.java
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleBuilder.java
index 9e256f9..db535f2 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleBuilder.java
@@ -19,13 +19,13 @@ package org.apache.shardingsphere.infra.context.fixture;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import
org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder;
+import org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder;
import javax.sql.DataSource;
import java.util.Collection;
import java.util.Map;
-public final class FixtureRuleBuilder implements
EnhancedSchemaRuleBuilder<FixtureRuleConfiguration> {
+public final class FixtureRuleBuilder implements
SchemaRuleBuilder<FixtureRuleConfiguration> {
@Override
public FixtureRule build(final String schemaName, final Map<String,
DataSource> dataSourceMap, final DatabaseType databaseType,
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
index b8ef8ac..87492ce 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/fixture/FixtureRuleConfiguration.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.infra.context.fixture;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
-public final class FixtureRuleConfiguration implements RuleConfiguration {
+public final class FixtureRuleConfiguration implements RuleConfiguration,
EnhancedRuleConfiguration {
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
b/shardingsphere-infra/shardingsphere-infra-context/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
similarity index 100%
rename from
shardingsphere-infra/shardingsphere-infra-context/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.EnhancedSchemaRuleBuilder
rename to
shardingsphere-infra/shardingsphere-infra-context/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.rule.builder.scope.SchemaRuleBuilder
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/fixture/TestRuleConfiguration.java
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/fixture/TestRuleConfiguration.java
index 40e2790..83dca0b 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/fixture/TestRuleConfiguration.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/fixture/TestRuleConfiguration.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.driver.governance.fixture;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
-public final class TestRuleConfiguration implements RuleConfiguration {
+public final class TestRuleConfiguration implements RuleConfiguration,
EnhancedRuleConfiguration {
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/RuleConfigurationFixture.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/RuleConfigurationFixture.java
index 7c8c8cd..27dba46 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/RuleConfigurationFixture.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/fixture/RuleConfigurationFixture.java
@@ -20,10 +20,11 @@ package org.apache.shardingsphere.proxy.fixture;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import
org.apache.shardingsphere.infra.config.function.EnhancedRuleConfiguration;
@RequiredArgsConstructor
@Getter
-public final class RuleConfigurationFixture implements RuleConfiguration {
+public final class RuleConfigurationFixture implements RuleConfiguration,
EnhancedRuleConfiguration {
private final String name;
}