This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 7b1c0ea Remove mode filed on ShardingSphereDataSource and
GovernanceShardingSphereDataSource (#11902)
7b1c0ea is described below
commit 7b1c0eac7e1568ee081be4585e08df31726fca5e
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Aug 19 18:29:17 2021 +0800
Remove mode filed on ShardingSphereDataSource and
GovernanceShardingSphereDataSource (#11902)
---
.../core/datasource/ShardingSphereDataSource.java | 15 ++++++-----
.../GovernanceShardingSphereDataSource.java | 30 +++++++++++++++-------
2 files changed, 30 insertions(+), 15 deletions(-)
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
index e5dfb51..34553dc 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
@@ -52,19 +52,22 @@ public final class ShardingSphereDataSource extends
AbstractUnsupportedOperation
private final String schemaName;
- private final ShardingSphereMode mode;
-
private final ContextManager contextManager;
public ShardingSphereDataSource(final String schemaName, final
ModeConfiguration modeConfig, final Map<String, DataSource> dataSourceMap,
final Collection<RuleConfiguration>
ruleConfigs, final Properties props) throws SQLException {
this.schemaName = schemaName;
- mode = ModeBuilderEngine.build(modeConfig);
+ contextManager = createContextManager(schemaName, modeConfig,
dataSourceMap, ruleConfigs, props);
+
+ }
+
+ private ContextManager createContextManager(final String schemaName, final
ModeConfiguration modeConfig,
+ final Map<String, DataSource>
dataSourceMap, final Collection<RuleConfiguration> ruleConfigs, final
Properties props) throws SQLException {
+ ShardingSphereMode mode = ModeBuilderEngine.build(modeConfig);
Collection<RuleConfiguration> schemaRuleConfigs =
ruleConfigs.stream().filter(each -> each instanceof
SchemaRuleConfiguration).collect(Collectors.toList());
Collection<RuleConfiguration> globalRuleConfigs =
ruleConfigs.stream().filter(each -> each instanceof
GlobalRuleConfiguration).collect(Collectors.toList());
- contextManager =
TypedSPIRegistry.getRegisteredService(ContextManagerBuilder.class,
modeConfig.getType(), new Properties()).build(
- mode, Collections.singletonMap(schemaName, dataSourceMap),
Collections.singletonMap(schemaName, schemaRuleConfigs), globalRuleConfigs,
props, modeConfig.isOverwrite());
-
+ ContextManagerBuilder builder =
TypedSPIRegistry.getRegisteredService(ContextManagerBuilder.class,
modeConfig.getType(), new Properties());
+ return builder.build(mode, Collections.singletonMap(schemaName,
dataSourceMap), Collections.singletonMap(schemaName, schemaRuleConfigs),
globalRuleConfigs, props, modeConfig.isOverwrite());
}
@Override
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
index 35cda90..b20881e 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
@@ -54,26 +54,38 @@ public final class GovernanceShardingSphereDataSource
extends AbstractUnsupporte
private final String schemaName;
- private final ShardingSphereMode mode;
-
@Getter
private final ContextManager contextManager;
public GovernanceShardingSphereDataSource(final String schemaName, final
ModeConfiguration modeConfig) throws SQLException {
this.schemaName = schemaName;
- mode = ModeBuilderEngine.build(modeConfig);
- contextManager =
TypedSPIRegistry.getRegisteredService(ContextManagerBuilder.class,
modeConfig.getType(), new Properties()).build(
- mode, Collections.singletonMap(schemaName, new HashMap<>()),
Collections.singletonMap(schemaName, Collections.emptyList()),
Collections.emptyList(), new Properties(), false);
+ contextManager = createContextManager(schemaName, modeConfig);
}
public GovernanceShardingSphereDataSource(final String schemaName, final
ModeConfiguration modeConfig, final Map<String, DataSource> dataSourceMap,
final
Collection<RuleConfiguration> ruleConfigs, final Properties props) throws
SQLException {
this.schemaName = schemaName;
- mode = ModeBuilderEngine.build(modeConfig);
- Collection<RuleConfiguration> schemaRuleConfigs =
ruleConfigs.stream().filter(each -> each instanceof
SchemaRuleConfiguration).collect(Collectors.toList());
+ contextManager = createContextManager(schemaName, modeConfig,
dataSourceMap, ruleConfigs, props);
+ }
+
+ private ContextManager createContextManager(final String schemaName, final
ModeConfiguration modeConfig) throws SQLException {
+ ShardingSphereMode mode = ModeBuilderEngine.build(modeConfig);
+ Map<String, Map<String, DataSource>> dataSourcesMap =
Collections.singletonMap(schemaName, new HashMap<>());
+ Map<String, Collection<RuleConfiguration>> schemaRuleConfigs =
Collections.singletonMap(schemaName, Collections.emptyList());
+ Collection<RuleConfiguration> globalRuleConfigs =
Collections.emptyList();
+ ContextManagerBuilder builder =
TypedSPIRegistry.getRegisteredService(ContextManagerBuilder.class,
modeConfig.getType(), new Properties());
+ return builder.build(mode, dataSourcesMap, schemaRuleConfigs,
globalRuleConfigs, new Properties(), false);
+ }
+
+ private ContextManager createContextManager(final String schemaName, final
ModeConfiguration modeConfig, final Map<String, DataSource> dataSourceMap,
+ final
Collection<RuleConfiguration> ruleConfigs, final Properties props) throws
SQLException {
+ ShardingSphereMode mode = ModeBuilderEngine.build(modeConfig);
+ Map<String, Map<String, DataSource>> dataSourcesMap =
Collections.singletonMap(schemaName, dataSourceMap);
+ Map<String, Collection<RuleConfiguration>> schemaRuleConfigs =
Collections.singletonMap(
+ schemaName, ruleConfigs.stream().filter(each -> each
instanceof SchemaRuleConfiguration).collect(Collectors.toList()));
Collection<RuleConfiguration> globalRuleConfigs =
ruleConfigs.stream().filter(each -> each instanceof
GlobalRuleConfiguration).collect(Collectors.toList());
- contextManager =
TypedSPIRegistry.getRegisteredService(ContextManagerBuilder.class,
modeConfig.getType(), new Properties()).build(
- mode, Collections.singletonMap(schemaName, dataSourceMap),
Collections.singletonMap(schemaName, schemaRuleConfigs), globalRuleConfigs,
props, modeConfig.isOverwrite());
+ ContextManagerBuilder builder =
TypedSPIRegistry.getRegisteredService(ContextManagerBuilder.class,
modeConfig.getType(), new Properties());
+ return builder.build(mode, dataSourcesMap, schemaRuleConfigs,
globalRuleConfigs, props, modeConfig.isOverwrite());
}
@Override