package is.idega.idegaweb.member.isi.block.accounting.data; import java.util.Collection; import javax.ejb.FinderException; import com.idega.data.GenericEntity; import com.idega.data.query.MatchCriteria; import com.idega.data.query.SelectQuery; import com.idega.data.query.Table; import com.idega.data.query.WildCardColumn; import com.idega.user.data.Group; import com.idega.user.data.User; public class InvoiceReceiverBMPBean extends GenericEntity implements InvoiceReceiver { protected static final String ENTITY_NAME = "isi_inv_receiver"; protected static final String COLUMN_USER = "user_id"; protected static final String COLUMN_INVOICE_RECEIVER = "receiver_id"; protected static final String COLUMN_CLUB = "club_id"; protected static final String COLUMN_DIVISION = "division_id"; protected static final String COLUMN_GROUP = "group_id"; public String getEntityName() { return ENTITY_NAME; } public void initializeAttributes() { addAttribute(getIDColumnName()); addManyToOneRelationship(COLUMN_USER, User.class); addManyToOneRelationship(COLUMN_INVOICE_RECEIVER, User.class); addManyToOneRelationship(COLUMN_CLUB, Group.class); addManyToOneRelationship(COLUMN_DIVISION, Group.class); addManyToOneRelationship(COLUMN_GROUP, Group.class); } // getters public User getUser() { return (User) getColumnValue(COLUMN_USER); } public User getInvoiceReceiver() { return (User) getColumnValue(COLUMN_INVOICE_RECEIVER); } public Group getClub() { return (Group) getColumnValue(COLUMN_CLUB); } public Group getDivision() { return (Group) getColumnValue(COLUMN_DIVISION); } public Group getGroup() { return (Group) getColumnValue(COLUMN_GROUP); } // setters public void setUser(User user) { setColumn(COLUMN_USER, user); } public void setInvoiceReceiver(User invoiceReceiver) { setColumn(COLUMN_INVOICE_RECEIVER, invoiceReceiver); } public void setClub(Group club) { setColumn(COLUMN_CLUB, club); } public void setDivision(Group division) { setColumn(COLUMN_DIVISION, division); } public void setGroup(Group group) { setColumn(COLUMN_GROUP, group); } // ejb public Collection ejbFindAll() throws FinderException { return super.idoFindAllIDsBySQL(); } public Collection ejbFindByUser(User user) throws FinderException { Table receiver = new Table(this); SelectQuery query = new SelectQuery(receiver); query.addColumn(new WildCardColumn(receiver)); query.addCriteria(new MatchCriteria(receiver, COLUMN_USER, MatchCriteria.EQUALS, user)); return idoFindPKsByQuery(query); } public Collection ejbFindByInvoiceReceiver(User invoiceReceiver) throws FinderException { Table receiver = new Table(this); SelectQuery query = new SelectQuery(receiver); query.addColumn(new WildCardColumn(receiver)); query.addCriteria(new MatchCriteria(receiver, COLUMN_INVOICE_RECEIVER, MatchCriteria.EQUALS, invoiceReceiver)); return idoFindPKsByQuery(query); } public Collection ejbFindByClub(Group club) throws FinderException { Table receiver = new Table(this); SelectQuery query = new SelectQuery(receiver); query.addColumn(new WildCardColumn(receiver)); query.addCriteria(new MatchCriteria(receiver, COLUMN_CLUB, MatchCriteria.EQUALS, club)); return idoFindPKsByQuery(query); } public Collection ejbFindByDivision(Group division) throws FinderException { Table receiver = new Table(this); SelectQuery query = new SelectQuery(receiver); query.addColumn(new WildCardColumn(receiver)); query.addCriteria(new MatchCriteria(receiver, COLUMN_DIVISION, MatchCriteria.EQUALS, division)); return idoFindPKsByQuery(query); } public Collection ejbFindByGroup(Group group) throws FinderException { Table receiver = new Table(this); SelectQuery query = new SelectQuery(receiver); query.addColumn(new WildCardColumn(receiver)); query.addCriteria(new MatchCriteria(receiver, COLUMN_GROUP, MatchCriteria.EQUALS, group)); return idoFindPKsByQuery(query); } }