}
@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
}
return null;
}
+
+
}
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);
+
//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;
import configuration.ConfigXML;
import domain.Account;
+import domain.Administrator;
import domain.Booking;
import domain.HouseFeatures;
import domain.Offer;
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();
}
}
}
}
+
+ 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
*
openDB();
Booking bok = null;
+
try {
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())
}
}
+
+
}
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;
this.username = usr;
this.password = pass;
this.owner = ow;
- this.admin = null;
+ this.admin = false;
}
return owner;
}
- public Administrator getAdmin() {
+ public boolean getAdmin() {
return admin;
}
- public void setAdmin(Administrator admin) {
+ public void setAdmin(boolean admin) {
this.admin = admin;
}
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;
}
return removeRequest;
}
+ public static void setAddRequest(LinkedList<RuralHouse> addRequest) {
+ Administrator.addRequest = addRequest;
+ }
+
+ public static void setRemoveRequest(LinkedList<RuralHouse> removeRequest) {
+ Administrator.removeRequest = removeRequest;
+ }
+
}
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
+import domain.Administrator;
+
public class AdminMenuGUI extends JFrame {
/**
public AdminMenuGUI() {
-
+ Administrator.getInstance();
this.setTitle("Owner Menu");
this.getContentPane().setLayout(null);
setBounds(100, 100, 450, 473);
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;
private JPasswordField passwordField;
private LoginManagerInterface loginManager = new LoginManager();
private JLabel loginFeedback;
-
+ private final ButtonGroup buttonGroup = new ButtonGroup();
public LoginGUI() {
super();
initialize();
}
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"
lRooms_f.getText()), new Integer(
parkings_f.getText())));
HouseManager hm = new HouseManager();
+
if (hm.registerNewHouse(newRh)) {
feedback.setText("House properly modified");
} else
import javax.swing.UIManager;
import configuration.ConfigXML;
+import domain.Administrator;
public class StartWindow extends JFrame {
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
+
System.exit(1);
}
});
import businessLogic.AdminManager;
import businessLogic.HouseManager;
import businessLogic.HouseManagerInterface;
+import domain.Administrator;
import domain.RuralHouse;
public class listOfAdditionRequestsGUI extends JFrame {
hm.registerNewHouse(rh);
houses.remove(rh);
am.removeHouseAdditionRequests(rh);
+ Administrator.saveInstance();
}
}
});
import businessLogic.AdminManager;
import businessLogic.HouseManager;
import businessLogic.HouseManagerInterface;
+import domain.Administrator;
import domain.RuralHouse;
public class listOfRemovalRequestsGUI extends JFrame {
hm.removeHouse(rh, rh.getOwner());
houses.remove(rh);
am.removeHouseDeletionRequests(rh);
+ Administrator.saveInstance();
}
}
});