You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by th...@apache.org on 2022/12/07 03:42:57 UTC
[commons-dbutils] branch master updated: DBUTILS-112 Applying patch to add rollback quietly (thanks msiemczyk)
This is an automated email from the ASF dual-hosted git repository.
thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git
The following commit(s) were added to refs/heads/master by this push:
new 69a74fd DBUTILS-112 Applying patch to add rollback quietly (thanks msiemczyk)
69a74fd is described below
commit 69a74fdf04e34414da4152991ab2b32dc1be4b1e
Author: Carl Hall <th...@apache.org>
AuthorDate: Tue Dec 6 22:36:33 2022 -0500
DBUTILS-112 Applying patch to add rollback quietly (thanks msiemczyk)
---
.../java/org/apache/commons/dbutils/DbUtils.java | 16 ++++++++++++++++
.../java/org/apache/commons/dbutils/DbUtilsTest.java | 20 ++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/src/main/java/org/apache/commons/dbutils/DbUtils.java b/src/main/java/org/apache/commons/dbutils/DbUtils.java
index d178db0..5816532 100644
--- a/src/main/java/org/apache/commons/dbutils/DbUtils.java
+++ b/src/main/java/org/apache/commons/dbutils/DbUtils.java
@@ -300,6 +300,22 @@ public final class DbUtils {
}
}
+
+ /**
+ * Performs a rollback on the <code>Connection</code>, avoid
+ * closing if null and hide any SQLExceptions that occur.
+ *
+ * @param conn Connection to rollback. A null value is legal.
+ * @since DbUtils 2.0
+ */
+ public static void rollbackQuietly(Connection conn) {
+ try {
+ rollback(conn);
+ } catch (SQLException e) { // NOPMD
+ // quiet
+ }
+ }
+
/**
* Performs a rollback on the {@code Connection} then closes it,
* avoid closing if null.
diff --git a/src/test/java/org/apache/commons/dbutils/DbUtilsTest.java b/src/test/java/org/apache/commons/dbutils/DbUtilsTest.java
index a63cd0d..63ca398 100644
--- a/src/test/java/org/apache/commons/dbutils/DbUtilsTest.java
+++ b/src/test/java/org/apache/commons/dbutils/DbUtilsTest.java
@@ -226,6 +226,26 @@ public class DbUtilsTest {
verify(mockConnection).rollback();
}
+ @Test
+ public void rollbackQuietlyNull() throws Exception {
+ DbUtils.rollbackQuietly(null);
+ }
+
+ @Test
+ public void rollbackQuietly() throws Exception {
+ Connection mockConnection = mock(Connection.class);
+ DbUtils.rollbackQuietly(mockConnection);
+ verify(mockConnection).rollback();
+ }
+
+ @Test
+ public void rollbackQuietlyWithException() throws Exception {
+ Connection mockConnection = mock(Connection.class);
+ doThrow(SQLException.class).when(mockConnection).rollback();
+ DbUtils.rollbackQuietly(mockConnection);
+ verify(mockConnection).rollback();
+ }
+
@Test
public void rollbackAndCloseNull() throws Exception {
DbUtils.rollbackAndClose(null);