Rev 26 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 26 | Rev 27 | ||
---|---|---|---|
1 | package ch.ffhs.webE.dao; |
1 | package ch.ffhs.webE.dao; |
2 | 2 | ||
3 | import java.util.ArrayList; |
3 | import java.util.ArrayList; |
4 | import java.util.List; |
4 | import java.util.List; |
5 | 5 | ||
6 | import org.hibernate.Session; |
6 | import org.hibernate.Session; |
7 | import org.hibernate.Transaction; |
7 | import org.hibernate.Transaction; |
8 | 8 | ||
9 | import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget; |
9 | import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget; |
10 | import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget; |
10 | import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget; |
11 | import ch.ffhs.webE.domain.*; |
11 | import ch.ffhs.webE.domain.*; |
12 | 12 | ||
13 | public class UserDAOImpl implements UserDAO |
13 | public class UserDAOImpl implements UserDAO |
14 | {
|
14 | {
|
15 | 15 | ||
16 | @SessionTarget |
16 | @SessionTarget |
17 | Session session;
|
17 | Session session;
|
18 | @TransactionTarget |
18 | @TransactionTarget |
19 | Transaction transaction;
|
19 | Transaction transaction;
|
20 | 20 | ||
21 | /**
|
21 | /**
|
22 | * Creates a list of all the registered users
|
22 | * Creates a list of all the registered users
|
23 | *
|
23 | *
|
24 | * @return an ArrayList with all the users - in case of a problem, an empty
|
24 | * @return an ArrayList with all the users - in case of a problem, an empty
|
25 | * list is returned
|
25 | * list is returned
|
26 | */
|
26 | */
|
27 | @SuppressWarnings("unchecked") |
27 | @SuppressWarnings("unchecked") |
28 | @Override |
28 | @Override |
29 | public List<User> listUser() |
29 | public List<User> listUser() |
30 | {
|
30 | {
|
31 | List<User> user = null; |
31 | List<User> user = null; |
32 | try
|
32 | try
|
33 | {
|
33 | {
|
34 | user = session.createQuery("from User").list(); |
34 | user = session.createQuery("from User").list(); |
35 | }
|
35 | }
|
36 | catch (Exception e) |
36 | catch (Exception e) |
37 | {
|
37 | {
|
38 | e.printStackTrace(); |
38 | e.printStackTrace(); |
39 | }
|
39 | }
|
40 | 40 | ||
41 | //If no user was checked, return an empty list to mitigate null pointer exceptions
|
41 | // If no user was checked, return an empty list to mitigate null pointer
|
- | 42 | // exceptions
|
|
42 | if (user == null) |
43 | if (user == null) |
43 | {
|
44 | {
|
44 | user = new ArrayList<User>(); |
45 | user = new ArrayList<User>(); |
45 | }
|
46 | }
|
46 | return user; |
47 | return user; |
47 | }
|
48 | }
|
48 | 49 | ||
49 | /**
|
50 | /**
|
50 | * Executes the query to save the user
|
51 | * Executes the query to save the user
|
51 | *
|
52 | *
|
52 | * @param User
|
53 | * @param User
|
53 | * Domain object to be saved
|
54 | * Domain object to be saved
|
54 | * @return void
|
55 | * @return void
|
55 | */
|
56 | */
|
56 | @Override |
57 | @Override |
57 | public void saveUser(User user) |
58 | public void saveOrUpdateUser(User user) |
58 | {
|
59 | {
|
59 | try
|
60 | try
|
60 | {
|
61 | {
|
61 | session.save(user); |
62 | session.saveOrUpdate(user); |
62 | }
|
63 | }
|
63 | catch (Exception e) |
64 | catch (Exception e) |
64 | {
|
65 | {
|
65 | transaction.rollback(); |
66 | transaction.rollback(); |
66 | e.printStackTrace(); |
67 | e.printStackTrace(); |
67 | }
|
68 | }
|
68 | }
|
69 | }
|
69 | 70 | ||
70 | /**
|
71 | /**
|
71 | * Used to delete a user.
|
72 | * Used to delete a user.
|
72 | *
|
73 | *
|
73 | * @param int userId
|
74 | * @param int userId
|
74 | */
|
75 | */
|
75 | @Override |
76 | @Override |
76 | public void deleteUser(int userId) |
77 | public void deleteUser(int userId) |
77 | {
|
78 | {
|
78 | try
|
79 | try
|
79 | {
|
80 | {
|
80 | User user = (User) session.get(User.class, userId); |
81 | User user = (User) session.get(User.class, userId); |
81 | session.delete(user); |
82 | session.delete(user); |
82 | }
|
83 | }
|
83 | catch (Exception e) |
84 | catch (Exception e) |
84 | {
|
85 | {
|
85 | transaction.rollback(); |
86 | transaction.rollback(); |
86 | e.printStackTrace(); |
87 | e.printStackTrace(); |
87 | }
|
88 | }
|
88 | }
|
89 | }
|
89 | 90 | ||
90 | /**
|
91 | /**
|
91 | * Returns a single user with this user name (used for login)
|
92 | * Returns a single user with this user name (used for login)
|
92 | *
|
93 | *
|
93 | * @param username
|
94 | * @param username
|
94 | * : String - entire user name
|
95 | * : String - entire user name
|
95 | * @return User: Returns a user object if something is found. If not, null
|
96 | * @return User: Returns a user object if something is found. If not, null
|
96 | * is returned
|
97 | * is returned
|
97 | */
|
98 | */
|
98 | public User searchUsername(String username) |
99 | public User searchUsername(String username) |
99 | {
|
100 | {
|
100 | User user = null; |
101 | User user = null; |
101 | 102 | ||
102 | //Exec query
|
103 | // Exec query
|
103 | try
|
104 | try
|
104 | {
|
105 | {
|
105 | user = (User) session |
106 | user = (User) session |
106 | .createQuery("FROM User " + "WHERE username = :username") |
107 | .createQuery("FROM User " + "WHERE username = :username") |
107 | .setParameter("username", username).uniqueResult(); |
108 | .setParameter("username", username).uniqueResult(); |
108 | }
|
109 | }
|
109 | catch (Exception e) |
110 | catch (Exception e) |
110 | {
|
111 | {
|
111 | // TODO: Log error
|
112 | // TODO: Log error
|
112 | }
|
113 | }
|
113 | return user; |
114 | return user; |
114 | }
|
115 | }
|
- | 116 | ||
- | 117 | /**
|
|
- | 118 | * Used to list a single user by Id.
|
|
- | 119 | */
|
|
- | 120 | @Override |
|
- | 121 | public User listUserById(int userId) |
|
- | 122 | {
|
|
- | 123 | User user = null; |
|
- | 124 | try
|
|
- | 125 | {
|
|
- | 126 | user = (User) session.get(User.class, userId); |
|
- | 127 | }
|
|
- | 128 | catch (Exception e) |
|
- | 129 | {
|
|
- | 130 | e.printStackTrace(); |
|
- | 131 | }
|
|
- | 132 | return user; |
|
- | 133 | }
|
|
115 | }
|
134 | }
|
116 | 135 |