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

totalo 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 bcc23f09bc5 Add ShardingSpherePreconditions.checkNotNull (#20933)
bcc23f09bc5 is described below

commit bcc23f09bc5f5bf46e5bb2bdb2723092928e72d2
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Sep 12 11:02:57 2022 +0800

    Add ShardingSpherePreconditions.checkNotNull (#20933)
---
 .../exception/ShardingSpherePreconditions.java     | 25 +++++++++++++++++
 .../exception/ShardingSpherePreconditionsTest.java | 32 ++++++++++++++++++++++
 2 files changed, 57 insertions(+)

diff --git 
a/shardingsphere-infra/shardingsphere-infra-util/src/main/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditions.java
 
b/shardingsphere-infra/shardingsphere-infra-util/src/main/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditions.java
index 4a004fa96ea..a5d84cf18fb 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-util/src/main/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditions.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-util/src/main/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditions.java
@@ -67,4 +67,29 @@ public final class ShardingSpherePreconditions {
             throw exceptionIfUnexpected;
         }
     }
+    
+    /**
+     * Ensures that an object reference passed as a parameter to the calling 
method is not null.
+     *
+     * @param reference object reference to be checked
+     * @param exceptionIfUnexpected exception thrown if object is null
+     */
+    public static void checkNotNull(final Object reference, final 
ShardingSphereExternalException exceptionIfUnexpected) {
+        if (null == reference) {
+            throw exceptionIfUnexpected;
+        }
+    }
+    
+    /**
+     * Ensures that an object reference passed as a parameter to the calling 
method is not null.
+     *
+     * @param reference object reference to be checked
+     * @param exceptionIfUnexpected exception thrown if object is null
+     * @throws ShardingSphereInternalException ShardingSphere internal 
exception
+     */
+    public static void checkNotNull(final Object reference, final 
ShardingSphereInternalException exceptionIfUnexpected) throws 
ShardingSphereInternalException {
+        if (null == reference) {
+            throw exceptionIfUnexpected;
+        }
+    }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-util/src/test/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditionsTest.java
 
b/shardingsphere-infra/shardingsphere-infra-util/src/test/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditionsTest.java
index 06e9f6930e3..48aa4cea7f6 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-util/src/test/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditionsTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-util/src/test/java/org/apache/shardingsphere/infra/util/exception/ShardingSpherePreconditionsTest.java
@@ -46,4 +46,36 @@ public final class ShardingSpherePreconditionsTest {
     public void assertCheckStateToNotThrowInternalException() throws 
ShardingSphereInternalException {
         ShardingSpherePreconditions.checkState(true, new 
ShardingSphereInternalExceptionFixture("message"));
     }
+    
+    @Test(expected = SQLException.class)
+    public void assertCheckStateToThrowsSQLException() throws SQLException {
+        ShardingSpherePreconditions.checkState(false, new 
SQLException("message"));
+    }
+    
+    @Test
+    public void assertCheckStateToNotThrowSQLException() throws SQLException {
+        ShardingSpherePreconditions.checkState(true, new 
SQLException("message"));
+    }
+    
+    @Test(expected = ShardingSphereExternalException.class)
+    public void assertCheckNotNullToThrowsExternalException() {
+        ShardingSpherePreconditions.checkNotNull(null, new 
SQLWrapperException(new SQLException()));
+    }
+    
+    @SuppressWarnings("ObviousNullCheck")
+    @Test
+    public void assertCheckNotNullToNotThrowExternalException() {
+        ShardingSpherePreconditions.checkNotNull(new Object(), new 
SQLWrapperException(new SQLException()));
+    }
+    
+    @Test(expected = ShardingSphereInternalException.class)
+    public void assertCheckNotNullToThrowsInternalException() throws 
ShardingSphereInternalException {
+        ShardingSpherePreconditions.checkNotNull(null, new 
ShardingSphereInternalExceptionFixture("message"));
+    }
+    
+    @SuppressWarnings("ObviousNullCheck")
+    @Test
+    public void assertCheckNotNullToNotThrowInternalException() throws 
ShardingSphereInternalException {
+        ShardingSpherePreconditions.checkNotNull(new Object(), new 
ShardingSphereInternalExceptionFixture("message"));
+    }
 }

Reply via email to