Subversion Repositories WebE

Rev

Rev 18 | 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 {
19 moos 13
 
18 moos 14
        @SessionTarget
15
        Session session;
16
        @TransactionTarget
17
        Transaction transaction;
18
 
19
        @SuppressWarnings("unchecked")
20
        @Override
21
        public List<User> listUser() { 
22
                List<User> courses = null;
23
                try {
24
                        courses = session.createQuery("from User").list();
25
                } catch (Exception e) {
26
                        e.printStackTrace();
27
                }
28
                return courses;
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();
38
                }
39
        }
19 moos 40
 
41
        /**
42
         * Returns a single user with this user name (used for login)
43
         * @param username: String - entire user name
44
         * @return User: Returns a user object if something is found. If not, null is returned
45
         */
46
        public User searchUsername(String username) {
47
                User user = null;
48
 
49
                try {
50
                        user = (User) session.createQuery(
51
                                        "FROM User " +
52
                                        "WHERE username = :username")
53
                                        .setParameter("username", username)
54
                                        .uniqueResult();
55
                } catch (Exception e) {
56
                        //TODO: Log error
57
                }
58
                return user;
59
        }
18 moos 60
}