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