cleaning
[RRRRHHHH_Code] / ruralHouses / src / businessLogic / BookingManager.java
index 32fc3be..985bf56 100644 (file)
@@ -1,26 +1,33 @@
 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.Offer;
-import domain.Owner;
+import domain.Client;
 import domain.RuralHouse;
 import exceptions.OfferCanNotBeBooked;
 
-public final class BookingManager {
 
-       private int bookingNumber = 0;
+
+public final class BookingManager extends UnicastRemoteObject implements BookingInterface {
+
+       /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
        dataAccess.DB4oManager dbMngr;
 
-       private static BookingManager theBookingManager;
 
-       public BookingManager() {
+       public BookingManager() throws RemoteException {
+               super();
                try {
                        this.dbMngr = DB4oManager.getInstance();
                } catch (Exception e) {
@@ -28,58 +35,29 @@ public final class BookingManager {
                }
        }
 
-       /**
-        * This method returns the next Booking number
-        * 
-        * @return the book number
-        */
-       public static int getNumber() {
-               ObjectContainer db = DB4oManager.getContainer();
-               BookingManager b = getInstance();
-               b.bookingNumber++;
-               db.store(b);
-               db.commit();
-               return b.bookingNumber;
-       }
+       
 
-       /**
-        * This method returns the instance of the BookingManager class
-        * 
-        * @return the booking manager
-        */
-       public static BookingManager getInstance() {
-               ObjectContainer db = DB4oManager.getContainer();
-               BookingManager b = new BookingManager();
-               ObjectSet<BookingManager> result = db.queryByExample(b);
-               if (!result.hasNext()) {
-                       theBookingManager = new BookingManager();
-                       db.store(theBookingManager);
-                       db.commit();
-               } else
-                       theBookingManager = (BookingManager) result.next();
-               return theBookingManager;
+       public void removeDenyBooking(Booking b) throws RemoteException{
+                               b.getOffer().getBookings().remove(b);
+                               this.dbMngr.removeBooking(b);
        }
 
-       public void removeBooking(Booking B) {
-               // TODO
 
-       }
-
-       public Vector<Booking> getAllBookings(Owner ow) {
-               Vector<Booking> books = new Vector<Booking>();
-               for (RuralHouse rh : ow.getRuralHouses()) {
-                       Vector<Offer> off = rh.getAllOffers();
-                       for (Offer of : off) {
-                               System.out.print(of.toString());
-                               if (of.getBooking() != null) {
-                                       
-                                       books.add(of.getBooking());
-                               }
-                       }
+       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);
                }
-               return books;
+               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
         * 
@@ -87,12 +65,12 @@ public final class BookingManager {
         *            day, last day, house number and telephone
         * @return a book
         */
-       public Booking createBooking(RuralHouse ruralHouse, Date firstDate,
-                       Date lastDate, String bookTelephoneNumber)
-                       throws OfferCanNotBeBooked {
+       public Vector<Booking> createBooking(RuralHouse ruralHouse, Date firstDate,
+                       Date lastDate, Client client)
+                       throws OfferCanNotBeBooked,RemoteException {
 
                return dbMngr.createBooking(ruralHouse, firstDate, lastDate,
-                               bookTelephoneNumber);
+                               client);
        }
 
 }
\ No newline at end of file