Subversion Repositories WebE

Rev

Rev 27 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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