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

wuweijie 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 f660e46  Move argument null check from inner ShardingSphereDataSource 
to ShardingSphereDataSourceFactory (#12870)
f660e46 is described below

commit f660e463e2d0ffc2d910af77b330ddefee0c699d
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Oct 1 18:00:50 2021 +0800

    Move argument null check from inner ShardingSphereDataSource to 
ShardingSphereDataSourceFactory (#12870)
---
 .../shardingsphere/driver/api/ShardingSphereDataSourceFactory.java | 2 ++
 .../driver/jdbc/core/datasource/ShardingSphereDataSource.java      | 7 +++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactory.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactory.java
index 098debc..76485a3 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactory.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactory.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.driver.api;
 
+import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
@@ -74,6 +75,7 @@ public final class ShardingSphereDataSourceFactory {
      */
     public static DataSource createDataSource(final String schemaName, final 
ModeConfiguration modeConfig, 
                                               final Map<String, DataSource> 
dataSourceMap, final Collection<RuleConfiguration> configs, final Properties 
props) throws SQLException {
+        Preconditions.checkArgument(null != configs && !configs.isEmpty(), 
"ShardingSphere rule configuration cannot be null or empty.");
         return new ShardingSphereDataSource(Strings.isNullOrEmpty(schemaName) 
? DefaultSchema.LOGIC_NAME : schemaName, modeConfig, dataSourceMap, configs, 
props);
     }
     
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 0364d9e..9f6d14d 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
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.driver.jdbc.core.datasource;
 
-import com.google.common.base.Preconditions;
 import lombok.Getter;
 import 
org.apache.shardingsphere.driver.jdbc.unsupported.AbstractUnsupportedOperationDataSource;
 import org.apache.shardingsphere.driver.state.DriverStateContext;
@@ -35,9 +34,9 @@ import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Map;
 import java.util.HashMap;
 import java.util.LinkedList;
+import java.util.Map;
 import java.util.Properties;
 import java.util.stream.Collectors;
 
@@ -63,9 +62,9 @@ public final class ShardingSphereDataSource extends 
AbstractUnsupportedOperation
         contextManager = createContextManager(schemaName, modeConfig, 
dataSourceMap, ruleConfigs, props, null == modeConfig || 
modeConfig.isOverwrite());
     }
     
+    @SuppressWarnings("unchecked")
     private void checkRuleConfiguration(final String schemaName, final 
Collection<RuleConfiguration> ruleConfigs) {
-        Preconditions.checkArgument(null != ruleConfigs && 
!ruleConfigs.isEmpty(), "ShardingSphere rule configuration cannot be null or 
empty");
-        ruleConfigs.forEach(each -> 
RuleConfigurationCheckerFactory.newInstance(each).ifPresent(checker -> 
checker.check(schemaName, each)));
+        ruleConfigs.forEach(each -> 
RuleConfigurationCheckerFactory.newInstance(each).ifPresent(optional -> 
optional.check(schemaName, each)));
     }
     
     private ContextManager createContextManager(final String schemaName, final 
ModeConfiguration modeConfig, final Map<String, DataSource> dataSourceMap,

Reply via email to