View Javadoc

1   package org.itracker.persistence.dao;
2   
3   import java.util.List;
4   
5   import org.hibernate.HibernateException;
6   import org.hibernate.Query;
7   import org.itracker.model.Permission;
8   import org.itracker.model.Project;
9   import org.itracker.model.User;
10  
11  public class PermissionDAOImpl extends BaseHibernateDAOImpl<Permission> 
12          implements PermissionDAO {
13      
14      @SuppressWarnings("unchecked")
15      public List<Permission> findByUserId(Integer userId) {
16          List<Permission> permissions;
17          
18          if (getSession().get(User.class, userId) == null) {
19              throw new NoSuchEntityException("User " + userId + " not found.");
20          }
21          
22          try {
23              Query query = getSession().getNamedQuery(
24                      "PermissionsByUserQuery");
25              query.setInteger("userId", userId);
26              permissions = query.list();
27          } catch (HibernateException ex) {
28              throw convertHibernateAccessException(ex);
29          }
30          return permissions;
31      }
32      
33      @SuppressWarnings("unchecked")
34      public List<Permission> findByProjectIdAndPermission(Integer projectId, 
35              int permissionType) {
36          List<Permission> permissions;
37          
38          if (getSession().get(Project.class, projectId) == null) {
39              throw new NoSuchEntityException("Project " + projectId + " not found.");
40          }
41          
42          try {
43              Query query = getSession().getNamedQuery(
44                      "PermissionsByProjectAndTypeQuery");
45              query.setInteger("projectId", projectId);
46              query.setInteger("permissionType", permissionType);
47              permissions = query.list();
48          } catch (HibernateException ex) {
49              throw convertHibernateAccessException(ex);
50          }
51          return permissions;
52      }
53  
54  }