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 e5b1ba3 Optimize the code (#12226)
e5b1ba3 is described below
commit e5b1ba301c96578e994d2c2a11b15af2dc1b8d94
Author: zhaojinchao <[email protected]>
AuthorDate: Mon Sep 6 10:59:35 2021 +0800
Optimize the code (#12226)
* Optimize the code
* update
---
.../jdbc/core/datasource/ShardingSphereDataSource.java | 18 ++++++------------
1 file changed, 6 insertions(+), 12 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 ec86f12..450a8c3 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
@@ -33,8 +33,9 @@ import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
+import java.util.HashMap;
+import java.util.LinkedList;
import java.util.Properties;
import java.util.stream.Collectors;
@@ -50,29 +51,22 @@ public final class ShardingSphereDataSource extends
AbstractUnsupportedOperation
public ShardingSphereDataSource(final String schemaName, final
ModeConfiguration modeConfig) throws SQLException {
this.schemaName = schemaName;
- contextManager = createContextManager(schemaName, modeConfig);
+ contextManager = createContextManager(schemaName, modeConfig, new
HashMap<>(), new LinkedList<>(), new Properties(), false);
}
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;
- contextManager = createContextManager(schemaName, modeConfig,
dataSourceMap, ruleConfigs, props);
- }
-
- private ContextManager createContextManager(final String schemaName, final
ModeConfiguration modeConfig) throws SQLException {
- 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();
- return
ContextManagerBuilderFactory.newInstance(modeConfig).build(modeConfig,
dataSourcesMap, schemaRuleConfigs, globalRuleConfigs, new Properties(), false);
+ contextManager = createContextManager(schemaName, modeConfig,
dataSourceMap, ruleConfigs, props, null == modeConfig ||
modeConfig.isOverwrite());
}
private ContextManager createContextManager(final String schemaName, final
ModeConfiguration modeConfig, final Map<String, DataSource> dataSourceMap,
- final
Collection<RuleConfiguration> ruleConfigs, final Properties props) throws
SQLException {
+ final
Collection<RuleConfiguration> ruleConfigs, final Properties props, final
boolean isOverwrite) throws SQLException {
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());
- return
ContextManagerBuilderFactory.newInstance(modeConfig).build(modeConfig,
dataSourcesMap, schemaRuleConfigs, globalRuleConfigs, props, null == modeConfig
|| modeConfig.isOverwrite());
+ return
ContextManagerBuilderFactory.newInstance(modeConfig).build(modeConfig,
dataSourcesMap, schemaRuleConfigs, globalRuleConfigs, props, isOverwrite);
}
@Override