DB server side improved some problems when showing bookings remain
[RRRRHHHH_Code] / ruralHouses / src / businessLogic / LoginManager.java
index da6078b..97dd009 100644 (file)
@@ -1,44 +1,50 @@
 package businessLogic;
 
-import gui.StartWindow;
-
 import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
 import java.util.Vector;
 
+import common.LoginInterface;
+
 import dataAccess.DB4oManager;
 import domain.Account;
-import domain.Owner;
 
-public class LoginManager implements LoginManagerInterface {
-       //owners to be separated to accounts later on
+public class LoginManager extends UnicastRemoteObject implements LoginInterface {
+
+       /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
        DB4oManager dbMngr;
-       
-       
-       public LoginManager() {
-               
+
+       public LoginManager() throws RemoteException {
+               super();
                try {
                        dbMngr = DB4oManager.getInstance();
                } catch (Exception e) {
-                       // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
 
-
        @Override
-       public Owner checkCredentials(String usr, String pwd) {
+       public Account checkCredentials(String usr, String pwd) {
+               Account ac = new Account(SecurityManager.getInstance().calculateHash(
+                               usr));
                try {
-                       Vector<Account> account = dbMngr.getAccount(usr, pwd);
-                       if(account.isEmpty()) return null;
-                       else return account.get(0).getOwner();
-                       
+                       Vector<Account> account = dbMngr.getAccount(ac);
+                       if (account.isEmpty())
+                               return null;
+                       if (SecurityManager.getInstance().isExpectedPassword(
+                                       pwd.toCharArray(), account.get(0).getSalt(),
+                                       account.get(0).getPassword())) {
+
+                               return account.get(0);
+                       }
+                       return null;
+
                } catch (Exception e) {
-                       // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                return null;
        }
-       
-       
-        
 }