View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.dao.hibernate;
24  
25  import java.util.List;
26  
27  import com.gisgraphy.dao.RoleDao;
28  import com.gisgraphy.model.Role;
29  
30  /**
31   * This class interacts with Spring's HibernateTemplate to save/delete and
32   * retrieve Role objects.
33   * 
34   * @author <a href="mailto:bwnoll@gmail.com">Bryan Noll</a>
35   */
36  public class RoleDaoHibernate extends GenericDaoHibernate<Role, Long> implements
37  	RoleDao {
38  
39      /**
40       * Constructor to create a Generics-based version using Role as the entity
41       */
42      public RoleDaoHibernate() {
43  	super(Role.class);
44      }
45  
46      /**
47       * {@inheritDoc}
48       */
49      public Role getRoleByName(String rolename) {
50  	List<?> roles = getHibernateTemplate().find("from Role where name=?",
51  		rolename);
52  	if (roles.isEmpty()) {
53  	    return null;
54  	} else {
55  	    return (Role) roles.get(0);
56  	}
57      }
58  
59      /**
60       * {@inheritDoc}
61       */
62      public void removeRole(String rolename) {
63  	Object role = getRoleByName(rolename);
64  	getHibernateTemplate().delete(role);
65      }
66  }