3 import java.rmi.RemoteException;
4 import java.rmi.server.UnicastRemoteObject;
5 import java.util.Vector;
7 import common.AdminInterface;
9 import dataAccess.DB4oManager;
10 import domain.Account;
11 import domain.Administrator;
13 import domain.RuralHouse;
15 public class AdminManager extends UnicastRemoteObject implements AdminInterface {
19 private static final long serialVersionUID = 1L;
21 public AdminManager() throws RemoteException {
25 public Vector<RuralHouse> getAdditionRequests() throws RemoteException {
26 return new Vector<RuralHouse>(Administrator.getInstance()
30 public Vector<RuralHouse> getDeletionRequests() throws RemoteException {
31 return new Vector<RuralHouse>(Administrator.getInstance()
35 public Vector<Account> getOwnerAdditionRequests() throws RemoteException {
36 return new Vector<Account>(Administrator.getInstance()
37 .getNewOwnerRequest());
40 public Vector<Owner> getAllOwners() throws RemoteException {
42 return new Vector<Owner>(DB4oManager.getInstance().getOwners());
43 } catch (Exception e) {
49 public void removeHouseAdditionRequests(RuralHouse house)
50 throws RemoteException {
51 Administrator.getInstance().getAddRequest().remove(house);
54 public void removeHouseDeletionRequests(RuralHouse house)
55 throws RemoteException {
56 Administrator.getInstance().getRemoveRequest().remove(house);
59 public void removeOwnerAdditionRequests(int index) throws RemoteException {
60 Administrator.getInstance().getNewOwnerRequest().remove(index);
63 public boolean addAdditionRequest(RuralHouse rh) throws RemoteException {
64 if (this.getAdditionRequests().contains(rh)
65 || !suitsRegulations(rh.getFeatures().getnKitchens(), rh
66 .getFeatures().getnBaths(),rh
67 .getFeatures().getnLivings())) {
70 return Administrator.getInstance().getAddRequest().add(rh);
74 public boolean addDeletionRequest(RuralHouse rh) throws RemoteException {
75 if (this.getDeletionRequests().contains(rh))
78 return Administrator.getInstance().getRemoveRequest().add(rh);
82 public boolean addAccountRequest(String usr, String pss, Owner ow)
83 throws RemoteException {
85 Account acc = new Account(usr, pss, ow);
86 if (this.getOwnerAdditionRequests().contains(acc)) {
89 return Administrator.getInstance().getNewOwnerRequest().add(acc);
93 public void saveInstance() throws RemoteException {
94 Administrator.saveInstance();
98 private boolean suitsRegulations(int nKitchens, int nBaths, int nLivings) {
99 if (nKitchens < 1 || nLivings < 3 || nBaths < 2)
105 // public boolean removeAccount(Account acc) {
106 // if (this.getDeletionRequests().contains(acc))
108 // return Administrator.getInstance().getNewOwnerRequest().add(acc);