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