From c922c07b9828f2fe2fa6ec1bad47ffa3be1b7c22 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 4 Feb 2014 16:58:17 +0100 Subject: [PATCH] [#3001] Add VisitContext.clausesLength() and queryPartsLength() to indicate the depth of the currently visited QueryPart tree --- jOOQ/src/main/java/org/jooq/VisitContext.java | 10 ++++++++++ jOOQ/src/main/java/org/jooq/impl/AbstractContext.java | 10 ++++++++++ jOOQ/src/main/java/org/jooq/tools/LoggerListener.java | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/VisitContext.java b/jOOQ/src/main/java/org/jooq/VisitContext.java index ab1cee4920..74873795d1 100644 --- a/jOOQ/src/main/java/org/jooq/VisitContext.java +++ b/jOOQ/src/main/java/org/jooq/VisitContext.java @@ -110,6 +110,11 @@ public interface VisitContext { */ Clause[] clauses(); + /** + * This is the same as calling {@link #clauses()}.length. + */ + int clausesLength(); + /** * The most recent {@link QueryPart} that was encountered through * {@link Context#visit(QueryPart)}. @@ -136,6 +141,11 @@ public interface VisitContext { */ QueryPart[] queryParts(); + /** + * This is the same as calling {@link #queryParts()}.length. + */ + int queryPartsLength(); + /** * The underlying {@link RenderContext} or {@link BindContext} object. */ diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java index 1803aba837..f42470fc58 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java @@ -241,6 +241,11 @@ abstract class AbstractContext> implements Context { return visitClauses.toArray(new Clause[visitClauses.size()]); } + @Override + public final int clausesLength() { + return visitClauses.size(); + } + @Override public final QueryPart queryPart() { return visitParts.peekLast(); @@ -257,6 +262,11 @@ abstract class AbstractContext> implements Context { return visitParts.toArray(new QueryPart[visitParts.size()]); } + @Override + public final int queryPartsLength() { + return visitParts.size(); + } + @Override public final Context context() { return AbstractContext.this; diff --git a/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java b/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java index dcae9ba80d..578ce91b48 100644 --- a/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java +++ b/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java @@ -213,7 +213,7 @@ public class LoggerListener extends DefaultExecuteListener { @Override public void visitEnd(VisitContext context) { if (anyAbbreviations) { - if (context.queryParts().length == 1) { + if (context.queryPartsLength() == 1) { context.renderContext().sql(" -- Bind values may have been abbreviated for DEBUG logging. Use TRACE logging for very large bind variables."); } }