package org.genedb.querying.tmpquery;
import org.genedb.querying.core.QueryClass;
import org.genedb.querying.core.QueryParam;
import org.apache.log4j.Logger;
import org.hibernate.Query;
@SuppressWarnings("serial")
@QueryClass(
title="Transcripts by their type",
shortDesc="Get a list of transcripts by type",
longDesc=""
)
public class ControlledCurationQuery extends OrganismHqlQuery {
private static final Logger logger = Logger.getLogger(ControlledCurationQuery.class);
@QueryParam(
order=1,
title="Name of CV"
)
private BrowseCategory cv;
@QueryParam(
order=2,
title="Name of CV term"
)
private String cvTermName;
@Override
public String getQueryDescription() {
return "Searches for features that have a certain controlled vocabulary term associated with them.";
}
@Override
public String getQueryName() {
return "Controlled Curation";
}
@Override
protected String getHql() {
return "select @SELECTOR@ from Feature f, FeatureCvTerm fct where fct.feature=f and fct.cvTerm.name=:cvTermName and fct.cvTerm.cv.name like :cvName @ORGANISM@ @ORDERBY@ ";
}
// ------ Autogenerated code below here
public BrowseCategory getCv() {
return cv;
}
public void setCv(BrowseCategory cv) {
this.cv = cv;
}
public String getCvTermName() {
return cvTermName;
}
public void setCvTermName(String cvTermName) {
this.cvTermName = cvTermName;
}
public String getCvName() {
return cv.getLookupName();
}
@Override
protected String[] getParamNames() {
return new String[] {"cvName", "cvTermName"};
}
@Override
protected void populateQueryWithParams(Query query) {
super.populateQueryWithParams(query);
logger.error(String.format("cvName='%s' cvTermName='%s'", cv.getLookupName(), cvTermName));
query.setString("cvName", cv.getLookupName());
query.setString("cvTermName", cvTermName);
}
@Override
public String getOrderBy() {
return "";
}
}