View Javadoc
1   /*
2    * Created on Jun 6, 2005
3    *
4    * Hibernate implementation of UserDao
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  }