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