diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java index c7738f14d0..93c7ec09b2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java @@ -53,10 +53,11 @@ import static org.jooq.impl.Identifiers.QUOTE_END_DELIMITER_ESCAPED; import static org.jooq.impl.Identifiers.QUOTE_START_DELIMITER; import static org.jooq.impl.Utils.DATA_COUNT_BIND_VALUES; +import java.util.ArrayDeque; import java.util.Arrays; +import java.util.Deque; import java.util.HashSet; import java.util.Set; -import java.util.Stack; import java.util.regex.Pattern; import org.jooq.BindContext; @@ -91,7 +92,7 @@ class DefaultRenderContext extends AbstractContext implements Ren private int params; private int alias; private int indent; - private Stack indentLock; + private Deque indentLock; private int printMargin = 80; // [#1632] Cached values from Settings @@ -273,9 +274,9 @@ class DefaultRenderContext extends AbstractContext implements Ren return this; } - private Stack indentLock() { + private Deque indentLock() { if (indentLock == null) { - indentLock = new Stack(); + indentLock = new ArrayDeque(); } return indentLock; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java index 5987d1dabf..3c19983b71 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultTransactionProvider.java @@ -47,7 +47,8 @@ import static org.jooq.impl.Utils.DATA_DEFAULT_TRANSACTION_PROVIDER_SAVEPOINTS; import java.sql.Connection; import java.sql.SQLException; import java.sql.Savepoint; -import java.util.Stack; +import java.util.ArrayDeque; +import java.util.Deque; import org.jooq.Configuration; import org.jooq.ConnectionProvider; @@ -105,11 +106,11 @@ public class DefaultTransactionProvider implements TransactionProvider { } @SuppressWarnings("unchecked") - private final Stack savepoints(Configuration configuration) { - Stack savepoints = (Stack) configuration.data(DATA_DEFAULT_TRANSACTION_PROVIDER_SAVEPOINTS); + private final Deque savepoints(Configuration configuration) { + Deque savepoints = (Deque) configuration.data(DATA_DEFAULT_TRANSACTION_PROVIDER_SAVEPOINTS); if (savepoints == null) { - savepoints = new Stack(); + savepoints = new ArrayDeque(); configuration.data(DATA_DEFAULT_TRANSACTION_PROVIDER_SAVEPOINTS, savepoints); } @@ -140,7 +141,7 @@ public class DefaultTransactionProvider implements TransactionProvider { @Override public final void begin(TransactionContext ctx) { - Stack savepoints = savepoints(ctx.configuration()); + Deque savepoints = savepoints(ctx.configuration()); // This is the top-level transaction if (savepoints.isEmpty()) @@ -148,7 +149,7 @@ public class DefaultTransactionProvider implements TransactionProvider { Savepoint savepoint = setSavepoint(ctx.configuration()); - if (savepoint == UNSUPPORTED_SAVEPOINT && savepoints.size() > 0) + if (savepoint == UNSUPPORTED_SAVEPOINT && !savepoints.isEmpty()) throw new DataAccessException("Cannot nest transactions because Savepoints are not supported"); savepoints.push(savepoint); @@ -170,7 +171,7 @@ public class DefaultTransactionProvider implements TransactionProvider { @Override public final void commit(TransactionContext ctx) { - Stack savepoints = savepoints(ctx.configuration()); + Deque savepoints = savepoints(ctx.configuration()); Savepoint savepoint = savepoints.pop(); // [#3489] Explicitly release savepoints prior to commit @@ -196,7 +197,7 @@ public class DefaultTransactionProvider implements TransactionProvider { @Override public final void rollback(TransactionContext ctx) { - Stack savepoints = savepoints(ctx.configuration()); + Deque savepoints = savepoints(ctx.configuration()); Savepoint savepoint = null; // [#3537] If something went wrong with the savepoints per se