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.ValidationRecord;
24  import org.promotego.dao.interfaces.ValidationRecordDao;
25  import org.springframework.orm.hibernate3.HibernateTemplate;
26  
27  public class HibernateValidationRecordDao extends HibernateDaoSupport<ValidationRecord> implements ValidationRecordDao
28  {
29      public String getFindAllQuery() { return "From ValidationRecord"; }
30      public String getIdQuery() { return "From ValidationRecord where id=?"; }
31      public String getCountQuery() { return "Select count(*) from ValidationRecord"; }
32      
33      public ValidationRecord getRecordByValidationKey(String validationKey)
34      {
35          HibernateTemplate ht = getHibernateTemplate();
36  
37          @SuppressWarnings("unchecked")
38              List<ValidationRecord> foundRecords = ht.find("From ValidationRecord where validationKey=?", validationKey);
39          
40          assert foundRecords.size() < 2 : "ValidationKey column is not unique";
41          
42          if (foundRecords.size() == 0)
43          {
44              return null;
45          }
46          else
47          {
48              return foundRecords.get(0);
49          }
50      }
51  }