Implement SQLInterceptor (1.3.3)

This commit is contained in:
Tobias Eidelpes 2021-04-05 21:22:24 +02:00
parent 733bf50f91
commit d81bbb58a9

View File

@ -2,17 +2,26 @@ package dst.ass1.jpa.interceptor;
import org.hibernate.EmptyInterceptor; import org.hibernate.EmptyInterceptor;
import java.util.Locale;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import static dst.ass1.jpa.util.Constants.T_LOCATION;
import static dst.ass1.jpa.util.Constants.T_TRIP;
public class SQLInterceptor extends EmptyInterceptor { public class SQLInterceptor extends EmptyInterceptor {
private static final long serialVersionUID = -3082243834965597947L; private static final long serialVersionUID = -3082243834965597947L;
private static final AtomicInteger selectCount = new AtomicInteger(0);
private static boolean print = false;
public static void resetCounter() { public static void resetCounter() {
// TODO selectCount.set(0);
} }
public static int getSelectCount() { public static int getSelectCount() {
// TODO return selectCount.get();
return -1;
} }
/** /**
@ -21,12 +30,22 @@ public class SQLInterceptor extends EmptyInterceptor {
* @param verbose whether or not to be verbose * @param verbose whether or not to be verbose
*/ */
public static void setVerbose(boolean verbose) { public static void setVerbose(boolean verbose) {
// TODO print = verbose;
} }
@Override @Override
public String onPrepareStatement(String sql) { public String onPrepareStatement(String sql) {
// TODO if (print)
System.out.println(sql);
if (sql.toLowerCase(Locale.ROOT).contains("select") &&
(
sql.toLowerCase(Locale.ROOT).contains("from " + T_LOCATION.toLowerCase(Locale.ROOT)) ||
sql.toLowerCase(Locale.ROOT).contains("from " + T_TRIP.toLowerCase(Locale.ROOT))
)) {
selectCount.incrementAndGet();
}
return sql; return sql;
} }