package is.idega.idegaweb.marathon.data; import java.util.Collection; import javax.ejb.FinderException; import com.idega.data.GenericEntity; import com.idega.data.IDORelationshipException; import com.idega.data.query.Column; import com.idega.data.query.MatchCriteria; import com.idega.data.query.SelectQuery; import com.idega.data.query.Table; import com.idega.user.data.Group; import com.idega.user.data.GroupBMPBean; public class RunCategoryBMPBean extends GenericEntity implements RunCategory { /** * Comment for <code>serialVersionUID</code> */ private static final long serialVersionUID = 7473226664231171011L; protected static final String ENTITY_NAME = "run_category"; protected static final String COLUMN_NAME_NAME = "name"; public String getEntityName() { return ENTITY_NAME; } public void initializeAttributes() { addAttribute(getIDColumnName()); addAttribute(COLUMN_NAME_NAME, "Name", true, true, String.class); this.addManyToManyRelationShip(Group.class); } public String getName() { return (String) getColumnValue(COLUMN_NAME_NAME); } public void setName(String name) { setColumn(COLUMN_NAME_NAME, name); } public Collection ejbFindAllCategories() throws FinderException { SelectQuery query = idoSelectPKQuery(); query.addOrder(new Table(this), COLUMN_NAME_NAME, true); return idoFindPKsByQuery(query); } public Collection ejbFindCategoriesByRunYearID(Integer runYearID) throws IDORelationshipException, FinderException { Table table = new Table(this); Table runYearTable = new Table(Group.class); Column categoriesIDColumn = new Column(table, getIDColumnName()); Column runYearIDColumn = new Column(runYearTable, GroupBMPBean.getColumnNameGroupID()); SelectQuery query = new SelectQuery(table); query.addManyToManyJoin(table, runYearTable); query.addColumn(categoriesIDColumn); query.addCriteria(new MatchCriteria(runYearIDColumn, MatchCriteria.EQUALS, runYearID)); query.addOrder(table, COLUMN_NAME_NAME, true); return this.idoFindPKsByQuery(query); } }