DataHandlerForTestsTest added,
[staff/due1/sed-hs15-srs-purple.git] / src / main / java / ch / bfh / ti / srs / core / UserController.java
index c26f704..a3121e6 100644 (file)
@@ -16,10 +16,19 @@ import java.util.concurrent.ExecutionException;
 public class UserController {\r
        final String filePath = "test.xls";\r
        User currentUser;\r
-       DataHandler dc;\r
+       DataHandler dh;\r
        \r
-       public UserController() throws Exception {\r
-               dc = new DataHandlerForExcel(filePath);\r
+       public UserController(){\r
+       }\r
+       \r
+       \r
+       /**\r
+        * Sets the DataHandler implementation for this Controller, must be set before using all other methods!\r
+        * \r
+        * @param dh    DataHandler implementation (i.e. DataHandlerForExcel)\r
+        */\r
+       public void setDataHandler(DataHandler dh){\r
+               this.dh = dh;\r
        }\r
        \r
        /**\r
@@ -32,8 +41,9 @@ public class UserController {
         * @throws                      Exception\r
         */\r
        public boolean logIn(String userName, String password) throws Exception{\r
+               if(dh == null) throw new Exception("No DataHandler set");\r
                if(currentUser != null) throw new AlreadyBoundException("A user is already logged in");\r
-               User tempUser = dc.findUser(userName);\r
+               User tempUser = dh.findUser(userName);\r
                if(tempUser == null) return false;\r
                if(tempUser.checkPassword(password)){\r
                        currentUser = tempUser;\r
@@ -48,15 +58,73 @@ public class UserController {
         * @throws Exception \r
         */\r
        public void logOut() throws Exception{\r
+               if(dh == null) throw new Exception("No DataHandler set");\r
                if(currentUser == null) throw new Exception("No user is logged in");\r
                currentUser = null;\r
        }\r
        \r
+       /**\r
+        * Registers a new user to the current DataHandler\r
+        * \r
+        * @param userName              Username\r
+        * @param password              Plaintext password\r
+        * @param email                 E-Mail address\r
+        * @param name                  Name\r
+        * @param lastname              Lastname\r
+        * @throws Exception\r
+        */\r
        public void addUser(String userName, String password, String email, String name, String lastname) throws Exception{\r
+               if(dh == null) throw new Exception("No DataHandler set");\r
                User newUser = new User(userName,password);\r
                newUser.setMail(email);\r
                newUser.setName(name);\r
                newUser.setLastname(lastname);\r
-               dc.addUser(newUser);\r
+               dh.addUser(newUser);\r
+       }\r
+\r
+\r
+       /**\r
+        * Gets the username of the current user\r
+        * \r
+        * @return      Username\r
+        * @throws      Exception\r
+        */\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
+        * Gets the mail address of the current user\r
+        * \r
+        * @return      Mail address\r
+        * @throws      Exception\r
+        */\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
+        * Gets the first name of the current user\r
+        * \r
+        * @return      First name\r
+        * @throws      Exception\r
+        */\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
+        * Gets the last name of the current user\r
+        * \r
+        * @return      Last name\r
+        * @throws      Exception\r
+        */\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