package businessLogic; import java.rmi.RemoteException; import java.util.Date; import java.util.Vector; import dataAccess.DB4oManager; import domain.Account; import domain.HouseFeatures; import domain.Offer; import domain.Owner; import domain.RuralHouse; public class HouseManager implements HouseManagerInterface { DB4oManager dbMngr; public HouseManager() { try { dbMngr = DB4oManager.getInstance(); } catch (Exception e) { e.printStackTrace(); } } @Override public boolean registerNewHouse(String houseName, Owner owner, String description, String district, int nRooms, int nKitchens, int nBaths, int nLivings, int nParkings) { boolean stored = false; if (nKitchens < 1 || nLivings < 3 || nBaths < 2) return false; HouseFeatures feature = new HouseFeatures(nRooms, nKitchens, nBaths, nLivings, nParkings); RuralHouse rh = new RuralHouse(houseName, owner, description, district, feature); owner.getRuralHouses().add(rh); stored = this.dbMngr.storeRuralHouses(rh); return stored; } public void removeHouse(RuralHouse rh , Owner owner) { Vector temp = owner.getRuralHouses(); temp.remove(rh); this.dbMngr.removeHouse(rh, owner); } @Override public Vector getHousesByDistrict(String town) { return this.dbMngr.getRuralHousesByTown(town); } @Override public Vector getAllRuralHouses() throws RemoteException, Exception { return dbMngr.getAllRuralHouses(); } @Override public RuralHouse getHouseByName(String Name) { return this.dbMngr.getRuralHouseByName(Name); } // For future implementation // @Override // public void modifyHouse(int houseName, Owner owner, String description, // String town, int nRooms, int nKitchens, int nBaths, int nLivings, // int nParkings) { // // TODO Auto-generated method stub // // } // Maybe returning the offer is not necessary. Depends on GUI // implementation. }