package businessLogic; import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; import java.util.Date; import java.util.Vector; import com.db4o.ObjectContainer; import com.db4o.ObjectSet; import common.BookingInterface; import dataAccess.DB4oManager; import domain.Booking; import domain.Client; import domain.RuralHouse; import exceptions.OfferCanNotBeBooked; public final class BookingManager extends UnicastRemoteObject implements BookingInterface { /** * */ private static final long serialVersionUID = 1L; dataAccess.DB4oManager dbMngr; public BookingManager() throws RemoteException { super(); try { this.dbMngr = DB4oManager.getInstance(); } catch (Exception e) { e.printStackTrace(); } } public void removeDenyBooking(Booking b) throws RemoteException{ b.getOffer().getBookings().remove(b); this.dbMngr.removeBooking(b); } public void acceptBooking(Booking b) throws RemoteException{ b.getOffer().setBooked(true); for(Booking boo : b.getOffer().getBookings()){ if(!boo.equals(b)) b.getOffer().getBookings().remove(b); } this.dbMngr.acceptBooking(b.getOffer()); /*try { MailManager.getInstance().Send(b.getClient().getMailAccount(), "Your booking has been accepted","Here should be the bill"); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ } /** * This method creates a book with a corresponding parameters * * @param First * day, last day, house number and telephone * @return a book */ public Vector createBooking(RuralHouse ruralHouse, Date firstDate, Date lastDate, Client client) throws OfferCanNotBeBooked,RemoteException { return dbMngr.createBooking(ruralHouse, firstDate, lastDate, client); } }