From: camjan Date: Wed, 15 Apr 2015 15:47:17 +0000 (+0200) Subject: Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code X-Git-Url: https://xp-dev.com/git/RRRRHHHH_Code/commitdiff_plain/ba6020dbbdae8fddc57edd4723eb0b3a4a530e14?hp=5761bc38726d885d816d437f153fdb076fd5ed54 Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code Conflicts: ruralHouses/src/dataAccess/DB4oManager.java ruralHouses/src/gui/ModifyHouseGUI.java --- diff --git a/ruralHouses/src/businessLogic/LoginManager.java b/ruralHouses/src/businessLogic/LoginManager.java index 72ce86b..b0aadd8 100644 --- a/ruralHouses/src/businessLogic/LoginManager.java +++ b/ruralHouses/src/businessLogic/LoginManager.java @@ -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 = 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; } + + } diff --git a/ruralHouses/src/businessLogic/LoginManagerInterface.java b/ruralHouses/src/businessLogic/LoginManagerInterface.java index b3362e0..682b500 100644 --- a/ruralHouses/src/businessLogic/LoginManagerInterface.java +++ b/ruralHouses/src/businessLogic/LoginManagerInterface.java @@ -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); + diff --git a/ruralHouses/src/dataAccess/DB4oManager.java b/ruralHouses/src/dataAccess/DB4oManager.java index a2bcfde..eb80b86 100644 --- a/ruralHouses/src/dataAccess/DB4oManager.java +++ b/ruralHouses/src/dataAccess/DB4oManager.java @@ -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[] getAdminData(){ + if (c.isDatabaseLocal() == false) + openSDB(); + else + openDB(); + LinkedList[] ret = new LinkedList[2]; + + try { + + List admL = db.query(new Predicate(){ + 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 admL = db.query(new Predicate(){ + 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 result = db.queryByExample(proto); Vector accounts = new Vector(); while (result.hasNext()) @@ -441,4 +512,6 @@ public class DB4oManager { } } + + } diff --git a/ruralHouses/src/domain/Account.java b/ruralHouses/src/domain/Account.java index 795f739..e0727a1 100644 --- a/ruralHouses/src/domain/Account.java +++ b/ruralHouses/src/domain/Account.java @@ -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; } diff --git a/ruralHouses/src/domain/Administrator.java b/ruralHouses/src/domain/Administrator.java index 15d5e48..6102430 100644 --- a/ruralHouses/src/domain/Administrator.java +++ b/ruralHouses/src/domain/Administrator.java @@ -2,13 +2,42 @@ package domain; import java.util.LinkedList; +import dataAccess.DB4oManager; + public class Administrator { - private static LinkedList addRequest = new LinkedList(); - private static LinkedList removeRequest = new LinkedList(); + private static LinkedList addRequest; + private static LinkedList removeRequest; private Administrator(){ + addRequest = new LinkedList(); + removeRequest = new LinkedList(); } + public static Administrator giveAdmin(){ + return new Administrator(); + } + + public static void getInstance(){ + try { + DB4oManager db4o = DB4oManager.getInstance(); + LinkedList[] 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 getAddRequest() { return addRequest; } @@ -16,4 +45,12 @@ public class Administrator { return removeRequest; } + public static void setAddRequest(LinkedList addRequest) { + Administrator.addRequest = addRequest; + } + + public static void setRemoveRequest(LinkedList removeRequest) { + Administrator.removeRequest = removeRequest; + } + } diff --git a/ruralHouses/src/gui/AdminMenuGUI.java b/ruralHouses/src/gui/AdminMenuGUI.java index 5408e60..7062a21 100644 --- a/ruralHouses/src/gui/AdminMenuGUI.java +++ b/ruralHouses/src/gui/AdminMenuGUI.java @@ -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); diff --git a/ruralHouses/src/gui/LoginGUI.java b/ruralHouses/src/gui/LoginGUI.java index 7e8ec11..db04aff 100644 --- a/ruralHouses/src/gui/LoginGUI.java +++ b/ruralHouses/src/gui/LoginGUI.java @@ -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" diff --git a/ruralHouses/src/gui/ModifyHouseGUI.java b/ruralHouses/src/gui/ModifyHouseGUI.java index 0fc99a9..e7bd38d 100644 --- a/ruralHouses/src/gui/ModifyHouseGUI.java +++ b/ruralHouses/src/gui/ModifyHouseGUI.java @@ -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 diff --git a/ruralHouses/src/gui/StartWindow.java b/ruralHouses/src/gui/StartWindow.java index 288b011..842b818 100644 --- a/ruralHouses/src/gui/StartWindow.java +++ b/ruralHouses/src/gui/StartWindow.java @@ -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); } }); diff --git a/ruralHouses/src/gui/listOfAdditionRequestsGUI.java b/ruralHouses/src/gui/listOfAdditionRequestsGUI.java index f1c19cf..dd728fe 100644 --- a/ruralHouses/src/gui/listOfAdditionRequestsGUI.java +++ b/ruralHouses/src/gui/listOfAdditionRequestsGUI.java @@ -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(); } } }); diff --git a/ruralHouses/src/gui/listOfRemovalRequestsGUI.java b/ruralHouses/src/gui/listOfRemovalRequestsGUI.java index acad7bf..da70439 100644 --- a/ruralHouses/src/gui/listOfRemovalRequestsGUI.java +++ b/ruralHouses/src/gui/listOfRemovalRequestsGUI.java @@ -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(); } } });