1
2
3
4 package org.flowfuse.base.dao.hibernate;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8 import org.flowfuse.base.dao.UserDao;
9 import org.flowfuse.base.model.user.User;
10 import org.springframework.dao.IncorrectResultSizeDataAccessException;
11 import org.springframework.orm.ObjectRetrievalFailureException;
12
13 import java.util.List;
14
15 /***
16 * @author <a href="stefan@flowfuse.org">Stefan Kleineikenscheidt</a>,
17 * Flowfuse.org
18 * @version $Id: UserDaoHibernate.java,v 1.1 2005/11/20 15:02:02 skleinei Exp $
19 */
20 public class UserDaoHibernate extends BaseDaoHibernate implements UserDao {
21
22 /***
23 * RCS ID
24 */
25 public final static String rcsid = "$Id: UserDaoHibernate.java,v 1.1 2005/11/20 15:02:02 skleinei Exp $";
26
27 /***
28 * Logger
29 */
30 protected final Log logger = LogFactory.getLog(this.getClass());
31
32
33 public User getUser(Long id) {
34 User user = (User) getHibernateTemplate().get(User.class, id);
35
36 if (user == null) {
37 throw new ObjectRetrievalFailureException(User.class, id);
38 }
39
40 return user;
41 }
42
43 public User getUserByUserName(String username) {
44 List results = getHibernateTemplate().find(
45 "from User u where u.username=?", username);
46
47 if (results == null) {
48 throw new ObjectRetrievalFailureException(User.class, username);
49 }
50
51 if (results.size() == 0 || results.size() > 1) {
52 throw new IncorrectResultSizeDataAccessException(1, results.size());
53 }
54
55 return (User) results.get(0);
56 }
57
58 public void saveUser(User user) {
59 getHibernateTemplate().saveOrUpdate(user);
60 }
61
62 public void removeUser(Long id) {
63
64 getHibernateTemplate().delete(getUser(id));
65 }
66 }
67
68