3 import java.rmi.RemoteException;
4 import java.rmi.server.UnicastRemoteObject;
6 import java.util.Vector;
7 import java.sql.SQLException;
9 import com.db4o.ObjectContainer;
10 import com.db4o.ObjectSet;
12 import configuration.Config;
13 import dataAccess.DB4oManager;
14 import domain.Booking;
17 import domain.RuralHouse;
18 import exceptions.OfferCanNotBeBooked;
20 public class FacadeImplementation extends UnicastRemoteObject implements ApplicationFacadeInterface {
22 private static final long serialVersionUID = 1L;
25 public FacadeImplementation() throws RemoteException, InstantiationException,
26 IllegalAccessException, ClassNotFoundException, SQLException {
27 dbMngr = DB4oManager.getInstance();
31 public Offer createOffer(RuralHouse ruralHouse, Date firstDay, Date lastDay,
32 float price) throws RemoteException, Exception {
33 return dbMngr.createOffer(ruralHouse, firstDay, lastDay, price);
37 * This method obtains available offers for a concrete house in a certain period
39 * @param houseNumber, the house number where the offers must be obtained
40 * @param firstDay, first day in a period range
41 * @param lastDay, last day in a period range
42 * @return a vector of offers(Offer class) available in this period
44 public Vector<Offer> getOffers(RuralHouse house,Date firstDay, Date lastDay) throws RemoteException,
46 return house.getOffers(firstDay, lastDay);
50 * This method finds all existing owners
53 public Vector<Owner> getOwners() throws RemoteException,
55 return dbMngr.getOwners();
59 * This method obtains an owner's rural houses
63 * @return a vector of Rural Houses
65 public Vector<RuralHouse> getRuralHouses(Owner owner)
66 throws RemoteException {
67 return owner.getRuralHouses();
71 public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
73 return dbMngr.getAllRuralHouses();
78 public Booking createBooking(RuralHouse ruralHouse, Date firstDate, Date lastDate, String bookTelephoneNumber)
79 throws OfferCanNotBeBooked {
81 RuralHouse rh=dbMngr.getRuralHouse(ruralHouse);
82 Offer offer = rh.findOffer(firstDate, lastDate);
83 Booking b=dbMngr.createBooking(offer,bookTelephoneNumber);
85 } catch (Exception exc) {
86 exc.printStackTrace();