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