From bb9532f42e7a0765772b6baf31362ef59546f6da Mon Sep 17 00:00:00 2001 From: rbygrave Date: Wed, 8 Sep 2021 14:17:30 +1200 Subject: [PATCH] #2359 - Rename Transaction.getConnection() method to connection() with deprecation --- ebean-api/src/main/java/io/ebean/Transaction.java | 6 ++++++ .../dbplatform/SimpleSequenceIdGenerator.java | 2 +- .../io/ebeaninternal/api/SpiTransactionProxy.java | 4 ++-- .../server/persist/dml/InsertHandler.java | 2 +- .../ebeaninternal/server/query/CQueryBuilder.java | 2 +- .../ebeaninternal/server/query/CQueryEngine.java | 2 +- .../transaction/DocStoreOnlyTransaction.java | 2 +- .../transaction/ImplicitReadOnlyTransaction.java | 2 +- .../server/transaction/JdbcTransaction.java | 2 +- .../server/transaction/NoTransaction.java | 2 +- .../server/transaction/TransactionFactory.java | 2 +- .../TestBatchOnCascadeExceptionHandling.java | 4 ++-- .../java/org/tests/idkeys/TestGeneratedKeys.java | 2 +- .../org/tests/insert/TestInsertDuplicateKey.java | 2 +- .../org/tests/query/cancel/SlowDownEBasic.java | 2 +- .../org/tests/rawsql/TestRawSqlNamedParams.java | 2 +- .../org/tests/rawsql/TestRawSqlWithResultSet.java | 3 +-- .../java/org/tests/timezone/TimezoneTests.java | 14 +++++++------- .../java/org/tests/transaction/TestSavepoint.java | 2 +- .../tests/transaction/TestTransactionCallback.java | 2 +- .../transaction/TestTransactionalRequiresNew.java | 6 +++--- 21 files changed, 36 insertions(+), 31 deletions(-) diff --git a/ebean-api/src/main/java/io/ebean/Transaction.java b/ebean-api/src/main/java/io/ebean/Transaction.java index 0856a6e4e..c84db9c7d 100644 --- a/ebean-api/src/main/java/io/ebean/Transaction.java +++ b/ebean-api/src/main/java/io/ebean/Transaction.java @@ -538,6 +538,12 @@ public interface Transaction extends AutoCloseable { * Examples of when a developer may wish to use the connection directly are: * Savepoints, advanced CLOB BLOB use and advanced stored procedure calls. */ + Connection connection(); + + /** + * Deprecated migrate to connection(). + */ + @Deprecated Connection getConnection(); /** diff --git a/ebean-api/src/main/java/io/ebean/config/dbplatform/SimpleSequenceIdGenerator.java b/ebean-api/src/main/java/io/ebean/config/dbplatform/SimpleSequenceIdGenerator.java index 95ee33894..e028aaa3a 100644 --- a/ebean-api/src/main/java/io/ebean/config/dbplatform/SimpleSequenceIdGenerator.java +++ b/ebean-api/src/main/java/io/ebean/config/dbplatform/SimpleSequenceIdGenerator.java @@ -61,7 +61,7 @@ public class SimpleSequenceIdGenerator implements PlatformIdGenerator { PreparedStatement pstmt = null; ResultSet rset = null; try { - c = useTxnConnection ? t.getConnection() : dataSource.getConnection(); + c = useTxnConnection ? t.connection() : dataSource.getConnection(); pstmt = c.prepareStatement(sql); rset = pstmt.executeQuery(); if (rset.next()) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/api/SpiTransactionProxy.java b/ebean-core/src/main/java/io/ebeaninternal/api/SpiTransactionProxy.java index a63c04cc6..03824903b 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/api/SpiTransactionProxy.java +++ b/ebean-core/src/main/java/io/ebeaninternal/api/SpiTransactionProxy.java @@ -318,8 +318,8 @@ public abstract class SpiTransactionProxy implements SpiTransaction { } @Override - public Connection getConnection() { - return transaction.getConnection(); + public Connection connection() { + return transaction.connection(); } @Override diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java index 0e6d6ff80..3e7ec1cd7 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java @@ -148,7 +148,7 @@ public final class InsertHandler extends DmlHandler { PreparedStatement stmt = null; ResultSet rset = null; try { - stmt = transaction.getConnection().prepareStatement(persistRequest.getSelectLastInsertedId()); + stmt = transaction.connection().prepareStatement(persistRequest.getSelectLastInsertedId()); rset = stmt.executeQuery(); setGeneratedKey(rset); } finally { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java index f994d49c8..cbe600a51 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java @@ -409,7 +409,7 @@ final class CQueryBuilder { } query.setGeneratedSql(sql); - Connection connection = request.transaction().getConnection(); + Connection connection = request.transaction().connection(); BeanDescriptor desc = request.descriptor(); try { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryEngine.java b/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryEngine.java index 56142b51d..418354053 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryEngine.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/query/CQueryEngine.java @@ -132,7 +132,7 @@ public final class CQueryEngine { t.logSummary(msg); } // ensure 'rollback' is logged if queryOnly transaction - t.getConnection(); + t.connection(); // build a decent error message for the exception String m = "Query threw SQLException:" + e.getMessage() + " Bind values:[" + bindLog + "] Query was:" + sql; return dbPlatform.translate(m, e); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/DocStoreOnlyTransaction.java b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/DocStoreOnlyTransaction.java index 0165fb1e8..9ff36d545 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/DocStoreOnlyTransaction.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/DocStoreOnlyTransaction.java @@ -35,7 +35,7 @@ public final class DocStoreOnlyTransaction extends JdbcTransaction { } @Override - public Connection getConnection() { + public Connection connection() { throw new RuntimeException("not supported on DocStoreTransaction"); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/ImplicitReadOnlyTransaction.java b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/ImplicitReadOnlyTransaction.java index cbb4f7618..4948eb9ef 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/ImplicitReadOnlyTransaction.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/ImplicitReadOnlyTransaction.java @@ -503,7 +503,7 @@ final class ImplicitReadOnlyTransaction implements SpiTransaction, TxnProfileEve * Return the underlying connection for public use. */ @Override - public Connection getConnection() { + public Connection connection() { return getInternalConnection(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java index d271d1c04..b1909b1f8 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java @@ -886,7 +886,7 @@ class JdbcTransaction implements SpiTransaction, TxnProfileEventCodes { * Return the underlying connection for public use. */ @Override - public Connection getConnection() { + public Connection connection() { queryOnly = false; return getInternalConnection(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/NoTransaction.java b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/NoTransaction.java index 0ed17e94f..8bccacfc6 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/NoTransaction.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/NoTransaction.java @@ -288,7 +288,7 @@ final class NoTransaction implements SpiTransaction { } @Override - public Connection getConnection() { + public Connection connection() { return null; } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/TransactionFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/TransactionFactory.java index 687741654..ea2bc8aa0 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/transaction/TransactionFactory.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/transaction/TransactionFactory.java @@ -35,7 +35,7 @@ abstract class TransactionFactory { */ final SpiTransaction setIsolationLevel(SpiTransaction t, boolean explicit, int isolationLevel) { if (isolationLevel > -1) { - Connection connection = t.getConnection(); + Connection connection = t.connection(); try { connection.setTransactionIsolation(isolationLevel); } catch (SQLException e) { diff --git a/ebean-core/src/test/java/org/tests/batchinsert/TestBatchOnCascadeExceptionHandling.java b/ebean-core/src/test/java/org/tests/batchinsert/TestBatchOnCascadeExceptionHandling.java index 5798beb57..cc41e4933 100644 --- a/ebean-core/src/test/java/org/tests/batchinsert/TestBatchOnCascadeExceptionHandling.java +++ b/ebean-core/src/test/java/org/tests/batchinsert/TestBatchOnCascadeExceptionHandling.java @@ -31,11 +31,11 @@ public class TestBatchOnCascadeExceptionHandling extends BaseTestCase { try { EBasicWithUniqueCon v2 = createEntityWithName("conflict", "after"); txn.flush(); - Savepoint sp = txn.getConnection().setSavepoint(); + Savepoint sp = txn.connection().setSavepoint(); try { server().save(v2); // unique key violation } catch (PersistenceException e) { - txn.getConnection().rollback(sp); + txn.connection().rollback(sp); EBasicWithUniqueCon conflicting = server().find(EBasicWithUniqueCon.class).where().eq("name", "conflict").findOne(); assertThat(conflicting).isNotNull(); diff --git a/ebean-core/src/test/java/org/tests/idkeys/TestGeneratedKeys.java b/ebean-core/src/test/java/org/tests/idkeys/TestGeneratedKeys.java index 9632bebcf..c6672bc67 100644 --- a/ebean-core/src/test/java/org/tests/idkeys/TestGeneratedKeys.java +++ b/ebean-core/src/test/java/org/tests/idkeys/TestGeneratedKeys.java @@ -51,7 +51,7 @@ public class TestGeneratedKeys extends BaseTestCase { private long readSequenceValue(Transaction tx, String sequence) throws SQLException { Statement stm = null; try { - stm = tx.getConnection().createStatement(); + stm = tx.connection().createStatement(); ResultSet rs = stm.executeQuery("select currval('" + sequence + "')"); rs.next(); diff --git a/ebean-core/src/test/java/org/tests/insert/TestInsertDuplicateKey.java b/ebean-core/src/test/java/org/tests/insert/TestInsertDuplicateKey.java index af0628ad5..87a427a65 100644 --- a/ebean-core/src/test/java/org/tests/insert/TestInsertDuplicateKey.java +++ b/ebean-core/src/test/java/org/tests/insert/TestInsertDuplicateKey.java @@ -97,7 +97,7 @@ public class TestInsertDuplicateKey extends BaseTestCase { // typically we would use transaction.commitAndContinue() // ... this is a rollback and continue type scenario // ... more sensible to use a second transaction that do this - DB.getDefault().currentTransaction().getConnection().rollback(); + DB.getDefault().currentTransaction().connection().rollback(); } catch (SQLException e1) { e1.printStackTrace(); } diff --git a/ebean-core/src/test/java/org/tests/query/cancel/SlowDownEBasic.java b/ebean-core/src/test/java/org/tests/query/cancel/SlowDownEBasic.java index 68d6c038b..7a56f46d5 100644 --- a/ebean-core/src/test/java/org/tests/query/cancel/SlowDownEBasic.java +++ b/ebean-core/src/test/java/org/tests/query/cancel/SlowDownEBasic.java @@ -47,7 +47,7 @@ public class SlowDownEBasic implements Trigger { return; } triggerInstalled = true; - try (Transaction txn = DB.beginTransaction(); Statement stmt = txn.getConnection().createStatement()) { + try (Transaction txn = DB.beginTransaction(); Statement stmt = txn.connection().createStatement()) { stmt.execute("CREATE TRIGGER SLOW_DOWN_E_BASIC BEFORE SELECT ON e_basic " + "CALL \"" + SlowDownEBasic.class.getName() + "\""); diff --git a/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlNamedParams.java b/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlNamedParams.java index b384ae7a3..f229009b1 100644 --- a/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlNamedParams.java +++ b/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlNamedParams.java @@ -51,7 +51,7 @@ public class TestRawSqlNamedParams extends BaseTestCase { Transaction transaction = DB.beginTransaction(); try { - if ("MariaDB connector/J".equals(transaction.getConnection().getMetaData().getDriverName())) { + if ("MariaDB connector/J".equals(transaction.connection().getMetaData().getDriverName())) { return; // MariaDb only supports callable statements in the form "? = call function x(?)" } CallableSql callableSql = DB.createCallableSql("set @total = 0"); diff --git a/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlWithResultSet.java b/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlWithResultSet.java index f62281378..06b5ddae6 100644 --- a/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlWithResultSet.java +++ b/ebean-core/src/test/java/org/tests/rawsql/TestRawSqlWithResultSet.java @@ -2,7 +2,6 @@ package org.tests.rawsql; import io.ebean.BaseTestCase; import io.ebean.DB; -import io.ebean.FetchConfig; import io.ebean.RawSql; import io.ebean.RawSqlBuilder; import io.ebean.Transaction; @@ -29,7 +28,7 @@ public class TestRawSqlWithResultSet extends BaseTestCase { // Transaction supplies our jdbc Connection Transaction txn = DB.beginTransaction(); try { - pstmt = txn.getConnection().prepareStatement("select id, name, billing_address_id from o_customer"); + pstmt = txn.connection().prepareStatement("select id, name, billing_address_id from o_customer"); // ResultSet will be closed by Ebean ResultSet resultSet = pstmt.executeQuery(); diff --git a/ebean-core/src/test/java/org/tests/timezone/TimezoneTests.java b/ebean-core/src/test/java/org/tests/timezone/TimezoneTests.java index 41fdca140..8f455c0f7 100644 --- a/ebean-core/src/test/java/org/tests/timezone/TimezoneTests.java +++ b/ebean-core/src/test/java/org/tests/timezone/TimezoneTests.java @@ -45,10 +45,10 @@ public class TimezoneTests { private void fetch() throws SQLException { try ( - Transaction transaction = DB.beginTransaction(); - Connection connection = transaction.getConnection(); - PreparedStatement statement = connection.prepareStatement("select * from tztest"); - ResultSet resultSet = statement.executeQuery()) { + Transaction transaction = DB.beginTransaction(); + Connection connection = transaction.connection(); + PreparedStatement statement = connection.prepareStatement("select * from tztest"); + ResultSet resultSet = statement.executeQuery()) { while (resultSet.next()) { System.out.println(" zone:" + resultSet.getString("zone")); @@ -79,9 +79,9 @@ public class TimezoneTests { } try ( - Transaction transaction = DB.beginTransaction(); - Connection connection = transaction.getConnection(); - PreparedStatement statement = connection.prepareStatement(insert)) { + Transaction transaction = DB.beginTransaction(); + Connection connection = transaction.connection(); + PreparedStatement statement = connection.prepareStatement(insert)) { statement.setString(1, zone); statement.setTimestamp(2, nowTs); statement.setTimestamp(3, nowTs); diff --git a/ebean-core/src/test/java/org/tests/transaction/TestSavepoint.java b/ebean-core/src/test/java/org/tests/transaction/TestSavepoint.java index b167ba6f9..1ba7ffe01 100644 --- a/ebean-core/src/test/java/org/tests/transaction/TestSavepoint.java +++ b/ebean-core/src/test/java/org/tests/transaction/TestSavepoint.java @@ -26,7 +26,7 @@ public class TestSavepoint extends BaseTestCase { try (Transaction transaction = DB.beginTransaction()) { - Connection connection = transaction.getConnection(); + Connection connection = transaction.connection(); Savepoint savepoint = connection.setSavepoint(); basicVer.setOther("changeOther"); diff --git a/ebean-core/src/test/java/org/tests/transaction/TestTransactionCallback.java b/ebean-core/src/test/java/org/tests/transaction/TestTransactionCallback.java index 9481eb10f..3135fa42f 100644 --- a/ebean-core/src/test/java/org/tests/transaction/TestTransactionCallback.java +++ b/ebean-core/src/test/java/org/tests/transaction/TestTransactionCallback.java @@ -22,7 +22,7 @@ public class TestTransactionCallback extends BaseTestCase { public void test_commitAndRollback() { try (Transaction txn = DB.beginTransaction()) { DB.register(new MyCallback()); - txn.getConnection(); // Ebean assumes writes have occurred + txn.connection(); // Ebean assumes writes have occurred txn.commit(); } diff --git a/ebean-core/src/test/java/org/tests/transaction/TestTransactionalRequiresNew.java b/ebean-core/src/test/java/org/tests/transaction/TestTransactionalRequiresNew.java index 23d80eab1..67aed59d6 100644 --- a/ebean-core/src/test/java/org/tests/transaction/TestTransactionalRequiresNew.java +++ b/ebean-core/src/test/java/org/tests/transaction/TestTransactionalRequiresNew.java @@ -45,14 +45,14 @@ public class TestTransactionalRequiresNew extends BaseTestCase { void doOuter() { outerTxn = DB.currentTransaction(); log.info("outer before ...{}", outerTxn); - outerConn = outerTxn.getConnection(); + outerConn = outerTxn.connection(); new InTransactionalWithRequiresNew().doInner(); // restore the outerTxn Transaction current = DB.currentTransaction(); log.info("outer after ...{}", current); - assertSame(outerConn, current.getConnection()); + assertSame(outerConn, current.connection()); } } @@ -64,7 +64,7 @@ public class TestTransactionalRequiresNew extends BaseTestCase { Transaction innerTxn = DB.currentTransaction(); log.info("inner ...{} {}", innerTxn); - Connection connection = innerTxn.getConnection(); + Connection connection = innerTxn.connection(); assertNotSame(connection, outerConn); } }