View Javadoc

1   /*
2    * Copyright (C) 2007 Alf Mikula
3    * 
4    * This file is part of PromoteGo.
5    *
6    * PromoteGo is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * PromoteGo is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU General Public License
17   * along with PromoteGo.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.promotego.dao.hibernate;
20  
21  import java.util.List;
22  
23  import org.promotego.beans.User;
24  import org.promotego.dao.interfaces.UserDao;
25  import org.springframework.orm.hibernate3.HibernateTemplate;
26  
27  public class HibernateUserDao extends HibernateDaoSupport<User> implements UserDao
28  {
29      public String getFindAllQuery() { return "From User"; }
30      public String getIdQuery() { return "From User where id=?"; }
31      public String getCountQuery() { return "Select count(*) from User"; }
32      
33      public User getUserByUsername(String username)
34      {
35          HibernateTemplate ht = getHibernateTemplate();
36  
37          @SuppressWarnings("unchecked")
38              List<User> foundUsers = ht.find("From User where username=?", username);
39          
40          assert foundUsers.size() < 2 : "Username column is not unique";
41          
42          if (foundUsers.size() == 0)
43          {
44              return null;
45          }
46          else
47          {
48              return foundUsers.get(0);
49          }
50      }
51      
52      public User getUserByEmailAddress(String emailAddress)
53      {
54          HibernateTemplate ht = getHibernateTemplate();
55  
56          @SuppressWarnings("unchecked")
57              List<User> foundUsers = ht.find("From User where emailAddress=?", emailAddress);
58          
59          assert foundUsers.size() < 2 : "emailAddress column is not unique";
60          
61          if (foundUsers.size() == 0)
62          {
63              return null;
64          }
65          else
66          {
67              return foundUsers.get(0);
68          }
69      }
70  }