getLoggedUserCopy() added
[staff/due1/sed-hs15-srs-purple.git] / src / main / java / ch / bfh / ti / srs / controller / UserController.java
index 6c954e7..97b5d13 100644 (file)
@@ -15,6 +15,7 @@ import java.util.UUID;
 import ch.bfh.ti.daterange.DateRange;\r
 import ch.bfh.ti.srs.datahandler.DataHandler;\r
 import ch.bfh.ti.srs.dataschema.Reservation;\r
+import ch.bfh.ti.srs.dataschema.Resource;\r
 import ch.bfh.ti.srs.dataschema.User;\r
 \r
 /**\r
@@ -27,7 +28,6 @@ public class UserController {
        public UserController(){\r
        }\r
        \r
-       \r
        /**\r
         * Sets the DataHandler implementation for this Controller, must be set before using all other methods!\r
         * \r
@@ -89,52 +89,63 @@ public class UserController {
                dh.addUser(newUser);\r
        }\r
 \r
-\r
        /**\r
-        * Gets the username of the current user\r
+        * @deprecated use getLoggedUser\r
+        * Gets the username of the current user, use getLoggedUser\r
         * \r
         * @return      Username        unique username\r
         * @throws      Exception       no datahandler is set\r
         */\r
+       @Deprecated \r
        public String getLoggedUserName() throws Exception{\r
                if(currentUser == null) throw new Exception("No user is logged in");\r
                return currentUser.getUserName();\r
        }\r
 \r
-\r
        /**\r
+        * @deprecated use getLoggedUser\r
         * Gets the mail address of the current user\r
         * \r
         * @return      Mail address\r
         * @throws      Exception       no user is logged in\r
         */\r
+       @Deprecated\r
        public String getLoggedMail() throws Exception{\r
                if(currentUser == null) throw new Exception("No user is logged in");\r
                return currentUser.getMail();\r
        }\r
 \r
        /**\r
+        * @deprecated use getLoggedUser\r
         * Gets the first name of the current user\r
         * \r
         * @return      First name\r
         * @throws      Exception       no user is logged in\r
         */\r
-       public String getLoggedName() throws Exception {\r
+       @Deprecated\r
+       public String getLoggedName() throws Exception{\r
                if(currentUser == null) throw new Exception("No user is logged in");\r
                return currentUser.getName();\r
        }\r
 \r
        /**\r
+        * @deprecated use getLoggedUser\r
         * Gets the last name of the current user\r
         * \r
         * @return      Last name\r
         * @throws      Exception       no user is logged in\r
         */\r
-       public String getLoggedLastname() throws Exception {\r
+       @Deprecated\r
+       public String getLoggedLastname() throws Exception{\r
                if(currentUser == null) throw new Exception("No user is logged in");\r
                return currentUser.getLastname();\r
        }\r
        \r
+       public User getLoggedUserCopy() throws CloneNotSupportedException{\r
+               if(currentUser == null) return null;\r
+               return currentUser.clone();\r
+       }\r
+       \r
        /**\r
         * Returns all reservations overlapping the given dateRange in a List\r
         * \r
@@ -203,4 +214,18 @@ public class UserController {
                }\r
                return dh.findGroupReservations(reservation.getGroupId());\r
        }\r
+       \r
+       public void makeReservation(User user, Resource resource, List<DateRange> dateRangeList, String remark) throws Exception\r
+       {\r
+               if(user == null) user = currentUser;\r
+               if(resource == null) throw new Exception("Resource must be definded");\r
+               if(dateRangeList == null) throw new Exception("dateRangeList can not be null");\r
+               if(dateRangeList.isEmpty()) throw new Exception("dateRangeList empty");\r
+               \r
+               UUID groupId = null;\r
+               if(dateRangeList.size() > 1) groupId = UUID.randomUUID();\r
+               for (DateRange dateRange : dateRangeList) {\r
+                       dh.addReservation(new Reservation(groupId, user, resource, dateRange, remark));\r
+               }\r
+       }\r
 }\r