[jOOQ/jOOQ#8746] Check for InvocationOrder.REVERSE instead of DEFAULT
The current implementation is checking if a given InvocationOrder setting is the DEFAULT. We should better check the inverse, if it is REVERSE and act accordingly. That way, both DEFAULT and null have the DEFAULT behaviour.
This commit is contained in:
parent
f79055b2cb
commit
e97a96396b
@ -44,6 +44,7 @@ import static java.lang.Boolean.TRUE;
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.conf.InvocationOrder.REVERSE;
|
||||
import static org.jooq.conf.ParamType.INDEXED;
|
||||
import static org.jooq.impl.Tools.EMPTY_CLAUSE;
|
||||
import static org.jooq.impl.Tools.EMPTY_QUERYPART;
|
||||
@ -75,7 +76,6 @@ import org.jooq.Table;
|
||||
import org.jooq.VisitContext;
|
||||
import org.jooq.VisitListener;
|
||||
import org.jooq.VisitListenerProvider;
|
||||
import org.jooq.conf.InvocationOrder;
|
||||
import org.jooq.conf.ParamCastMode;
|
||||
import org.jooq.conf.ParamType;
|
||||
import org.jooq.conf.Settings;
|
||||
@ -156,10 +156,10 @@ abstract class AbstractContext<C extends Context<C>> extends AbstractScope imple
|
||||
this.visitParts = new ArrayDeque<QueryPart>();
|
||||
this.visitClauses = new ArrayDeque<Clause>();
|
||||
|
||||
this.visitListenersStart = configuration.settings().getVisitListenerStartInvocationOrder() == InvocationOrder.DEFAULT
|
||||
this.visitListenersStart = configuration.settings().getVisitListenerStartInvocationOrder() != REVERSE
|
||||
? visitListeners
|
||||
: Tools.reverse(visitListeners.clone());
|
||||
this.visitListenersEnd = configuration.settings().getVisitListenerEndInvocationOrder() == InvocationOrder.DEFAULT
|
||||
this.visitListenersEnd = configuration.settings().getVisitListenerEndInvocationOrder() != REVERSE
|
||||
? visitListeners
|
||||
: Tools.reverse(visitListeners.clone());
|
||||
}
|
||||
|
||||
@ -38,6 +38,7 @@
|
||||
package org.jooq.impl;
|
||||
|
||||
import static java.lang.Boolean.FALSE;
|
||||
import static org.jooq.conf.InvocationOrder.REVERSE;
|
||||
import static org.jooq.impl.Tools.EMPTY_EXECUTE_LISTENER;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -46,7 +47,6 @@ import java.util.List;
|
||||
import org.jooq.ExecuteContext;
|
||||
import org.jooq.ExecuteListener;
|
||||
import org.jooq.ExecuteListenerProvider;
|
||||
import org.jooq.conf.InvocationOrder;
|
||||
import org.jooq.conf.Settings;
|
||||
import org.jooq.conf.SettingsTools;
|
||||
import org.jooq.tools.JooqLogger;
|
||||
@ -119,8 +119,8 @@ final class ExecuteListeners implements ExecuteListener {
|
||||
ExecuteListener[] rev = null;
|
||||
|
||||
return new ExecuteListener[][] {
|
||||
ctx.settings().getExecuteListenerStartInvocationOrder() == InvocationOrder.DEFAULT ? def : ( rev = Tools.reverse(def.clone())),
|
||||
ctx.settings().getExecuteListenerEndInvocationOrder() == InvocationOrder.DEFAULT ? def : (rev != null ? rev : (rev = Tools.reverse(def.clone())))
|
||||
ctx.settings().getExecuteListenerStartInvocationOrder() != REVERSE ? def : ( rev = Tools.reverse(def.clone())),
|
||||
ctx.settings().getExecuteListenerEndInvocationOrder() != REVERSE ? def : (rev != null ? rev : (rev = Tools.reverse(def.clone())))
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -39,6 +39,7 @@ package org.jooq.impl;
|
||||
|
||||
import static org.jooq.ExecuteType.READ;
|
||||
import static org.jooq.ExecuteType.WRITE;
|
||||
import static org.jooq.conf.InvocationOrder.REVERSE;
|
||||
import static org.jooq.impl.RecordDelegate.RecordLifecycleType.LOAD;
|
||||
import static org.jooq.impl.RecordDelegate.RecordLifecycleType.REFRESH;
|
||||
import static org.jooq.impl.Tools.attachRecords;
|
||||
@ -50,7 +51,6 @@ import org.jooq.ExecuteType;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.RecordListener;
|
||||
import org.jooq.RecordListenerProvider;
|
||||
import org.jooq.conf.InvocationOrder;
|
||||
import org.jooq.exception.ControlFlowSignal;
|
||||
|
||||
/**
|
||||
@ -104,7 +104,7 @@ final class RecordDelegate<R extends Record> {
|
||||
|
||||
if (listeners != null) {
|
||||
for (RecordListener listener : (
|
||||
ctx == null || ctx.settings().getRecordListenerStartInvocationOrder() == InvocationOrder.DEFAULT
|
||||
ctx == null || ctx.settings().getRecordListenerStartInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners)
|
||||
)) {
|
||||
@ -148,7 +148,7 @@ final class RecordDelegate<R extends Record> {
|
||||
|
||||
if (listeners != null) {
|
||||
for (RecordListener listener : (
|
||||
ctx == null || ctx.settings().getRecordListenerEndInvocationOrder() == InvocationOrder.DEFAULT
|
||||
ctx == null || ctx.settings().getRecordListenerEndInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners)
|
||||
)) {
|
||||
|
||||
@ -37,13 +37,14 @@
|
||||
*/
|
||||
package org.jooq.impl;
|
||||
|
||||
import static org.jooq.conf.InvocationOrder.REVERSE;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.jooq.Configuration;
|
||||
import org.jooq.TransactionContext;
|
||||
import org.jooq.TransactionListener;
|
||||
import org.jooq.TransactionListenerProvider;
|
||||
import org.jooq.conf.InvocationOrder;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
@ -62,7 +63,7 @@ class TransactionListeners implements TransactionListener {
|
||||
|
||||
@Override
|
||||
public final void beginStart(TransactionContext ctx) {
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerStartInvocationOrder() == InvocationOrder.DEFAULT
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerStartInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners))
|
||||
listener.beginStart(ctx);
|
||||
@ -70,7 +71,7 @@ class TransactionListeners implements TransactionListener {
|
||||
|
||||
@Override
|
||||
public final void beginEnd(TransactionContext ctx) {
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerEndInvocationOrder() == InvocationOrder.DEFAULT
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerEndInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners))
|
||||
listener.beginEnd(ctx);
|
||||
@ -78,7 +79,7 @@ class TransactionListeners implements TransactionListener {
|
||||
|
||||
@Override
|
||||
public final void commitStart(TransactionContext ctx) {
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerStartInvocationOrder() == InvocationOrder.DEFAULT
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerStartInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners))
|
||||
listener.commitStart(ctx);
|
||||
@ -86,7 +87,7 @@ class TransactionListeners implements TransactionListener {
|
||||
|
||||
@Override
|
||||
public final void commitEnd(TransactionContext ctx) {
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerEndInvocationOrder() == InvocationOrder.DEFAULT
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerEndInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners))
|
||||
listener.commitEnd(ctx);
|
||||
@ -94,7 +95,7 @@ class TransactionListeners implements TransactionListener {
|
||||
|
||||
@Override
|
||||
public final void rollbackStart(TransactionContext ctx) {
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerStartInvocationOrder() == InvocationOrder.DEFAULT
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerStartInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners))
|
||||
listener.rollbackStart(ctx);
|
||||
@ -102,7 +103,7 @@ class TransactionListeners implements TransactionListener {
|
||||
|
||||
@Override
|
||||
public final void rollbackEnd(TransactionContext ctx) {
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerEndInvocationOrder() == InvocationOrder.DEFAULT
|
||||
for (TransactionListener listener : ctx.settings().getTransactionListenerEndInvocationOrder() != REVERSE
|
||||
? Arrays.asList(listeners)
|
||||
: Tools.reverseIterable(listeners))
|
||||
listener.rollbackEnd(ctx);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user