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;
@QueryClass(
title="Transcripts by their type",
shortDesc="Get a list of transcripts by type",
longDesc=""
)
public class GenesByDbQuery extends OrganismHqlQuery {
private static final Logger logger = Logger.getLogger(GenesByDbQuery.class);
@QueryParam(
order=1,
title="DB Accession"
)
private String accession;
@Override
public String getQueryDescription() {
return "Searches for features that have a certain controlled vocabulary term associated with them.";
}
@Override
public String getQueryName() {
return "Database Accession";
}
@Override
protected String getHql() {
return "select @SELECTOR@ from Feature f, FeatureCvTerm fc, CvTerm c where fc.feature=f and fc.cvTerm=c and c.dbXRef.accession=:accession @ORGANISM@ ";
}
// ------ Autogenerated code below here
public String getAccession() {
return accession;
}
public void setAccession(String accession) {
this.accession = accession;
}
@Override
protected String[] getParamNames() {
return new String[] {"accession"};
}
@Override
protected void populateQueryWithParams(Query query) {
super.populateQueryWithParams(query);
logger.error(String.format("accession='%s'", accession));
query.setString("accession", accession);
}
@Override
protected String getOrderBy() {
return " order by f.organism ";
}
}