Subversion Repositories WebE

Rev

Rev 26 | Only display areas with differences | Regard 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
 
-