Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code
authorcamjan <jcampos004@ikasle.ehu.es>
Wed, 15 Apr 2015 15:47:17 +0000 (17:47 +0200)
committercamjan <jcampos004@ikasle.ehu.es>
Wed, 15 Apr 2015 15:47:17 +0000 (17:47 +0200)
Conflicts:
ruralHouses/src/dataAccess/DB4oManager.java
ruralHouses/src/gui/ModifyHouseGUI.java

ruralHouses/src/businessLogic/LoginManager.java
ruralHouses/src/businessLogic/LoginManagerInterface.java
ruralHouses/src/dataAccess/DB4oManager.java
ruralHouses/src/domain/Account.java
ruralHouses/src/domain/Administrator.java
ruralHouses/src/gui/AdminMenuGUI.java
ruralHouses/src/gui/LoginGUI.java
ruralHouses/src/gui/ModifyHouseGUI.java
ruralHouses/src/gui/StartWindow.java
ruralHouses/src/gui/listOfAdditionRequestsGUI.java
ruralHouses/src/gui/listOfRemovalRequestsGUI.java

index 72ce86b..b0aadd8 100644 (file)
@@ -22,13 +22,13 @@ public class LoginManager implements LoginManagerInterface {
        }
 
        @Override
-       public Owner checkCredentials(String usr, String pwd) {
+       public Account checkCredentials(String usr, String pwd) {
                try {
                        Vector<Account> account = dbMngr.getAccount(usr, pwd);
                        if (account.isEmpty())
                                return null;
                        else
-                               return account.get(0).getOwner();
+                               return account.get(0);
 
                } catch (Exception e) {
                        // TODO Auto-generated catch block
@@ -36,5 +36,7 @@ public class LoginManager implements LoginManagerInterface {
                }
                return null;
        }
+       
+
 
 }
index b3362e0..682b500 100644 (file)
@@ -1,10 +1,12 @@
 package businessLogic;
 
+import domain.Account;
 import domain.Owner;
 
 public interface LoginManagerInterface {
        
-       public Owner checkCredentials(String usr, String pwd);
+       public Account checkCredentials(String usr, String pwd);
+
        
        
        
index a2bcfde..eb80b86 100644 (file)
@@ -4,7 +4,14 @@ import java.io.File;
 //import java.util.Enumeration;
 //import java.util.Vector;
 import java.rmi.RemoteException;
-import java.util.*;
+
+
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Vector;
+
 
 import com.db4o.Db4oEmbedded;
 import com.db4o.ObjectContainer;
@@ -16,6 +23,7 @@ import com.db4o.query.Predicate;
 
 import configuration.ConfigXML;
 import domain.Account;
+import domain.Administrator;
 import domain.Booking;
 import domain.HouseFeatures;
 import domain.Offer;
@@ -124,11 +132,17 @@ public class DB4oManager {
                        Account jonAcc = new Account("userJon", "passJon", jon);
                        Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
                                        alfredo);
+
+                       Account admin = new Account("admin","admin", true);
+                       db.store(Administrator.giveAdmin());
+                       db.store(jon);
+                       db.store(alfredo);
                        db.store(jonAcc);
                        db.store(alfredoAcc);
+                       db.store(admin);
                        db.commit();
                } finally {
-                       db.close();
+                       db.close();     
                }
        }
 
@@ -208,6 +222,62 @@ public class DB4oManager {
                }
        }
 
+       
+       public LinkedList<RuralHouse>[] getAdminData(){
+               if (c.isDatabaseLocal() == false)
+                       openSDB();
+               else
+                       openDB();
+               LinkedList<RuralHouse>[] ret =  new LinkedList[2];
+               
+               try {
+                       
+                       List<Administrator> admL = db.query(new Predicate<Administrator>(){
+                               public boolean match(Administrator admin){
+                                       return true;
+                               }
+                       });
+                       
+                       ret[0] = admL.get(0).getAddRequest();
+                       ret[1] = admL.get(0).getRemoveRequest();
+                       return ret;
+               }
+               finally {
+                       db.close();
+                       
+               }
+               
+       }
+       
+       public void storeAdmin() {
+               if (c.isDatabaseLocal() == false)
+                       openSDB();
+               else
+                       openDB();               
+               try {
+                       
+                       List<Administrator> admL = db.query(new Predicate<Administrator>(){
+                               public boolean match(Administrator admin){
+                                       return true;
+                               }
+                       });
+                       
+                       admL.get(0).setAddRequest(Administrator.getAddRequest());
+                       admL.get(0).setRemoveRequest(Administrator.getRemoveRequest());
+                       db.commit();
+                       
+               }
+               catch(Exception e){
+                       
+               }
+               finally {
+                       db.close();
+               }
+               
+               
+       }
+       
+       
        /**
         * This method creates a book with a corresponding parameters
         * 
@@ -225,6 +295,7 @@ public class DB4oManager {
                        openDB();
 
                Booking bok = null;
+               
 
                try {
 
@@ -354,7 +425,7 @@ public class DB4oManager {
                        openDB();
 
                try {
-                       Account proto = new Account(usr, pwd, new Owner(null, null));
+                       Account proto = new Account(usr, pwd, null);
                        ObjectSet<Account> result = db.queryByExample(proto);
                        Vector<Account> accounts = new Vector<Account>();
                        while (result.hasNext())
@@ -441,4 +512,6 @@ public class DB4oManager {
                }
 
        }
+
+       
 }
index 795f739..e0727a1 100644 (file)
@@ -5,9 +5,9 @@ public class Account {
        private String username = "";
        private String password = "";
        private Owner owner;
-       private Administrator admin;
+       private boolean admin = false;
 
-       public Account(String usr, String pass, Administrator admin) {
+       public Account(String usr, String pass, boolean admin) {
                this.username = usr;
                this.password = pass;
                this.owner = null;
@@ -19,7 +19,7 @@ public class Account {
                this.username = usr;
                this.password = pass;
                this.owner = ow;
-               this.admin = null;
+               this.admin = false;
 
        }
 
@@ -35,11 +35,11 @@ public class Account {
                return owner;
        }
 
-       public Administrator getAdmin() {
+       public boolean getAdmin() {
                return admin;
        }
 
-       public void setAdmin(Administrator admin) {
+       public void setAdmin(boolean admin) {
                this.admin = admin;
        }
 
index 15d5e48..6102430 100644 (file)
@@ -2,13 +2,42 @@ package domain;
 
 import java.util.LinkedList;
 
+import dataAccess.DB4oManager;
+
 public class Administrator {
 
-       private static LinkedList<RuralHouse> addRequest = new LinkedList<RuralHouse>();
-       private static LinkedList<RuralHouse> removeRequest = new LinkedList<RuralHouse>();
+       private static LinkedList<RuralHouse> addRequest;
+       private static LinkedList<RuralHouse> removeRequest;
        private Administrator(){
+               addRequest = new LinkedList<RuralHouse>();
+               removeRequest  = new LinkedList<RuralHouse>();
        }
 
+       public static Administrator giveAdmin(){
+               return new Administrator();
+       }
+       
+       public static void getInstance(){
+               try {
+                       DB4oManager db4o = DB4oManager.getInstance();
+                       LinkedList<RuralHouse>[] temp = db4o.getAdminData();
+                       addRequest = temp[0];
+                       removeRequest = temp[1];
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+               
+       }
+       
+       public static void saveInstance(){
+               try {
+                       DB4oManager.getInstance().storeAdmin();
+               } catch (Exception e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+       }
+       
        public static LinkedList<RuralHouse> getAddRequest() {
                return addRequest;
        }
@@ -16,4 +45,12 @@ public class Administrator {
                return removeRequest;
        }
 
+       public static void setAddRequest(LinkedList<RuralHouse> addRequest) {
+               Administrator.addRequest = addRequest;
+       }
+
+       public static void setRemoveRequest(LinkedList<RuralHouse> removeRequest) {
+               Administrator.removeRequest = removeRequest;
+       }
+
 }
index 5408e60..7062a21 100644 (file)
@@ -11,6 +11,8 @@ import javax.swing.JFrame;
 import javax.swing.JPanel;
 import javax.swing.border.EmptyBorder;
 
+import domain.Administrator;
+
 public class AdminMenuGUI extends JFrame {
 
        /**
@@ -30,7 +32,7 @@ public class AdminMenuGUI extends JFrame {
        public AdminMenuGUI() {
                
                
-               
+               Administrator.getInstance();
                this.setTitle("Owner Menu");
                this.getContentPane().setLayout(null);
                setBounds(100, 100, 450, 473);
index 7e8ec11..db04aff 100644 (file)
@@ -15,8 +15,12 @@ import javax.swing.SwingConstants;
 
 import businessLogic.LoginManager;
 import businessLogic.LoginManagerInterface;
+import domain.Account;
 import domain.Owner;
 
+import javax.swing.JRadioButton;
+import javax.swing.ButtonGroup;
+
 public class LoginGUI extends JFrame {
 
        private static final long serialVersionUID= 1L;
@@ -25,7 +29,7 @@ public class LoginGUI extends JFrame {
        private JPasswordField passwordField;
        private LoginManagerInterface loginManager = new LoginManager();
        private JLabel loginFeedback;
-
+       private final ButtonGroup buttonGroup = new ButtonGroup();
        public LoginGUI() {
                super();
                initialize();
@@ -80,19 +84,22 @@ public class LoginGUI extends JFrame {
        }
        
        private void jButton_ActionPerformed(ActionEvent e){
-               Owner owner = loginManager.checkCredentials(usernameField.getText(),new String(passwordField.getPassword()));
-               if(owner==null){
-                       loginFeedback.setText("Incorrect username or password");
-               }else{
-                       
-                       
                        
+               Account acc = loginManager.checkCredentials(usernameField.getText(),new String(passwordField.getPassword()));
+               if (acc.getAdmin()) {
+                       this.setVisible(false);
+                       Frame a = new AdminMenuGUI();
+                       a.setVisible(true);
+               } else {
+                       if(acc.getOwner()==null){
+                               loginFeedback.setText("Incorrect username or password");
+                       }else{
                                this.setVisible(false);
-                               Frame a = new OwnerMenuGUI(owner);
-                               a.setVisible(true);
-               }       
-
+                               Frame a = new OwnerMenuGUI(acc.getOwner());
+                               a.setVisible(true);             
+                       }
+               }
+               
        }
-
 }  // @jve:decl-index=0:visual-constraint="222,33"
 
index 0fc99a9..e7bd38d 100644 (file)
@@ -133,6 +133,7 @@ public class ModifyHouseGUI extends JFrame {
                                                                                lRooms_f.getText()), new Integer(
                                                                                parkings_f.getText())));
                                HouseManager hm = new HouseManager();
+
                                if (hm.registerNewHouse(newRh)) {
                                        feedback.setText("House properly modified");
                                } else
index 288b011..842b818 100644 (file)
@@ -17,6 +17,7 @@ import javax.swing.SwingConstants;
 import javax.swing.UIManager;
 
 import configuration.ConfigXML;
+import domain.Administrator;
 
 
 public class StartWindow extends JFrame {
@@ -94,6 +95,7 @@ public class StartWindow extends JFrame {
                addWindowListener(new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
+
                                System.exit(1);
                        }
                });
index f1c19cf..dd728fe 100644 (file)
@@ -19,6 +19,7 @@ import javax.swing.table.DefaultTableModel;
 import businessLogic.AdminManager;
 import businessLogic.HouseManager;
 import businessLogic.HouseManagerInterface;
+import domain.Administrator;
 import domain.RuralHouse;
 
 public class listOfAdditionRequestsGUI extends JFrame {
@@ -86,6 +87,7 @@ public class listOfAdditionRequestsGUI extends JFrame {
                                        hm.registerNewHouse(rh);
                                        houses.remove(rh);
                                        am.removeHouseAdditionRequests(rh);
+                                       Administrator.saveInstance();
                                }
                        }
                });
index acad7bf..da70439 100644 (file)
@@ -19,6 +19,7 @@ import javax.swing.table.DefaultTableModel;
 import businessLogic.AdminManager;
 import businessLogic.HouseManager;
 import businessLogic.HouseManagerInterface;
+import domain.Administrator;
 import domain.RuralHouse;
 
 public class listOfRemovalRequestsGUI extends JFrame {
@@ -87,6 +88,7 @@ public class listOfRemovalRequestsGUI extends JFrame {
                                        hm.removeHouse(rh, rh.getOwner());
                                        houses.remove(rh);
                                        am.removeHouseDeletionRequests(rh);
+                                       Administrator.saveInstance();
                                }
                        }
                });