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 106977bd0bc Refactor ShardingSphereDatabasesFactory's return value as 
collection (#34395)
106977bd0bc is described below

commit 106977bd0bca4e36a7abdc0d33d348031848c947
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jan 19 11:33:45 2025 +0800

    Refactor ShardingSphereDatabasesFactory's return value as collection 
(#34395)
    
    * Refactor ShardingSphereDatabasesFactory's return value as collection
    
    * Refactor ShardingSphereDatabasesFactory's return value as collection
    
    * Refactor ShardingSphereDatabasesFactory's return value as collection
---
 .../database/ShardingSphereDatabasesFactory.java   | 46 ++++++-----
 .../ShardingSphereDatabasesFactoryTest.java        | 22 ++----
 .../mode/metadata/MetaDataContextsFactory.java     | 91 +++++++++++-----------
 .../mode/metadata/MetaDataContextsFactoryTest.java |  7 +-
 4 files changed, 80 insertions(+), 86 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
index 7243e5498a9..c650951b467 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactory.java
@@ -29,10 +29,10 @@ import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
 
 import java.sql.SQLException;
 import java.util.Collection;
-import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
 
 /**
@@ -47,17 +47,15 @@ public final class ShardingSphereDatabasesFactory {
      * @param databaseConfigMap database configuration map
      * @param schemas schemas
      * @param props properties
-     * @param computeNodeInstanceContext compute node instance context
+     * @param instanceContext compute node instance context
      * @return created databases
      */
-    public static Map<String, ShardingSphereDatabase> create(final Map<String, 
DatabaseConfiguration> databaseConfigMap,
-                                                             final Map<String, 
Collection<ShardingSphereSchema>> schemas,
-                                                             final 
ConfigurationProperties props, final ComputeNodeInstanceContext 
computeNodeInstanceContext) {
+    public static Collection<ShardingSphereDatabase> create(final Map<String, 
DatabaseConfiguration> databaseConfigMap,
+                                                            final Map<String, 
Collection<ShardingSphereSchema>> schemas,
+                                                            final 
ConfigurationProperties props, final ComputeNodeInstanceContext 
instanceContext) {
         DatabaseType protocolType = 
DatabaseTypeEngine.getProtocolType(databaseConfigMap, props);
         return databaseConfigMap.entrySet().stream()
-                .collect(Collectors.toMap(entry -> 
entry.getKey().toLowerCase(),
-                        entry -> create(entry.getKey(), entry.getValue(), 
protocolType, schemas.get(entry.getKey()), props, computeNodeInstanceContext),
-                        (a, b) -> b, () -> new 
ConcurrentHashMap<>(databaseConfigMap.size(), 1F)));
+                .map(entry -> create(entry.getKey(), entry.getValue(), 
protocolType, schemas.get(entry.getKey()), props, 
instanceContext)).collect(Collectors.toList());
     }
     
     private static ShardingSphereDatabase create(final String databaseName, 
final DatabaseConfiguration databaseConfig, final DatabaseType protocolType,
@@ -73,39 +71,39 @@ public final class ShardingSphereDatabasesFactory {
      *
      * @param databaseConfigMap database configuration map
      * @param props properties
-     * @param computeNodeInstanceContext compute node instance context
+     * @param instanceContext compute node instance context
      * @return created databases
      * @throws SQLException SQL exception
      */
-    public static Map<String, ShardingSphereDatabase> create(final Map<String, 
DatabaseConfiguration> databaseConfigMap,
-                                                             final 
ConfigurationProperties props, final ComputeNodeInstanceContext 
computeNodeInstanceContext) throws SQLException {
+    public static Collection<ShardingSphereDatabase> create(final Map<String, 
DatabaseConfiguration> databaseConfigMap,
+                                                            final 
ConfigurationProperties props, final ComputeNodeInstanceContext 
instanceContext) throws SQLException {
         DatabaseType protocolType = 
DatabaseTypeEngine.getProtocolType(databaseConfigMap, props);
         SystemDatabase systemDatabase = new SystemDatabase(protocolType);
-        Map<String, ShardingSphereDatabase> result = new 
ConcurrentHashMap<>(databaseConfigMap.size() + 
systemDatabase.getSystemDatabaseSchemaMap().size(), 1F);
-        result.putAll(createGenericDatabases(databaseConfigMap, protocolType, 
systemDatabase, props, computeNodeInstanceContext));
-        result.putAll(createSystemDatabases(databaseConfigMap, protocolType, 
systemDatabase, props));
+        Collection<ShardingSphereDatabase> result = new LinkedList<>();
+        result.addAll(createGenericDatabases(databaseConfigMap, protocolType, 
systemDatabase, props, instanceContext));
+        result.addAll(createSystemDatabases(databaseConfigMap, protocolType, 
systemDatabase, props));
         return result;
     }
     
-    private static Map<String, ShardingSphereDatabase> 
createGenericDatabases(final Map<String, DatabaseConfiguration> 
databaseConfigMap,
-                                                                              
final DatabaseType protocolType, final SystemDatabase systemDatabase,
-                                                                              
final ConfigurationProperties props, final ComputeNodeInstanceContext 
computeNodeInstanceContext) throws SQLException {
-        Map<String, ShardingSphereDatabase> result = new 
HashMap<>(databaseConfigMap.size(), 1F);
+    private static Collection<ShardingSphereDatabase> 
createGenericDatabases(final Map<String, DatabaseConfiguration> 
databaseConfigMap,
+                                                                             
final DatabaseType protocolType, final SystemDatabase systemDatabase,
+                                                                             
final ConfigurationProperties props, final ComputeNodeInstanceContext 
instanceContext) throws SQLException {
+        Collection<ShardingSphereDatabase> result = new 
HashSet<>(databaseConfigMap.size(), 1F);
         for (Entry<String, DatabaseConfiguration> entry : 
databaseConfigMap.entrySet()) {
             String databaseName = entry.getKey();
             if (!entry.getValue().getStorageUnits().isEmpty() || 
!systemDatabase.getSystemSchemas().contains(databaseName)) {
-                result.put(databaseName.toLowerCase(), 
ShardingSphereDatabase.create(databaseName, protocolType, entry.getValue(), 
props, computeNodeInstanceContext));
+                result.add(ShardingSphereDatabase.create(databaseName, 
protocolType, entry.getValue(), props, instanceContext));
             }
         }
         return result;
     }
     
-    private static Map<String, ShardingSphereDatabase> 
createSystemDatabases(final Map<String, DatabaseConfiguration> 
databaseConfigMap, final DatabaseType protocolType,
-                                                                             
final SystemDatabase systemDatabase, final ConfigurationProperties props) {
-        Map<String, ShardingSphereDatabase> result = new 
HashMap<>(systemDatabase.getSystemDatabaseSchemaMap().size(), 1F);
+    private static Collection<ShardingSphereDatabase> 
createSystemDatabases(final Map<String, DatabaseConfiguration> 
databaseConfigMap, final DatabaseType protocolType,
+                                                                            
final SystemDatabase systemDatabase, final ConfigurationProperties props) {
+        Collection<ShardingSphereDatabase> result = new 
HashSet<>(systemDatabase.getSystemDatabaseSchemaMap().size(), 1F);
         for (String each : 
systemDatabase.getSystemDatabaseSchemaMap().keySet()) {
             if (!databaseConfigMap.containsKey(each) || 
databaseConfigMap.get(each).getStorageUnits().isEmpty()) {
-                result.put(each.toLowerCase(), 
ShardingSphereDatabase.create(each, protocolType, props));
+                result.add(ShardingSphereDatabase.create(each, protocolType, 
props));
             }
         }
         return result;
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactoryTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactoryTest.java
index 2fe32a729f2..02e0859992d 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactoryTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabasesFactoryTest.java
@@ -24,10 +24,13 @@ import 
org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import org.junit.jupiter.api.Test;
 
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Map;
+import java.util.List;
 import java.util.Properties;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 
@@ -36,18 +39,9 @@ class ShardingSphereDatabasesFactoryTest {
     @Test
     void assertCreateDatabases() throws SQLException {
         DatabaseConfiguration databaseConfig = new 
DataSourceProvidedDatabaseConfiguration(Collections.emptyMap(), 
Collections.emptyList());
-        Map<String, ShardingSphereDatabase> actual = 
ShardingSphereDatabasesFactory.create(
-                Collections.singletonMap("foo_db", databaseConfig), new 
ConfigurationProperties(new Properties()), 
mock(ComputeNodeInstanceContext.class));
-        assertTrue(actual.containsKey("foo_db"));
-        
assertTrue(actual.get("foo_db").getResourceMetaData().getStorageUnits().isEmpty());
-    }
-    
-    @Test
-    void assertCreateDatabasesWhenConfigUppercaseDatabaseName() throws 
SQLException {
-        DatabaseConfiguration databaseConfig = new 
DataSourceProvidedDatabaseConfiguration(Collections.emptyMap(), 
Collections.emptyList());
-        Map<String, ShardingSphereDatabase> actual = 
ShardingSphereDatabasesFactory.create(
-                Collections.singletonMap("FOO_DB", databaseConfig), new 
ConfigurationProperties(new Properties()), 
mock(ComputeNodeInstanceContext.class));
-        assertTrue(actual.containsKey("foo_db"));
-        
assertTrue(actual.get("foo_db").getResourceMetaData().getStorageUnits().isEmpty());
+        List<ShardingSphereDatabase> actual = new 
ArrayList<>(ShardingSphereDatabasesFactory.create(
+                Collections.singletonMap("foo_db", databaseConfig), new 
ConfigurationProperties(new Properties()), 
mock(ComputeNodeInstanceContext.class)));
+        assertThat(actual.get(0).getName(), is("foo_db"));
+        
assertTrue(actual.get(0).getResourceMetaData().getStorageUnits().isEmpty());
     }
 }
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactory.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactory.java
index 34fb5f705ed..7f804c71251 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactory.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactory.java
@@ -33,6 +33,7 @@ import 
org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import 
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
@@ -40,10 +41,11 @@ import 
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
 import 
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import 
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
 import 
org.apache.shardingsphere.infra.metadata.statistics.builder.ShardingSphereStatisticsFactory;
+import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
 import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory;
 import org.apache.shardingsphere.mode.metadata.manager.SwitchingResource;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 
@@ -81,10 +83,9 @@ public final class MetaDataContextsFactory {
     
     private static MetaDataContexts createByLocal(final MetaDataPersistService 
persistService,
                                                   final 
ContextManagerBuilderParameter param, final ComputeNodeInstanceContext 
instanceContext) throws SQLException {
-        Collection<RuleConfiguration> globalRuleConfigs = 
param.getGlobalRuleConfigs();
         ConfigurationProperties props = new 
ConfigurationProperties(param.getProps());
-        Map<String, ShardingSphereDatabase> databases = 
ShardingSphereDatabasesFactory.create(param.getDatabaseConfigs(), props, 
instanceContext);
-        MetaDataContexts result = newMetaDataContexts(persistService, param, 
globalRuleConfigs, databases, props);
+        Collection<ShardingSphereDatabase> databases = 
ShardingSphereDatabasesFactory.create(param.getDatabaseConfigs(), props, 
instanceContext);
+        MetaDataContexts result = createMetaDataContexts(persistService, 
param.getGlobalRuleConfigs(), param.getGlobalDataSources(), databases, props);
         persistDatabaseConfigurations(result, param, persistService);
         persistMetaData(result, persistService);
         return result;
@@ -92,29 +93,54 @@ public final class MetaDataContextsFactory {
     
     private static MetaDataContexts createByRepository(final 
MetaDataPersistService persistService, final ContextManagerBuilderParameter 
param, final ComputeNodeInstanceContext instanceContext) {
         Map<String, DatabaseConfiguration> effectiveDatabaseConfigs = 
createEffectiveDatabaseConfigurations(
-                getDatabaseNames(instanceContext, param.getDatabaseConfigs(), 
persistService), param.getDatabaseConfigs(), persistService);
+                getDatabaseNames(persistService, param.getDatabaseConfigs(), 
instanceContext), param.getDatabaseConfigs(), persistService);
         Collection<RuleConfiguration> globalRuleConfigs = 
persistService.getGlobalRuleService().load();
+        // TODO load global data sources from persist service
+        Map<String, DataSource> globalDataSources = 
param.getGlobalDataSources();
         ConfigurationProperties props = new 
ConfigurationProperties(persistService.getPropsService().load());
-        return newMetaDataContexts(persistService, param, globalRuleConfigs,
-                
ShardingSphereDatabasesFactory.create(effectiveDatabaseConfigs, 
loadSchemas(persistService, effectiveDatabaseConfigs.keySet()), props, 
instanceContext), props);
+        Collection<ShardingSphereDatabase> databases = 
ShardingSphereDatabasesFactory.create(
+                effectiveDatabaseConfigs, loadSchemas(persistService, 
effectiveDatabaseConfigs.keySet()), props, instanceContext);
+        return createMetaDataContexts(persistService, globalRuleConfigs, 
globalDataSources, databases, props);
     }
     
-    private static Map<String, Collection<ShardingSphereSchema>> 
loadSchemas(final MetaDataPersistService persistService, final 
Collection<String> databaseNames) {
-        return databaseNames.stream().collect(Collectors.toMap(each -> each, 
each -> persistService.getDatabaseMetaDataFacade().getSchema().load(each)));
+    private static MetaDataContexts createMetaDataContexts(final 
MetaDataPersistService persistService,
+                                                           final 
Collection<RuleConfiguration> globalRuleConfigs, final Map<String, DataSource> 
globalDataSources,
+                                                           final 
Collection<ShardingSphereDatabase> databases, final ConfigurationProperties 
props) {
+        Collection<ShardingSphereRule> globalRules = 
GlobalRulesBuilder.buildRules(globalRuleConfigs, databases, props);
+        ShardingSphereMetaData metaData = new 
ShardingSphereMetaData(databases, new ResourceMetaData(globalDataSources), new 
RuleMetaData(globalRules), props);
+        ShardingSphereStatistics statistics = 
ShardingSphereStatisticsFactory.create(metaData, 
persistService.getShardingSphereDataPersistService().load(metaData));
+        return new MetaDataContexts(metaData, statistics);
     }
     
-    private static MetaDataContexts newMetaDataContexts(final 
MetaDataPersistService persistService, final ContextManagerBuilderParameter 
param,
-                                                        final 
Collection<RuleConfiguration> globalRuleConfigs, final Map<String, 
ShardingSphereDatabase> databases,
-                                                        final 
ConfigurationProperties props) {
-        // TODO load global data sources from persist service
-        ResourceMetaData globalResourceMetaData = new 
ResourceMetaData(param.getGlobalDataSources());
-        RuleMetaData globalRuleMetaData = new 
RuleMetaData(GlobalRulesBuilder.buildRules(globalRuleConfigs, 
databases.values(), props));
-        ShardingSphereMetaData metaData = new 
ShardingSphereMetaData(databases.values(), globalResourceMetaData, 
globalRuleMetaData, props);
-        return new MetaDataContexts(metaData, 
ShardingSphereStatisticsFactory.create(metaData, 
persistService.getShardingSphereDataPersistService().load(metaData)));
+    private static void persistDatabaseConfigurations(final MetaDataContexts 
metadataContexts, final ContextManagerBuilderParameter param, final 
MetaDataPersistService persistService) {
+        Collection<RuleConfiguration> globalRuleConfigs = 
metadataContexts.getMetaData().getGlobalRuleMetaData().getConfigurations();
+        persistService.persistGlobalRuleConfiguration(globalRuleConfigs, 
param.getProps());
+        for (Entry<String, ? extends DatabaseConfiguration> entry : 
param.getDatabaseConfigs().entrySet()) {
+            String databaseName = entry.getKey();
+            persistService.persistConfigurations(entry.getKey(), 
entry.getValue(),
+                    
metadataContexts.getMetaData().getDatabase(databaseName).getResourceMetaData().getStorageUnits().entrySet().stream()
+                            .collect(Collectors.toMap(Entry::getKey, each -> 
each.getValue().getDataSource(), (oldValue, currentValue) -> oldValue, 
LinkedHashMap::new)),
+                    
metadataContexts.getMetaData().getDatabase(databaseName).getRuleMetaData().getRules());
+        }
     }
     
-    private static Collection<String> getDatabaseNames(final 
ComputeNodeInstanceContext instanceContext,
-                                                       final Map<String, 
DatabaseConfiguration> databaseConfigs, final MetaDataPersistService 
persistService) {
+    private static void persistMetaData(final MetaDataContexts 
metaDataContexts, final MetaDataPersistService persistService) {
+        metaDataContexts.getMetaData().getAllDatabases().forEach(each -> 
each.getAllSchemas().forEach(schema -> {
+            if (schema.isEmpty()) {
+                
persistService.getDatabaseMetaDataFacade().getSchema().add(each.getName(), 
schema.getName());
+            }
+            
persistService.getDatabaseMetaDataFacade().getTable().persist(each.getName(), 
schema.getName(), schema.getAllTables());
+        }));
+        for (Entry<String, ShardingSphereDatabaseData> databaseDataEntry : 
metaDataContexts.getStatistics().getDatabaseData().entrySet()) {
+            for (Entry<String, ShardingSphereSchemaData> schemaDataEntry : 
databaseDataEntry.getValue().getSchemaData().entrySet()) {
+                persistService.getShardingSphereDataPersistService().persist(
+                        
metaDataContexts.getMetaData().getDatabase(databaseDataEntry.getKey()), 
schemaDataEntry.getKey(), schemaDataEntry.getValue());
+            }
+        }
+    }
+    
+    private static Collection<String> getDatabaseNames(final 
MetaDataPersistService persistService, final Map<String, DatabaseConfiguration> 
databaseConfigs,
+                                                       final 
ComputeNodeInstanceContext instanceContext) {
         return instanceContext.getInstance().getMetaData() instanceof 
JDBCInstanceMetaData
                 ? databaseConfigs.keySet()
                 : 
persistService.getDatabaseMetaDataFacade().getDatabase().loadAllDatabaseNames();
@@ -139,31 +165,8 @@ public final class MetaDataContextsFactory {
         }
     }
     
-    private static void persistDatabaseConfigurations(final MetaDataContexts 
metadataContexts, final ContextManagerBuilderParameter param, final 
MetaDataPersistService persistService) {
-        Collection<RuleConfiguration> globalRuleConfigs = 
metadataContexts.getMetaData().getGlobalRuleMetaData().getConfigurations();
-        persistService.persistGlobalRuleConfiguration(globalRuleConfigs, 
param.getProps());
-        for (Entry<String, ? extends DatabaseConfiguration> entry : 
param.getDatabaseConfigs().entrySet()) {
-            String databaseName = entry.getKey();
-            persistService.persistConfigurations(entry.getKey(), 
entry.getValue(),
-                    
metadataContexts.getMetaData().getDatabase(databaseName).getResourceMetaData().getStorageUnits().entrySet().stream()
-                            .collect(Collectors.toMap(Entry::getKey, each -> 
each.getValue().getDataSource(), (oldValue, currentValue) -> oldValue, 
LinkedHashMap::new)),
-                    
metadataContexts.getMetaData().getDatabase(databaseName).getRuleMetaData().getRules());
-        }
-    }
-    
-    private static void persistMetaData(final MetaDataContexts 
metaDataContexts, final MetaDataPersistService persistService) {
-        metaDataContexts.getMetaData().getAllDatabases().forEach(each -> 
each.getAllSchemas().forEach(schema -> {
-            if (schema.isEmpty()) {
-                
persistService.getDatabaseMetaDataFacade().getSchema().add(each.getName(), 
schema.getName());
-            }
-            
persistService.getDatabaseMetaDataFacade().getTable().persist(each.getName(), 
schema.getName(), schema.getAllTables());
-        }));
-        for (Entry<String, ShardingSphereDatabaseData> databaseDataEntry : 
metaDataContexts.getStatistics().getDatabaseData().entrySet()) {
-            for (Entry<String, ShardingSphereSchemaData> schemaDataEntry : 
databaseDataEntry.getValue().getSchemaData().entrySet()) {
-                persistService.getShardingSphereDataPersistService().persist(
-                        
metaDataContexts.getMetaData().getDatabase(databaseDataEntry.getKey()), 
schemaDataEntry.getKey(), schemaDataEntry.getValue());
-            }
-        }
+    private static Map<String, Collection<ShardingSphereSchema>> 
loadSchemas(final MetaDataPersistService persistService, final 
Collection<String> databaseNames) {
+        return databaseNames.stream().collect(Collectors.toMap(each -> each, 
each -> persistService.getDatabaseMetaDataFacade().getSchema().load(each)));
     }
     
     /**
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
index 96fc1ad3f40..0df9edbaf47 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsFactoryTest.java
@@ -24,15 +24,15 @@ import 
org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import 
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory;
 import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory;
+import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.mode.metadata.persist.service.config.database.DatabaseRulePersistService;
 import 
org.apache.shardingsphere.mode.metadata.persist.service.config.global.GlobalRulePersistService;
 import 
org.apache.shardingsphere.mode.metadata.persist.service.config.global.PropertiesPersistService;
 import 
org.apache.shardingsphere.mode.metadata.persist.service.metadata.DatabaseMetaDataPersistFacade;
-import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
 import org.apache.shardingsphere.test.fixture.infra.rule.MockedRule;
 import 
org.apache.shardingsphere.test.fixture.infra.rule.MockedRuleConfiguration;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
@@ -48,7 +48,6 @@ import org.mockito.quality.Strictness;
 
 import java.sql.SQLException;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Properties;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
@@ -90,7 +89,7 @@ class MetaDataContextsFactoryTest {
         when(database.getName()).thenReturn("foo_db");
         when(database.getProtocolType()).thenReturn(databaseType);
         
when(database.getRuleMetaData().getRules()).thenReturn(Collections.emptyList());
-        when(ShardingSphereDatabasesFactory.create(anyMap(), anyMap(), any(), 
any())).thenReturn(new HashMap<>(Collections.singletonMap("foo_db", database)));
+        when(ShardingSphereDatabasesFactory.create(anyMap(), anyMap(), any(), 
any())).thenReturn(Collections.singleton(database));
         when(GlobalRulesBuilder.buildRules(anyCollection(), anyCollection(), 
any(ConfigurationProperties.class))).thenReturn(Collections.singleton(new 
MockedRule()));
     }
     

Reply via email to