You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2022/07/04 13:52:22 UTC
[cayenne] 01/03: CAY-2741 Cleanup TransactionDescriptor and deprecate DefaultTransactionDescriptor
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 3c995f84f80ba046bda8cc1dbf8c591a06ab2bb1
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Jul 4 16:49:46 2022 +0300
CAY-2741 Cleanup TransactionDescriptor and deprecate DefaultTransactionDescriptor
---
.../org/apache/cayenne/tx/CayenneTransaction.java | 2 +-
.../cayenne/tx/DefaultTransactionDescriptor.java | 10 +++-------
.../cayenne/tx/DefaultTransactionFactory.java | 2 +-
.../cayenne/tx/DefaultTransactionManager.java | 4 ++--
.../org/apache/cayenne/tx/ExternalTransaction.java | 2 +-
.../apache/cayenne/tx/TransactionDescriptor.java | 21 +++++++++++++++++++++
6 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/tx/CayenneTransaction.java b/cayenne-server/src/main/java/org/apache/cayenne/tx/CayenneTransaction.java
index 31903ee5a..873d55a24 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/tx/CayenneTransaction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/tx/CayenneTransaction.java
@@ -35,7 +35,7 @@ public class CayenneTransaction extends BaseTransaction {
protected JdbcEventLogger logger;
public CayenneTransaction(JdbcEventLogger logger) {
- this(logger, DefaultTransactionDescriptor.getInstance());
+ this(logger, TransactionDescriptor.defaultDescriptor());
}
/**
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionDescriptor.java
index 76fff71b3..a5046c806 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionDescriptor.java
@@ -21,17 +21,13 @@ package org.apache.cayenne.tx;
/**
* @since 4.1
+ * @deprecated since 4.2, use {@link TransactionDescriptor#defaultDescriptor()}
*/
+@Deprecated
public class DefaultTransactionDescriptor extends TransactionDescriptor {
- private static final TransactionDescriptor instance = TransactionDescriptor
- .builder()
- .isolation(TransactionDescriptor.ISOLATION_DEFAULT)
- .propagation(TransactionPropagation.NESTED)
- .build();
-
public static TransactionDescriptor getInstance() {
- return instance;
+ return TransactionDescriptor.defaultDescriptor();
}
}
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionFactory.java
index b85ec6aef..737fcfe06 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionFactory.java
@@ -39,7 +39,7 @@ public class DefaultTransactionFactory implements TransactionFactory {
@Override
public Transaction createTransaction() {
- return createTransaction(DefaultTransactionDescriptor.getInstance());
+ return createTransaction(TransactionDescriptor.defaultDescriptor());
}
/**
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionManager.java b/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionManager.java
index 62ef6f630..e906a3c05 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionManager.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/tx/DefaultTransactionManager.java
@@ -37,12 +37,12 @@ public class DefaultTransactionManager implements TransactionManager {
@Override
public <T> T performInTransaction(TransactionalOperation<T> op) {
- return performInTransaction(op, DoNothingTransactionListener.getInstance(), DefaultTransactionDescriptor.getInstance());
+ return performInTransaction(op, DoNothingTransactionListener.getInstance(), TransactionDescriptor.defaultDescriptor());
}
@Override
public <T> T performInTransaction(TransactionalOperation<T> op, TransactionListener callback) {
- return performInTransaction(op, callback, DefaultTransactionDescriptor.getInstance());
+ return performInTransaction(op, callback, TransactionDescriptor.defaultDescriptor());
}
/**
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/tx/ExternalTransaction.java b/cayenne-server/src/main/java/org/apache/cayenne/tx/ExternalTransaction.java
index d1e5bee3b..4eef31516 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/tx/ExternalTransaction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/tx/ExternalTransaction.java
@@ -31,7 +31,7 @@ public class ExternalTransaction extends BaseTransaction {
protected JdbcEventLogger logger;
public ExternalTransaction(JdbcEventLogger jdbcEventLogger) {
- this(jdbcEventLogger, DefaultTransactionDescriptor.getInstance());
+ this(jdbcEventLogger, TransactionDescriptor.defaultDescriptor());
}
/**
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/tx/TransactionDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/tx/TransactionDescriptor.java
index 54d769c26..c14b4eb2a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/tx/TransactionDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/tx/TransactionDescriptor.java
@@ -41,6 +41,11 @@ public class TransactionDescriptor {
*/
public static final int ISOLATION_DEFAULT = -1;
+ private static final TransactionDescriptor DEFAULT_DESCRIPTOR = builder()
+ .propagation(TransactionPropagation.NESTED)
+ .isolation(TransactionDescriptor.ISOLATION_DEFAULT)
+ .build();
+
private int isolation;
private TransactionPropagation propagation;
@@ -66,17 +71,33 @@ public class TransactionDescriptor {
/**
* @return custom connection supplier, passed by user
+ * @since 4.2
*/
public Supplier<Connection> getConnectionSupplier() {
return connectionSupplier;
}
+ /**
+ * @return TransactionDescriptor Builder
+ * @since 4.2
+ */
public static Builder builder(){
return new Builder();
}
+ /**
+ * Returns descriptor with the {@link TransactionPropagation#NESTED} propagation
+ * and the {@link #ISOLATION_DEFAULT} isolation level
+ * @return default descriptor
+ * @since 4.2
+ */
+ public static TransactionDescriptor defaultDescriptor() {
+ return DEFAULT_DESCRIPTOR;
+ }
+
/**
* Builder class for the TransactionDescriptor.
+ * @since 4.2
*/
public static class Builder {
private final TransactionDescriptor transactionDescriptor = new TransactionDescriptor();