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

jianglongtao 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 b181104c1e2 Remove useless ImportRuleConfigurationProvider's impl 
(#30617)
b181104c1e2 is described below

commit b181104c1e20f764cce8fdb4759778373f6ad04f
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Mar 24 00:27:52 2024 +0800

    Remove useless ImportRuleConfigurationProvider's impl (#30617)
    
    * Remove useless ImportRuleConfigurationProvider's impl
    
    * Remove useless ImportRuleConfigurationProvider's impl
    
    * Remove useless ImportRuleConfigurationProvider's impl
---
 .../EncryptImportRuleConfigurationProvider.java    | 18 ++++++++---------
 .../MaskImportRuleConfigurationProvider.java       | 18 ++++++++---------
 ...teSplittingImportRuleConfigurationProvider.java | 16 ++++++---------
 ...littingImportRuleConfigurationProviderTest.java |  3 +++
 .../ShadowImportRuleConfigurationProvider.java     | 23 +++++++++++-----------
 .../ShardingImportRuleConfigurationProvider.java   | 16 +++++++--------
 .../ImportDatabaseConfigurationExecutorTest.java   |  2 ++
 7 files changed, 48 insertions(+), 48 deletions(-)

diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptImportRuleConfigurationProvider.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptImportRuleConfigurationProvider.java
index e7fc1b91c92..256ef53fcf5 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptImportRuleConfigurationProvider.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptImportRuleConfigurationProvider.java
@@ -45,31 +45,31 @@ public final class EncryptImportRuleConfigurationProvider 
implements ImportRuleC
         if (null == database || null == ruleConfig) {
             return;
         }
-        checkTables(ruleConfig, database.getName());
+        checkTables(database.getName(), ruleConfig);
         checkEncryptors(ruleConfig);
-        checkTableEncryptorsExisted(ruleConfig, database.getName());
+        checkTableEncryptorsExisted(database.getName(), ruleConfig);
     }
     
-    private void checkTables(final EncryptRuleConfiguration currentRuleConfig, 
final String databaseName) {
-        Collection<String> tableNames = 
currentRuleConfig.getTables().stream().map(EncryptTableRuleConfiguration::getName).collect(Collectors.toList());
+    private void checkTables(final String databaseName, final 
EncryptRuleConfiguration ruleConfig) {
+        Collection<String> tableNames = 
ruleConfig.getTables().stream().map(EncryptTableRuleConfiguration::getName).collect(Collectors.toList());
         Collection<String> duplicatedTables = 
tableNames.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Entry::getKey).collect(Collectors.toSet());
         ShardingSpherePreconditions.checkState(duplicatedTables.isEmpty(), () 
-> new DuplicateRuleException("ENCRYPT", databaseName, duplicatedTables));
     }
     
-    private void checkEncryptors(final EncryptRuleConfiguration 
currentRuleConfig) {
-        currentRuleConfig.getEncryptors().values().forEach(each -> 
TypedSPILoader.checkService(EncryptAlgorithm.class, each.getType(), 
each.getProps()));
+    private void checkEncryptors(final EncryptRuleConfiguration ruleConfig) {
+        ruleConfig.getEncryptors().values().forEach(each -> 
TypedSPILoader.checkService(EncryptAlgorithm.class, each.getType(), 
each.getProps()));
     }
     
-    private void checkTableEncryptorsExisted(final EncryptRuleConfiguration 
config, final String databaseName) {
+    private void checkTableEncryptorsExisted(final String databaseName, final 
EncryptRuleConfiguration ruleConfig) {
         Collection<EncryptColumnRuleConfiguration> columns = new 
LinkedList<>();
-        config.getTables().forEach(each -> columns.addAll(each.getColumns()));
+        ruleConfig.getTables().forEach(each -> 
columns.addAll(each.getColumns()));
         Collection<String> notExistedEncryptors = 
columns.stream().map(optional -> 
optional.getCipher().getEncryptorName()).collect(Collectors.toList());
         notExistedEncryptors.addAll(
                 columns.stream().map(optional -> 
optional.getLikeQuery().map(EncryptColumnItemRuleConfiguration::getEncryptorName).orElse(null)).filter(Objects::nonNull).collect(Collectors.toList()));
         notExistedEncryptors.addAll(columns.stream().map(optional -> 
optional.getAssistedQuery().map(EncryptColumnItemRuleConfiguration::getEncryptorName).orElse(null)).filter(Objects::nonNull)
                 .collect(Collectors.toList()));
-        Collection<String> encryptors = config.getEncryptors().keySet();
+        Collection<String> encryptors = ruleConfig.getEncryptors().keySet();
         notExistedEncryptors.removeIf(encryptors::contains);
         ShardingSpherePreconditions.checkState(notExistedEncryptors.isEmpty(), 
() -> new MissingRequiredAlgorithmException(databaseName, 
notExistedEncryptors));
     }
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
index a3ff992f525..a2b9dbc5320 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
@@ -42,26 +42,26 @@ public final class MaskImportRuleConfigurationProvider 
implements ImportRuleConf
         if (null == database || null == ruleConfig) {
             return;
         }
-        checkTables(ruleConfig, database.getName());
+        checkTables(database.getName(), ruleConfig);
         checkMaskAlgorithms(ruleConfig);
-        checkMaskAlgorithmsExisted(ruleConfig, database.getName());
+        checkMaskAlgorithmsExisted(database.getName(), ruleConfig);
     }
     
-    private void checkTables(final MaskRuleConfiguration currentRuleConfig, 
final String databaseName) {
-        Collection<String> tableNames = 
currentRuleConfig.getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
+    private void checkTables(final String databaseName, final 
MaskRuleConfiguration ruleConfig) {
+        Collection<String> tableNames = 
ruleConfig.getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
         Collection<String> duplicatedTables = 
tableNames.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Entry::getKey).collect(Collectors.toSet());
         ShardingSpherePreconditions.checkState(duplicatedTables.isEmpty(), () 
-> new DuplicateRuleException("MASK", databaseName, duplicatedTables));
     }
     
-    private void checkMaskAlgorithms(final MaskRuleConfiguration 
currentRuleConfig) {
-        currentRuleConfig.getMaskAlgorithms().values().forEach(each -> 
TypedSPILoader.checkService(MaskAlgorithm.class, each.getType(), 
each.getProps()));
+    private void checkMaskAlgorithms(final MaskRuleConfiguration ruleConfig) {
+        ruleConfig.getMaskAlgorithms().values().forEach(each -> 
TypedSPILoader.checkService(MaskAlgorithm.class, each.getType(), 
each.getProps()));
     }
     
-    private void checkMaskAlgorithmsExisted(final MaskRuleConfiguration 
currentRuleConfig, final String databaseName) {
-        Collection<String> notExistedAlgorithms = 
currentRuleConfig.getTables().stream()
+    private void checkMaskAlgorithmsExisted(final String databaseName, final 
MaskRuleConfiguration ruleConfig) {
+        Collection<String> notExistedAlgorithms = 
ruleConfig.getTables().stream()
                 .flatMap(each -> 
each.getColumns().stream()).map(MaskColumnRuleConfiguration::getMaskAlgorithm).collect(Collectors.toList());
-        
notExistedAlgorithms.removeIf(currentRuleConfig.getMaskAlgorithms().keySet()::contains);
+        
notExistedAlgorithms.removeIf(ruleConfig.getMaskAlgorithms().keySet()::contains);
         ShardingSpherePreconditions.checkState(notExistedAlgorithms.isEmpty(), 
() -> new MissingRequiredAlgorithmException(databaseName, 
notExistedAlgorithms));
     }
     
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProvider.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProvider.java
index 955fd35037f..9d6e67d5041 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProvider.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProvider.java
@@ -28,8 +28,8 @@ import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleCo
 import 
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
 
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.LinkedHashSet;
+import java.util.stream.Collectors;
 
 /**
  * Readwrite-splitting import rule configuration provider.
@@ -45,9 +45,9 @@ public final class 
ReadwriteSplittingImportRuleConfigurationProvider implements
         checkLoadBalancers(ruleConfig);
     }
     
-    private void checkDataSources(final ShardingSphereDatabase database, final 
ReadwriteSplittingRuleConfiguration currentRuleConfig) {
+    private void checkDataSources(final ShardingSphereDatabase database, final 
ReadwriteSplittingRuleConfiguration ruleConfig) {
         Collection<String> requiredDataSources = new LinkedHashSet<>();
-        for (ReadwriteSplittingDataSourceRuleConfiguration each : 
currentRuleConfig.getDataSources()) {
+        for (ReadwriteSplittingDataSourceRuleConfiguration each : 
ruleConfig.getDataSources()) {
             if (null != each.getWriteDataSourceName()) {
                 requiredDataSources.add(each.getWriteDataSourceName());
             }
@@ -62,15 +62,11 @@ public final class 
ReadwriteSplittingImportRuleConfigurationProvider implements
     }
     
     private Collection<String> getLogicDataSources(final 
ShardingSphereDatabase database) {
-        Collection<String> result = new HashSet<>();
-        for (DataSourceMapperRuleAttribute each : 
database.getRuleMetaData().getAttributes(DataSourceMapperRuleAttribute.class)) {
-            result.addAll(each.getDataSourceMapper().keySet());
-        }
-        return result;
+        return 
database.getRuleMetaData().getAttributes(DataSourceMapperRuleAttribute.class).stream().flatMap(each
 -> each.getDataSourceMapper().keySet().stream()).collect(Collectors.toSet());
     }
     
-    private void checkLoadBalancers(final ReadwriteSplittingRuleConfiguration 
currentRuleConfig) {
-        currentRuleConfig.getLoadBalancers().values().forEach(each -> 
TypedSPILoader.checkService(LoadBalanceAlgorithm.class, each.getType(), 
each.getProps()));
+    private void checkLoadBalancers(final ReadwriteSplittingRuleConfiguration 
ruleConfig) {
+        ruleConfig.getLoadBalancers().values().forEach(each -> 
TypedSPILoader.checkService(LoadBalanceAlgorithm.class, each.getType(), 
each.getProps()));
     }
     
     @Override
diff --git 
a/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProviderTest.java
 
b/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProviderTest.java
index a1ac1fdfddc..13275211ec5 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProviderTest.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingImportRuleConfigurationProviderTest.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.readwritesplitting.distsql.handler.provider;
 import 
org.apache.shardingsphere.distsql.handler.exception.storageunit.MissingRequiredStorageUnitsException;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import 
org.apache.shardingsphere.infra.rule.attribute.datasource.DataSourceMapperRuleAttribute;
 import 
org.apache.shardingsphere.infra.spi.exception.ServiceProviderNotFoundException;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
@@ -59,6 +60,7 @@ class ReadwriteSplittingImportRuleConfigurationProviderTest {
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
         Collection<String> dataSources = new LinkedList<>();
         dataSources.add("su_1");
+        
when(result.getRuleMetaData().getAttributes(DataSourceMapperRuleAttribute.class)).thenReturn(Collections.emptyList());
         
when(result.getResourceMetaData().getNotExistedDataSources(any())).thenReturn(dataSources);
         return result;
     }
@@ -73,6 +75,7 @@ class ReadwriteSplittingImportRuleConfigurationProviderTest {
     
     private ShardingSphereDatabase mockDatabase() {
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        
when(result.getRuleMetaData().getAttributes(DataSourceMapperRuleAttribute.class)).thenReturn(Collections.emptyList());
         
when(result.getResourceMetaData().getNotExistedDataSources(any())).thenReturn(Collections.emptyList());
         return result;
     }
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowImportRuleConfigurationProvider.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowImportRuleConfigurationProvider.java
index 498b86278e1..e7be1cfce6a 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowImportRuleConfigurationProvider.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowImportRuleConfigurationProvider.java
@@ -42,23 +42,22 @@ public final class ShadowImportRuleConfigurationProvider 
implements ImportRuleCo
         if (null == database || null == ruleConfig) {
             return;
         }
-        String databaseName = database.getName();
-        checkDataSources(databaseName, database, ruleConfig);
-        checkTables(ruleConfig, databaseName);
+        checkDataSources(database, ruleConfig);
+        checkTables(database.getName(), ruleConfig);
         checkShadowAlgorithms(ruleConfig);
     }
     
-    private void checkDataSources(final String databaseName, final 
ShardingSphereDatabase database, final ShadowRuleConfiguration 
currentRuleConfig) {
-        Collection<String> requiredResource = 
getRequiredResources(currentRuleConfig);
+    private void checkDataSources(final ShardingSphereDatabase database, final 
ShadowRuleConfiguration ruleConfig) {
+        Collection<String> requiredResource = getRequiredResources(ruleConfig);
         Collection<String> notExistedResources = 
database.getResourceMetaData().getNotExistedDataSources(requiredResource);
         Collection<String> logicResources = getLogicDataSources(database);
         notExistedResources.removeIf(logicResources::contains);
-        ShardingSpherePreconditions.checkState(notExistedResources.isEmpty(), 
() -> new MissingRequiredStorageUnitsException(databaseName, 
notExistedResources));
+        ShardingSpherePreconditions.checkState(notExistedResources.isEmpty(), 
() -> new MissingRequiredStorageUnitsException(database.getName(), 
notExistedResources));
     }
     
-    private Collection<String> getRequiredResources(final 
ShadowRuleConfiguration currentRuleConfig) {
+    private Collection<String> getRequiredResources(final 
ShadowRuleConfiguration ruleConfig) {
         Collection<String> result = new LinkedHashSet<>();
-        currentRuleConfig.getDataSources().forEach(each -> {
+        ruleConfig.getDataSources().forEach(each -> {
             if (null != each.getShadowDataSourceName()) {
                 result.add(each.getShadowDataSourceName());
             }
@@ -77,15 +76,15 @@ public final class ShadowImportRuleConfigurationProvider 
implements ImportRuleCo
         return result;
     }
     
-    private void checkTables(final ShadowRuleConfiguration currentRuleConfig, 
final String databaseName) {
-        Collection<String> tableNames = currentRuleConfig.getTables().keySet();
+    private void checkTables(final String databaseName, final 
ShadowRuleConfiguration ruleConfig) {
+        Collection<String> tableNames = ruleConfig.getTables().keySet();
         Collection<String> duplicatedTables = 
tableNames.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Entry::getKey).collect(Collectors.toSet());
         ShardingSpherePreconditions.checkState(duplicatedTables.isEmpty(), () 
-> new DuplicateRuleException("SHADOW", databaseName, duplicatedTables));
     }
     
-    private void checkShadowAlgorithms(final ShadowRuleConfiguration 
currentRuleConfig) {
-        currentRuleConfig.getShadowAlgorithms().values().forEach(each -> 
TypedSPILoader.checkService(ShadowAlgorithm.class, each.getType(), 
each.getProps()));
+    private void checkShadowAlgorithms(final ShadowRuleConfiguration 
ruleConfig) {
+        ruleConfig.getShadowAlgorithms().values().forEach(each -> 
TypedSPILoader.checkService(ShadowAlgorithm.class, each.getType(), 
each.getProps()));
     }
     
     @Override
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingImportRuleConfigurationProvider.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingImportRuleConfigurationProvider.java
index cdd256dc7ff..601891adc7f 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingImportRuleConfigurationProvider.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingImportRuleConfigurationProvider.java
@@ -57,26 +57,26 @@ public final class ShardingImportRuleConfigurationProvider 
implements ImportRule
         checkKeyGeneratorAlgorithms(ruleConfig.getKeyGenerators().values());
     }
     
-    private void checkLogicTables(final String databaseName, final 
ShardingRuleConfiguration currentRuleConfig) {
-        Collection<String> logicTables = 
currentRuleConfig.getTables().stream().map(ShardingTableRuleConfiguration::getLogicTable).collect(Collectors.toList());
-        
logicTables.addAll(currentRuleConfig.getAutoTables().stream().map(ShardingAutoTableRuleConfiguration::getLogicTable).collect(Collectors.toList()));
+    private void checkLogicTables(final String databaseName, final 
ShardingRuleConfiguration ruleConfig) {
+        Collection<String> logicTables = 
ruleConfig.getTables().stream().map(ShardingTableRuleConfiguration::getLogicTable).collect(Collectors.toList());
+        
logicTables.addAll(ruleConfig.getAutoTables().stream().map(ShardingAutoTableRuleConfiguration::getLogicTable).collect(Collectors.toList()));
         Set<String> duplicatedLogicTables = 
logicTables.stream().collect(Collectors.groupingBy(each -> each, 
Collectors.counting())).entrySet().stream()
                 .filter(each -> each.getValue() > 
1).map(Entry::getKey).collect(Collectors.toSet());
         
ShardingSpherePreconditions.checkState(duplicatedLogicTables.isEmpty(), () -> 
new DuplicateRuleException("sharding", databaseName, duplicatedLogicTables));
     }
     
-    private void checkDataSources(final ShardingSphereDatabase database, final 
ShardingRuleConfiguration currentRuleConfig) {
-        Collection<String> requiredDataSources = 
getRequiredDataSources(currentRuleConfig);
+    private void checkDataSources(final ShardingSphereDatabase database, final 
ShardingRuleConfiguration ruleConfig) {
+        Collection<String> requiredDataSources = 
getRequiredDataSources(ruleConfig);
         Collection<String> notExistedDataSources = 
database.getResourceMetaData().getNotExistedDataSources(requiredDataSources);
         Collection<String> logicDataSources = getLogicDataSources(database);
         notExistedDataSources.removeIf(logicDataSources::contains);
         
ShardingSpherePreconditions.checkState(notExistedDataSources.isEmpty(), () -> 
new MissingRequiredStorageUnitsException(database.getName(), 
notExistedDataSources));
     }
     
-    private Collection<String> getRequiredDataSources(final 
ShardingRuleConfiguration currentRuleConfig) {
+    private Collection<String> getRequiredDataSources(final 
ShardingRuleConfiguration ruleConfig) {
         Collection<String> result = new LinkedHashSet<>();
-        currentRuleConfig.getTables().forEach(each -> 
result.addAll(getDataSourceNames(each)));
-        currentRuleConfig.getAutoTables().forEach(each -> 
result.addAll(getDataSourceNames(each)));
+        ruleConfig.getTables().forEach(each -> 
result.addAll(getDataSourceNames(each)));
+        ruleConfig.getAutoTables().forEach(each -> 
result.addAll(getDataSourceNames(each)));
         return result;
     }
     
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
index dc252b214f3..efcc90c38af 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
@@ -31,6 +31,7 @@ import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
+import 
org.apache.shardingsphere.infra.rule.attribute.datasource.DataSourceMapperRuleAttribute;
 import 
org.apache.shardingsphere.infra.spi.exception.ServiceProviderNotFoundException;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -148,6 +149,7 @@ class ImportDatabaseConfigurationExecutorTest {
         StorageUnit storageUnit = mock(StorageUnit.class);
         when(storageUnit.getDataSource()).thenReturn(new MockedDataSource());
         when(database.getResourceMetaData().getStorageUnits()).thenReturn(new 
HashMap<>(Collections.singletonMap("foo_ds", storageUnit)));
+        
when(database.getRuleMetaData().getAttributes(DataSourceMapperRuleAttribute.class)).thenReturn(Collections.emptyList());
         
when(result.getMetaDataContexts().getMetaData().getDatabases()).thenReturn(Collections.singletonMap(databaseName,
 database));
         
when(result.getMetaDataContexts().getMetaData().getDatabase(databaseName)).thenReturn(database);
         
when(result.getMetaDataContexts().getMetaData().getProps()).thenReturn(new 
ConfigurationProperties(createProperties()));

Reply via email to