3 import java.rmi.RemoteException;
4 import java.rmi.server.UnicastRemoteObject;
7 import java.util.Vector;
9 import java.sql.SQLException;
11 import com.db4o.ObjectContainer;
12 import com.db4o.ObjectSet;
13 import configuration.Config;
15 import dataAccess.DB4oManager;
17 import domain.Booking;
20 import domain.RuralHouse;
22 import exceptions.OfferCanNotBeBooked;
24 public class FacadeImplementation extends UnicastRemoteObject implements ApplicationFacadeInterface {
26 private static final long serialVersionUID = 1L;
29 public FacadeImplementation() throws RemoteException, InstantiationException,
30 IllegalAccessException, ClassNotFoundException, SQLException {
31 dbMngr = DB4oManager.getInstance();
35 * This method obtains an owner's rural houses
39 * @return a vector of Rural Houses
41 public Vector<RuralHouse> getRuralHouses(Owner owner)
42 throws RemoteException {
43 return owner.getRuralHouses();
46 public Offer createOffer(RuralHouse ruralHouse, Date firstDay, Date lastDay,
47 float price) throws RemoteException, Exception {
48 return dbMngr.createOffer(ruralHouse, firstDay, lastDay, price);
52 * This method obtains available offers for a concrete house in a certain period
54 * @param houseNumber, the house number where the offers must be obtained
55 * @param firstDay, first day in a period range
56 * @param lastDay, last day in a period range
57 * @return a vector of offers(Offer class) available in this period
59 public Vector<Offer> getOffers(RuralHouse house,Date firstDay, Date lastDay) throws RemoteException,
61 return house.getOffers(firstDay, lastDay);
65 * This method finds all existing owners
68 public Vector<Owner> getOwners() throws RemoteException,
70 return dbMngr.getOwners();
73 public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
75 return dbMngr.getAllRuralHouses();
80 public Booking createBooking(RuralHouse ruralHouse, Date firstDate, Date lastDate, String bookTelephoneNumber)
81 throws OfferCanNotBeBooked {
83 RuralHouse rh=dbMngr.getRuralHouse(ruralHouse);
84 Offer offer = rh.findOffer(firstDate, lastDate);
85 Booking b=dbMngr.createBooking(offer,bookTelephoneNumber);
87 } catch (Exception exc) {
88 exc.printStackTrace();