package eu.leads.processor.sql;
import net.sf.jsqlparser.statement.StatementVisitor;
import net.sf.jsqlparser.statement.create.index.CreateIndex;
import net.sf.jsqlparser.statement.create.table.CreateTable;
import net.sf.jsqlparser.statement.create.view.CreateView;
import net.sf.jsqlparser.statement.delete.Delete;
import net.sf.jsqlparser.statement.drop.Drop;
import net.sf.jsqlparser.statement.insert.Insert;
import net.sf.jsqlparser.statement.replace.Replace;
import net.sf.jsqlparser.statement.select.Select;
import net.sf.jsqlparser.statement.truncate.Truncate;
import net.sf.jsqlparser.statement.update.Update;
import org.apache.log4j.Logger;
public class QueryVisitor implements StatementVisitor {
static final Logger log = Logger.getLogger(QueryVisitor.class.getName());
private String statementType;
public QueryVisitor() {
}
@Override
public void visit(Select select) {
this.statementType = "SELECT";
}
@Override
public void visit(Delete delete) {
this.statementType = "DELETE";
delete.accept(this);
log.error("delete is an unsupported operation");
}
@Override
public void visit(Update update) {
log.error("update is an unsupported operation");
this.statementType = "UPDATE";
}
@Override
public void visit(Insert insert) {
log.error("insert is an unsupported operation");
}
@Override
public void visit(Replace replace) {
log.error("replace is an unsupported operation");
}
@Override
public void visit(Drop drop) {
log.error("drop is an unsupported operation");
}
@Override
public void visit(Truncate truncate) {
log.error("truncate is an unsupported operation");
}
@Override
public void visit(CreateIndex index) {
log.error("create index is an unsupported operation");
}
@Override
public void visit(CreateTable table) {
log.error("create table is an unsupported operation");
}
@Override
public void visit(CreateView view) {
log.error("create view is an unsupported operation");
}
public String getStatementType() {
return statementType;
}
}