This is an automated email from the ASF dual-hosted git repository.

zhonghongsheng 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 ab78419  Add default value for props to avoid NPE (#15193)
ab78419 is described below

commit ab784196ac6ae9b534126724a020b94f687a4799
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jan 29 19:05:03 2022 +0800

    Add default value for props to avoid NPE (#15193)
---
 .../driver/jdbc/core/datasource/ShardingSphereDataSource.java    | 9 ++++++---
 .../shardingsphere/mode/metadata/MetaDataContextsBuilder.java    | 2 +-
 .../mode/manager/memory/MemoryContextManagerBuilder.java         | 6 ++----
 .../shardingsphere/proxy/initializer/BootstrapInitializer.java   | 6 ++++--
 4 files changed, 13 insertions(+), 10 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 2dc2c20..53ebec1 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
@@ -61,7 +61,7 @@ public final class ShardingSphereDataSource extends 
AbstractDataSourceAdapter im
                                     final Collection<RuleConfiguration> 
ruleConfigs, final Properties props) throws SQLException {
         checkRuleConfiguration(schemaName, ruleConfigs);
         this.schemaName = schemaName;
-        contextManager = createContextManager(schemaName, modeConfig, 
dataSourceMap, ruleConfigs, props);
+        contextManager = createContextManager(schemaName, modeConfig, 
dataSourceMap, ruleConfigs, null == props ? new Properties() : props);
     }
     
     @SuppressWarnings("unchecked")
@@ -72,9 +72,12 @@ public final class ShardingSphereDataSource extends 
AbstractDataSourceAdapter im
     private ContextManager createContextManager(final String schemaName, final 
ModeConfiguration modeConfig, final Map<String, DataSource> dataSourceMap,
                                                 final 
Collection<RuleConfiguration> ruleConfigs, final Properties props) throws 
SQLException {
         Collection<RuleConfiguration> globalRuleConfigs = 
ruleConfigs.stream().filter(each -> each instanceof 
GlobalRuleConfiguration).collect(Collectors.toList());
-        ContextManagerBuilderParameter parameter = 
ContextManagerBuilderParameter.builder().modeConfig(modeConfig)
+        ContextManagerBuilderParameter parameter = 
ContextManagerBuilderParameter.builder()
+                .modeConfig(modeConfig)
                 .schemaConfigs(Collections.singletonMap(schemaName, new 
DataSourceProvidedSchemaConfiguration(dataSourceMap, ruleConfigs)))
-                
.globalRuleConfigs(globalRuleConfigs).props(props).instanceDefinition(new 
InstanceDefinition(InstanceType.JDBC)).build();
+                .globalRuleConfigs(globalRuleConfigs)
+                .props(props)
+                .instanceDefinition(new 
InstanceDefinition(InstanceType.JDBC)).build();
         return 
ContextManagerBuilderFactory.newInstance(modeConfig).build(parameter);
     }
     
diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
index 0cd9100..8c9c217 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
@@ -65,7 +65,7 @@ public final class MetaDataContextsBuilder {
     
     public MetaDataContextsBuilder(final Collection<RuleConfiguration> 
globalRuleConfigs, final Properties props) {
         this.globalRuleConfigs = globalRuleConfigs;
-        this.props = new ConfigurationProperties(null == props ? new 
Properties() : props);
+        this.props = new ConfigurationProperties(props);
         executorEngine = new 
ExecutorEngine(this.props.<Integer>getValue(ConfigurationPropertyKey.KERNEL_EXECUTOR_SIZE));
     }
     
diff --git 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/MemoryContextManagerBuilder.java
 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/MemoryContextManagerBuilder.java
index e7079ac..0120552 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/MemoryContextManagerBuilder.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-memory-mode/shardingsphere-memory-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/memory/MemoryContextManagerBuilder.java
@@ -32,7 +32,6 @@ import 
org.apache.shardingsphere.transaction.context.TransactionContextsBuilder;
 
 import java.sql.SQLException;
 import java.util.Map.Entry;
-import java.util.Properties;
 
 /**
  * Memory context manager builder.
@@ -41,10 +40,9 @@ public final class MemoryContextManagerBuilder implements 
ContextManagerBuilder
     
     @Override
     public ContextManager build(final ContextManagerBuilderParameter 
parameter) throws SQLException {
-        Properties props = null == parameter.getProps() ? new Properties() : 
parameter.getProps();
-        MetaDataContextsBuilder metaDataContextsBuilder = new 
MetaDataContextsBuilder(parameter.getGlobalRuleConfigs(), props);
+        MetaDataContextsBuilder metaDataContextsBuilder = new 
MetaDataContextsBuilder(parameter.getGlobalRuleConfigs(), parameter.getProps());
         for (Entry<String, ? extends SchemaConfiguration> entry : 
parameter.getSchemaConfigs().entrySet()) {
-            metaDataContextsBuilder.addSchema(entry.getKey(), 
entry.getValue(), props);
+            metaDataContextsBuilder.addSchema(entry.getKey(), 
entry.getValue(), parameter.getProps());
         }
         MetaDataContexts metaDataContexts = 
metaDataContextsBuilder.build(null);
         TransactionContexts transactionContexts = new 
TransactionContextsBuilder(metaDataContexts.getMetaDataMap(), 
metaDataContexts.getGlobalRuleMetaData().getRules()).build();
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
index a2c2bea..77def44 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
@@ -69,10 +69,12 @@ public final class BootstrapInitializer {
     
     private ContextManager createContextManager(final YamlProxyConfiguration 
yamlConfig, final ModeConfiguration modeConfig, final int port) throws 
SQLException {
         ProxyConfiguration proxyConfig = new 
YamlProxyConfigurationSwapper().swap(yamlConfig);
-        ContextManagerBuilderParameter parameter = 
ContextManagerBuilderParameter.builder().modeConfig(modeConfig)
+        ContextManagerBuilderParameter parameter = 
ContextManagerBuilderParameter.builder()
+                .modeConfig(modeConfig)
                 .schemaConfigs(proxyConfig.getSchemaConfigurations())
                 
.globalRuleConfigs(proxyConfig.getGlobalConfiguration().getRules())
-                
.props(proxyConfig.getGlobalConfiguration().getProperties()).labels(proxyConfig.getGlobalConfiguration().getLabels())
+                .props(proxyConfig.getGlobalConfiguration().getProperties())
+                .labels(proxyConfig.getGlobalConfiguration().getLabels())
                 .instanceDefinition(new InstanceDefinition(InstanceType.PROXY, 
port)).build();
         return 
ContextManagerBuilderFactory.newInstance(modeConfig).build(parameter);
     }

Reply via email to