Subversion Repositories WebE

Rev

Rev 22 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 22 Rev 26
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
}
76
 
116