Controller Struktur angepasst
[staff/due1/sed-hs15-srs-purple.git] / src / main / java / ch / bfh / ti / srs / controller / Controller.java
index 662253d..4a81f05 100644 (file)
@@ -31,15 +31,16 @@ import ch.bfh.ti.srs.dataschema.User;
  */\r
 public class Controller {\r
        protected DataHandler dh;\r
-       protected User currentUser;\r
+       protected SessionController sc;\r
 \r
+       \r
        /**\r
         * Sets the <code>DataHandler</code> implementation for this Controller,\r
         * must be set before using all other methods!\r
         * @param dh\r
         *            DataHandler implementation (i.e. DataHandlerForExcel)\r
         */\r
-       public Controller(DataHandler dh) {\r
+       public Controller(DataHandler dh, SessionController sc) {\r
                this.dh = dh;\r
        }\r
 \r
@@ -52,48 +53,6 @@ public class Controller {
        public void setDataHandler(DataHandler dh) {\r
                this.dh = dh;\r
        }\r
-       \r
-       /**\r
-        * Tries to log in a <code>User</code> with the given credentials\r
-        * @param userName\r
-        *            user name\r
-        * @param password\r
-        *            the stored password for the given user name\r
-        * @return <code>True</code> if the user could log in successfully,\r
-        *         <code>False</code> either the username or the password was not\r
-        *         correct.\r
-        * @throws Exception\r
-        *             no <code>DataHandler</code> set\r
-        * @throws AlreadyBoundException\r
-        *             a <code>User</code> is already logged in\r
-        */\r
-       public boolean logIn(String userName, String password) throws Exception {\r
-               if (dh == null)\r
-                       throw new Exception("No DataHandler set");\r
-               if (currentUser != null)\r
-                       throw new AlreadyBoundException("A user is already logged in");\r
-               User tempUser = dh.findUser(userName);\r
-               if (tempUser == null || !tempUser.checkPassword(password))\r
-                       return false;\r
-               else {\r
-                       currentUser = tempUser;\r
-                       return true;\r
-               }\r
-       }\r
-\r
-       /**\r
-        * Logs out the current logged user\r
-        * @throws Exception\r
-        *             either no <code>DataHandler</code> is set or no user is\r
-        *             logged in\r
-        */\r
-       public void logOut() throws Exception {\r
-               if (dh == null)\r
-                       throw new Exception("No DataHandler set");\r
-               if (currentUser == null)\r
-                       throw new Exception("No user is logged in");\r
-               currentUser = null;\r
-       }\r
 \r
        /**\r
         * Registers a new user to the current DataHandler\r
@@ -153,11 +112,11 @@ public class Controller {
                        throw new Exception("dateRange must be defined");\r
 \r
                // Could be swapped out to private method for better performance (just\r
-               // check currentUser once)\r
+               // check sc.getLoggedUser() once)\r
                // and easier code maintenance\r
                Map<Reservation, Boolean> returnSet = new HashMap<Reservation, Boolean>();\r
                for (Reservation reservation : dh.overlaps(dateRange)) {\r
-                       returnSet.put(reservation, reservation.getUser().getUserName().equals(currentUser.getUserName()));\r
+                       returnSet.put(reservation, reservation.getUser().getUserName().equals(sc.getLoggedUser().getUserName()));\r
                }\r
                return returnSet;\r
        }\r
@@ -180,11 +139,11 @@ public class Controller {
                }\r
 \r
                // Could be swapped out to private method for better performance (just\r
-               // check currentUser once)\r
+               // check sc.getLoggedUser() once)\r
                // and easier code maintenance\r
                Map<Reservation, Boolean> returnSet = new HashMap<Reservation, Boolean>();\r
                for (Reservation reservation : dh.userReservations(user)) {\r
-                       returnSet.put(reservation, reservation.getUser().getUserName().equals(currentUser.getUserName()));\r
+                       returnSet.put(reservation, reservation.getUser().getUserName().equals(sc.getLoggedUser().getUserName()));\r
                }\r
                return returnSet;\r
        }\r
@@ -226,11 +185,11 @@ public class Controller {
                        throw new IllegalArgumentException("groupId has to be defined");\r
 \r
                // Could be swapped out to private method for better performance (just\r
-               // check currentUser once)\r
+               // check sc.getLoggedUser() once)\r
                // and easier code maintenance\r
                Map<Reservation, Boolean> returnSet = new HashMap<Reservation, Boolean>();\r
                for (Reservation reservation : dh.findGroupReservations(groupId)) {\r
-                       returnSet.put(reservation, reservation.getUser().getUserName().equals(currentUser.getUserName()));\r
+                       returnSet.put(reservation, reservation.getUser().getUserName().equals(sc.getLoggedUser().getUserName()));\r
                }\r
                return returnSet;\r
        }\r
@@ -238,7 +197,7 @@ public class Controller {
        /**\r
         * Makes a reservation in the current set DataHandler\r
         * @param user\r
-        *            user owning the reservation, if null currentUser is set\r
+        *            user owning the reservation, if null sc.getLoggedUser() is set\r
         * @param resource\r
         *            resource to reserve\r
         * @param dateRangeList\r
@@ -257,9 +216,9 @@ public class Controller {
        public Set<Reservation> makeReservation(User user, Resource resource, List<DateRange> dateRangeList, String remark)\r
                        throws Exception {\r
                if (user == null) {\r
-                       if (currentUser == null)\r
+                       if (sc.getLoggedUser() == null)\r
                                throw new IllegalArgumentException("User must be defined if no user is logged in");\r
-                       user = currentUser;\r
+                       user = sc.getLoggedUser();\r
                }\r
                if (resource == null)\r
                        throw new IllegalArgumentException("Resource must be definded");\r