1
2
3
4
5
6 package net.sf.mindoro.dao.hibernate;
7
8 import java.util.List;
9
10 import net.sf.hibernate.Hibernate;
11 import net.sf.mindoro.dao.UserDao;
12 import net.sf.mindoro.model.SystemUser;
13
14 import org.springframework.orm.hibernate.support.HibernateDaoSupport;
15
16 /***
17 * Hibernate implementation of UserDao
18 *
19 * @author aisrael
20 */
21 public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
22
23 /***
24 * @param login
25 * user login
26 * @return SystemUser, or null
27 */
28 public final SystemUser findUserByLogin(final String login) {
29 final List users = getHibernateTemplate().find("from SystemUser user where user.login = ?", login,
30 Hibernate.STRING);
31 if (users.size() != 1) {
32 return null;
33 } else {
34 return (SystemUser) users.get(0);
35 }
36 }
37
38 /***
39 * (non-Javadoc)
40 *
41 * @see net.sf.mindoro.dao.UserDao#listUsers()
42 */
43 public final List listUsers() {
44 return getHibernateTemplate().find("from SystemUser");
45 }
46
47 /***
48 * (non-Javadoc)
49 *
50 * @see net.sf.mindoro.dao.UserDao#newUser(java.lang.String,
51 * java.lang.String)
52 */
53 public final SystemUser newUser(final String login, final String passwordHash) {
54 final SystemUser user = new SystemUser();
55 user.setLogin(login);
56 user.setPasswordHash(passwordHash);
57 getHibernateTemplate().save(user);
58 return user;
59 }
60
61 /***
62 * (non-Javadoc)
63 *
64 * @see net.sf.mindoro.dao.UserDao#deleteUser(net.sf.mindoro.model.SystemUser)
65 */
66 public final void deleteUser(final SystemUser user) {
67 getHibernateTemplate().delete(user);
68 }
69
70 }