package is.idega.idegaweb.travel.data; import is.idega.idegaweb.travel.interfaces.Booking; import java.rmi.RemoteException; import java.util.Collection; import javax.ejb.FinderException; import com.idega.block.trade.stockroom.data.ProductPrice; 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.data.query.WildCardColumn; /** * Title: idegaWeb TravelBooking * Description: * Copyright: Copyright (c) 2001 * Company: idega * @author <a href="mailto:gimmi@idega.is">Grimur Jonsson</a> * @version 1.0 */ public class BookingEntryBMPBean extends com.idega.data.GenericEntity implements is.idega.idegaweb.travel.data.BookingEntry { public BookingEntryBMPBean() { } public void initializeAttributes() { addAttribute(getIDColumnName()); addAttribute(getBookingIDColumnName(), "booking id", true, true, Integer.class, "many-to-one", GeneralBooking.class); addAttribute(getCountColumnName(), "Fj�ldi", true, true, Integer.class); addAttribute(getProductPriceIDColumnName(), "product price id", true, true, Integer.class, "many-to-one",ProductPrice.class); addIndex(getBookingIDColumnName()); addIndex("IDX_ENT_BOOKING", new String[]{getIDColumnName(), getBookingIDColumnName()}); } public String getEntityName() { return getBookingEntriesTableName(); } public ProductPrice getProductPrice() throws FinderException{ // ProductPriceHome ppHome = (com.idega.block.trade.stockroom.data.ProductPriceHome)com.idega.data.IDOLookup.getHomeLegacy(ProductPrice.class); // return (ppHome).findByPrimaryKey(getProductPriceId()); return (ProductPrice) getColumnValue(getProductPriceIDColumnName()); } public int getProductPriceId() { return getIntColumnValue(getProductPriceIDColumnName()); } public void setProductPriceId(int id) { setColumn(getProductPriceIDColumnName(), id); } public void setBookingId(int id) { setColumn(getBookingIDColumnName(), id); } public int getBookingId() { return getIntColumnValue(getBookingIDColumnName()); } public Booking getBooking() throws RemoteException, FinderException { GeneralBookingHome bHome = (is.idega.idegaweb.travel.data.GeneralBookingHome)com.idega.data.IDOLookup.getHome(GeneralBooking.class); return bHome.findByPrimaryKey(new Integer(getBookingId())); } public void setCount(int count) { setColumn(getCountColumnName(), count); } public int getCount() { return getIntColumnValue(getCountColumnName()); } public static String getBookingEntriesTableName() {return "TB_BOOKING_ENTRIES";} public static String getBookingIDColumnName() {return "BOOKING_ID";} public static String getCountColumnName() {return "PASSENGER_COUNT";} public static String getProductPriceIDColumnName() {return "SR_PRODUCT_PRICE_ID";} public Collection ejbHomeGetEntries(Booking booking) throws FinderException, RemoteException{ Table table = new Table(this); Column bookingID = new Column(table, getBookingIDColumnName()); SelectQuery select = new SelectQuery(table); select.addColumn(new WildCardColumn()); select.addCriteria(new MatchCriteria(bookingID, MatchCriteria.EQUALS, booking)); return super.idoFindPKsByQuery(select); // return super.idoFindAllIDsByColumnBySQL(getBookingIDColumnName(), Integer.toString(booking.getID())); // return null; } public Collection getEntries(ProductPrice pPrice) throws FinderException { return super.idoFindAllIDsByColumnBySQL(getProductPriceIDColumnName(), pPrice.getPrimaryKey().toString()); } }