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

Reply via email to