package com.querydsl.sql; import static java.lang.String.format; import java.util.List; import java.util.Map; import com.querydsl.core.QueryMetadata; import com.querydsl.core.types.Expression; import com.querydsl.core.types.Path; import com.querydsl.core.types.SubQueryExpression; import com.querydsl.sql.dml.SQLInsertBatch; import com.querydsl.sql.dml.SQLMergeBatch; import com.querydsl.sql.dml.SQLUpdateBatch; /** */ public class TestLoggingListener implements SQLDetailedListener { private static boolean enabled = false; /** * Called to enable logging in tests */ public static void enable() { enabled = true; } /** * Called to disable logging in tests */ public static void disable() { enabled = false; } @Override public void start(SQLListenerContext context) { if (enabled) { System.out.println(format("\n\tstart %s", context)); } } @Override public void preRender(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\tpreRender %s", context)); } } @Override public void rendered(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\t\trendered %s", context)); } } @Override public void prePrepare(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\tprePrepare %s", context)); } } @Override public void prepared(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\t\tprepared %s", context)); } } @Override public void preExecute(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\tpreExecute %s", context)); } } @Override public void executed(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\t\texecuted %s", context)); } } @Override public void exception(SQLListenerContext context) { if (enabled) { System.out.println(format("\t\texception %s", context)); } } @Override public void end(SQLListenerContext context) { if (enabled) { System.out.println(format("\tend %s\n\n", context)); } } @Override public void notifyQuery(QueryMetadata md) { if (enabled) { System.out.println(format("\t\t\tnotifyQuery %s", md)); } } @Override public void notifyDelete(RelationalPath<?> entity, QueryMetadata md) { if (enabled) { System.out.println(format("\t\t\tnotifyDelete %s", entity)); } } @Override public void notifyDeletes(RelationalPath<?> entity, List<QueryMetadata> batches) { if (enabled) { System.out.println(format("\t\t\tnotifyDeletes %s", entity)); } } @Override public void notifyMerge(RelationalPath<?> entity, QueryMetadata md, List<Path<?>> keys, List<Path<?>> columns, List<Expression<?>> values, SubQueryExpression<?> subQuery) { if (enabled) { System.out.println(format("\t\t\tnotifyMerge %s", entity)); } } @Override public void notifyMerges(RelationalPath<?> entity, QueryMetadata md, List<SQLMergeBatch> batches) { if (enabled) { System.out.println(format("\t\t\tnotifyMerges %s", entity)); } } @Override public void notifyInsert(RelationalPath<?> entity, QueryMetadata md, List<Path<?>> columns, List<Expression<?>> values, SubQueryExpression<?> subQuery) { if (enabled) { System.out.println(format("\t\t\tnotifyInsert %s", entity)); } } @Override public void notifyInserts(RelationalPath<?> entity, QueryMetadata md, List<SQLInsertBatch> batches) { if (enabled) { System.out.println(format("\t\t\tnotifyInserts %s", entity)); } } @Override public void notifyUpdate(RelationalPath<?> entity, QueryMetadata md, Map<Path<?>, Expression<?>> updates) { if (enabled) { System.out.println(format("\t\t\tnotifyUpdate %s", entity)); } } @Override public void notifyUpdates(RelationalPath<?> entity, List<SQLUpdateBatch> batches) { if (enabled) { System.out.println(format("\t\t\tnotifyUpdates %s", entity)); } } }