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 ""; } }