Subversion Repositories WebE

Rev

Rev 19 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
18 moos 1
package ch.ffhs.webE.dao;
2
 
3
import java.util.List;
4
 
5
import org.hibernate.Session;
6
import org.hibernate.Transaction;
7
 
8
import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget;
9
import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget;
10
import ch.ffhs.webE.domain.*;
11
 
12
public class UserDAOImpl implements UserDAO {
22 moos 13
 
18 moos 14
        @SessionTarget
15
        Session session;
16
        @TransactionTarget
17
        Transaction transaction;
18
 
19
        @SuppressWarnings("unchecked")
20
        @Override
22 moos 21
        public List<User> listUser() {
22
                List<User> user = null;
18 moos 23
                try {
22 moos 24
                        user = session.createQuery("from User").list();
18 moos 25
                } catch (Exception e) {
26
                        e.printStackTrace();
22 moos 27
                }
28
                return user;
18 moos 29
        }
30
 
31
        @Override
32
        public void saveUser(User user) {
33
                try {
34
                        session.save(user);
35
                } catch (Exception e) {
36
                        transaction.rollback();
37
                        e.printStackTrace();
22 moos 38
                }
18 moos 39
        }
22 moos 40
 
19 moos 41
        /**
22 moos 42
         * Used to delete a user.
43
         */
44
        @Override
45
        public void deleteUser(int userId) {
46
                try {
47
                        User user = (User) session.get(User.class, userId);
48
                        session.delete(user);
49
                } catch (Exception e) {
50
                        transaction.rollback();
51
                        e.printStackTrace();
52
                }
53
        }
54
 
55
        /**
19 moos 56
         * Returns a single user with this user name (used for login)
22 moos 57
         *
58
         * @param username
59
         *            : String - entire user name
60
         * @return User: Returns a user object if something is found. If not, null
61
         *         is returned
19 moos 62
         */
63
        public User searchUsername(String username) {
64
                User user = null;
22 moos 65
 
19 moos 66
                try {
22 moos 67
                        user = (User) session
68
                                        .createQuery("FROM User " + "WHERE username = :username")
69
                                        .setParameter("username", username).uniqueResult();
19 moos 70
                } catch (Exception e) {
22 moos 71
                        // TODO: Log error
19 moos 72
                }
73
                return user;
74
        }
18 moos 75
}