Implement SQLInterceptor (1.3.3)
This commit is contained in:
parent
733bf50f91
commit
d81bbb58a9
@ -2,17 +2,26 @@ package dst.ass1.jpa.interceptor;
|
||||
|
||||
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 {
|
||||
|
||||
private static final long serialVersionUID = -3082243834965597947L;
|
||||
|
||||
private static final AtomicInteger selectCount = new AtomicInteger(0);
|
||||
private static boolean print = false;
|
||||
|
||||
public static void resetCounter() {
|
||||
// TODO
|
||||
selectCount.set(0);
|
||||
}
|
||||
|
||||
public static int getSelectCount() {
|
||||
// TODO
|
||||
return -1;
|
||||
return selectCount.get();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -21,12 +30,22 @@ public class SQLInterceptor extends EmptyInterceptor {
|
||||
* @param verbose whether or not to be verbose
|
||||
*/
|
||||
public static void setVerbose(boolean verbose) {
|
||||
// TODO
|
||||
print = verbose;
|
||||
}
|
||||
|
||||
@Override
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user