package businessLogic;
import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
import java.sql.Date;
+import java.util.Vector;
-import com.db4o.ObjectContainer;
-import com.db4o.ObjectSet;
+import common.OfferInterface;
import dataAccess.DB4oManager;
import domain.Offer;
import exceptions.BadDates;
import exceptions.OverlappingOfferExists;
-public final class OfferManager {
+public final class OfferManager extends UnicastRemoteObject implements OfferInterface{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
private int offerNumber = 0;
dataAccess.DB4oManager dbMngr;
- private static OfferManager theOfferManager;
- public OfferManager() {
+ public OfferManager() throws RemoteException {
+ super();
try {
this.dbMngr = DB4oManager.getInstance();
} catch (Exception e) {
}
}
- public static int getNumber() {
- ObjectContainer db=DB4oManager.getContainer();
- OfferManager o=getInstance();
- o.offerNumber++;
- db.store(o);
- db.commit();
- return o.offerNumber;
- }
- /**
- * This method returns the instance of the OfferManager class
- *
- * @return the offer manager
- */
- public static OfferManager getInstance() {
- ObjectContainer db=DB4oManager.getContainer();
- OfferManager b = new OfferManager();
- ObjectSet result = db.queryByExample(b);
- if (!result.hasNext()){
- theOfferManager = new OfferManager();
- db.store(theOfferManager);
- db.commit();
- } else theOfferManager=(OfferManager)result.next();
- return theOfferManager;
- }
/**
* This method creates an offer with a house number, first day, last day and price
boolean b = dbMngr.existsOverlappingOffer(ruralHouse,firstDay,lastDay); // The ruralHouse object in the client may not be updated
if (!b) {
- ruralHouse.createOffer(offerNumber, firstDay, lastDay, price);
- return dbMngr.createOffer(ruralHouse,firstDay,lastDay,price);
+ dbMngr.createOffer(ruralHouse,firstDay,lastDay,price);
+ return ruralHouse.createOffer(offerNumber, firstDay, lastDay, price);
}
return null;
}
public void deleteOffer(RuralHouse rh, Offer o) throws RemoteException, Exception{
- rh.offers.removeElement(o);
+ rh.getAllOffers().removeElement(o);
dbMngr.deleteOffer( o);
}
+
+
+ @Override
+ public Vector<RuralHouse> getRuralHouseOffers(RuralHouse rh)
+ throws RemoteException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}