Skip to content

Commit 80c99ba

Browse files
committed
Improve the proposed changed
1 parent f8332d2 commit 80c99ba

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

src/integrationTest/java/com/mongodb/hibernate/jdbc/MongoPreparedStatementIntegrationTests.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
package com.mongodb.hibernate.jdbc;
1818

1919
import static com.mongodb.hibernate.internal.MongoConstants.ID_FIELD_NAME;
20-
import static com.mongodb.hibernate.jdbc.MongoStatementIntegrationTests.doAndTerminateTransaction;
21-
import static com.mongodb.hibernate.jdbc.MongoStatementIntegrationTests.doWithSpecifiedAutoCommit;
20+
import static com.mongodb.hibernate.jdbc.MongoStatementIntegrationTests.doWorkWithSpecifiedAutoCommit;
2221
import static com.mongodb.hibernate.jdbc.MongoStatementIntegrationTests.insertTestData;
2322
import static org.assertj.core.api.Assertions.assertThat;
2423
import static org.junit.jupiter.api.Assertions.assertAll;
@@ -30,7 +29,6 @@
3029

3130
import com.mongodb.client.MongoCollection;
3231
import com.mongodb.client.model.Sorts;
33-
import com.mongodb.hibernate.jdbc.MongoStatementIntegrationTests.SqlExecutable;
3432
import com.mongodb.hibernate.junit.InjectMongoCollection;
3533
import com.mongodb.hibernate.junit.MongoExtension;
3634
import java.math.BigDecimal;
@@ -409,11 +407,6 @@ private void assertExecuteUpdate(
409407
}
410408

411409
private void doWorkAwareOfAutoCommit(Work work) {
412-
session.doWork(connection -> doAwareOfAutoCommit(connection, () -> work.execute(connection)));
413-
}
414-
415-
void doAwareOfAutoCommit(Connection connection, SqlExecutable work) throws SQLException {
416-
doWithSpecifiedAutoCommit(
417-
autoCommit, connection, autoCommit ? work : () -> doAndTerminateTransaction(connection, work));
410+
doWorkWithSpecifiedAutoCommit(autoCommit, session, work);
418411
}
419412
}

src/integrationTest/java/com/mongodb/hibernate/jdbc/MongoStatementIntegrationTests.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class MongoStatementIntegrationTests {
6060
private Session session;
6161

6262
@Parameter
63-
boolean autoCommit;
63+
private boolean autoCommit;
6464

6565
@BeforeAll
6666
static void beforeAll() {
@@ -282,15 +282,20 @@ static void insertTestData(Session session, String insertMql) {
282282
}
283283

284284
private void doWorkAwareOfAutoCommit(Work work) {
285-
session.doWork(connection -> doAwareOfAutoCommit(connection, () -> work.execute(connection)));
285+
doWorkWithSpecifiedAutoCommit(autoCommit, session, work);
286286
}
287287

288-
void doAwareOfAutoCommit(Connection connection, SqlExecutable work) throws SQLException {
289-
doWithSpecifiedAutoCommit(
290-
autoCommit, connection, autoCommit ? work : () -> doAndTerminateTransaction(connection, work));
288+
static void doWorkWithSpecifiedAutoCommit(boolean autoCommit, Session session, Work work) {
289+
session.doWork(connection -> {
290+
SqlExecutable executable = () -> work.execute(connection);
291+
doWithSpecifiedAutoCommit(
292+
autoCommit,
293+
connection,
294+
autoCommit ? executable : () -> doAndTerminateTransaction(connection, executable));
295+
});
291296
}
292297

293-
static void doWithSpecifiedAutoCommit(boolean autoCommit, Connection connection, SqlExecutable work)
298+
private static void doWithSpecifiedAutoCommit(boolean autoCommit, Connection connection, SqlExecutable work)
294299
throws SQLException {
295300
var originalAutoCommit = connection.getAutoCommit();
296301
connection.setAutoCommit(autoCommit);
@@ -301,7 +306,8 @@ static void doWithSpecifiedAutoCommit(boolean autoCommit, Connection connection,
301306
}
302307
}
303308

304-
static void doAndTerminateTransaction(Connection connectionNoAutoCommit, SqlExecutable work) throws SQLException {
309+
private static void doAndTerminateTransaction(Connection connectionNoAutoCommit, SqlExecutable work)
310+
throws SQLException {
305311
Throwable primaryException = null;
306312
try {
307313
work.execute();
@@ -320,7 +326,7 @@ static void doAndTerminateTransaction(Connection connectionNoAutoCommit, SqlExec
320326
}
321327
}
322328

323-
interface SqlExecutable {
329+
private interface SqlExecutable {
324330
void execute() throws SQLException;
325331
}
326332
}

0 commit comments

Comments
 (0)