Subversion Repositories WebE

Rev

Rev 19 | Rev 26 | Go to most recent revision | 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
}