Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code
[RRRRHHHH_Code] / ruralHouses / src / businessLogic / AdminManager.java
index a51ec98..a7e3a2a 100644 (file)
 package businessLogic;
 
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
 import java.util.Vector;
 
+import common.AdminInterface;
+
+import dataAccess.DB4oManager;
 import domain.Account;
 import domain.Administrator;
+import domain.Owner;
 import domain.RuralHouse;
 
-public class AdminManager {
-       public AdminManager() {
+public class AdminManager extends UnicastRemoteObject implements AdminInterface {
+       /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
+
+
+
+
+       public AdminManager() throws RemoteException {
 
        }
 
-       public Vector<RuralHouse> getAdditionRequests() {
+       public Vector<RuralHouse> getAdditionRequests() throws RemoteException {
                return new Vector<RuralHouse>(Administrator.getInstance()
                                .getAddRequest());
        }
 
-       public Vector<RuralHouse> getDeletionRequests() {
+       public Vector<RuralHouse> getDeletionRequests() throws RemoteException {
                return new Vector<RuralHouse>(Administrator.getInstance()
                                .getRemoveRequest());
        }
 
-       public Vector<Account> getOwnerAdditionReuests() {
+       public Vector<Account> getOwnerAdditionRequests() throws RemoteException {
                return new Vector<Account>(Administrator.getInstance()
                                .getNewOwnerRequest());
        }
        
-       public void removeHouseAdditionRequests(RuralHouse house) {
+       public Vector<Owner> getAllOwners()throws RemoteException {
+               try {
+                       return new Vector<Owner>(DB4oManager.getInstance().getOwners());
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+               return null;
+       }
+       public void removeHouseAdditionRequests(RuralHouse house) throws RemoteException {
                Administrator.getInstance().getAddRequest().remove(house);
        }
 
-       public void removeHouseDeletionRequests(RuralHouse house) {
+       public void removeHouseDeletionRequests(RuralHouse house) throws RemoteException {
                Administrator.getInstance().getRemoveRequest().remove(house);
        }
-       public void removeOwnerAdditionRequests(Account acc) {
-               Administrator.getInstance().getNewOwnerRequest().remove(acc);
+       
+       public void removeOwnerAdditionRequests(int index) throws RemoteException {
+               Administrator.getInstance().getNewOwnerRequest().remove(index);
        }
-       public boolean addAdditionRequest(RuralHouse rh) {
+       
+       public boolean addAdditionRequest(RuralHouse rh) throws RemoteException {
                if (this.getAdditionRequests().contains(rh)) {
                        return false;
                }
                return Administrator.getInstance().getAddRequest().add(rh);
+
        }
 
-       public boolean addDeletionRequest(RuralHouse rh) {
+       public boolean addDeletionRequest(RuralHouse rh) throws RemoteException {
                if (this.getDeletionRequests().contains(rh))
                        return false;
+
                return Administrator.getInstance().getRemoveRequest().add(rh);
+
        }
        
-       public boolean addAccount(Account acc) {
-               if (this.getOwnerAdditionReuests().contains(acc)) {
+       public boolean addAccountRequest(String usr,
+                       String pss, Owner ow) throws RemoteException {
+               
+               Account acc = new Account (usr, pss,  ow);
+               if (this.getOwnerAdditionRequests().contains(acc)) {
                        return false;
                }
                return Administrator.getInstance().getNewOwnerRequest().add(acc);
        }
 
+       @Override
+       public void saveInstance() throws RemoteException {
+               Administrator.saveInstance();
+               
+       }
+
+
+
+
 //     public boolean removeAccount(Account acc) {
 //             if (this.getDeletionRequests().contains(acc))
 //                     return false;