package eu.leads.processor.query;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import eu.leads.processor.sql.Plan;
/**
* Created with IntelliJ IDEA.
* User: vagvaz
* Date: 9/9/13
* Time: 1:06 AM
* To change this template use File | Settings | File Templates.
*/
@JsonAutoDetect
public class SQLQuery implements Query {
private String user;
private String id;
private boolean completed;
private String queryText;
private String location;
private String sqlType; //possible (SELECT,INSERT,DELETE,CREATE TABLE)
private Plan sqlPlan;
private QueryContext context;
private QueryState state;
public Plan getSqlPlan() {
// if(sqlPlan==null)
// sqlPlan = getBasicPlan(this.queryText,sqlType);
return sqlPlan;
}
public void setSqlPlan(Plan sqlPlan) {
this.sqlPlan = sqlPlan;
}
public SQLQuery(String user, String location, String query, String sqlType) {
this.user = user;
this.location = location;
this.queryText = query;
this.sqlType = sqlType;
this.sqlPlan = null;
}
@Override
public void setUser(String user) {
this.user = user;
}
@Override
public void setCompleted(boolean completed) {
this.completed = completed;
}
public String getQueryText() {
return queryText;
}
public void setQueryText(String queryText) {
this.queryText = queryText;
}
@Override
public String getLocation() {
return location;
}
@Override
public Plan getPlan() {
return getSqlPlan(); //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public void setPlan(Plan plan) {
this.sqlPlan = plan;
}
@Override
public QueryContext getContext() {
return context;
}
@Override
public void setQueryContext(QueryContext context) {
this.context = context;
this.context.setQueryId(this.getId());
}
@Override
public QueryState getQueryState() {
return state;
}
@Override
public void setQueryState(QueryState state) {
this.state = state;
}
@Override
public void setLocation(String location) {
this.location = location;
}
public String getSqlType() {
return sqlType;
}
public void setSqlType(String sqlType) {
this.sqlType = sqlType;
}
@Override
public String getUser() {
return user; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public String getId() {
return id; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public boolean isCompleted() {
return completed; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public void setId(String id) {
this.id = id;
}
}