PermissionDAOImpl.java
- package org.itracker.persistence.dao;
- import org.hibernate.HibernateException;
- import org.hibernate.Query;
- import org.itracker.model.Permission;
- import org.itracker.model.PermissionType;
- import org.itracker.model.Project;
- import org.itracker.model.User;
- import java.util.List;
- public class PermissionDAOImpl extends BaseHibernateDAOImpl<Permission>
- implements PermissionDAO {
- @SuppressWarnings("unchecked")
- public List<Permission> findByUserId(Integer userId) {
- List<Permission> permissions;
- if (getSession().get(User.class, userId) == null) {
- throw new NoSuchEntityException("User " + userId + " not found.");
- }
- try {
- Query query = getSession().getNamedQuery(
- "PermissionsByUserQuery");
- query.setInteger("userId", userId);
- permissions = query.list();
- } catch (HibernateException ex) {
- throw convertHibernateAccessException(ex);
- }
- return permissions;
- }
- @Deprecated
- @SuppressWarnings("unchecked")
- public List<Permission> findByProjectIdAndPermission(Integer projectId,
- int permissionType) {
- return findByProjectIdAndPermission(projectId, PermissionType.valueOf(permissionType));
- }
- @Override
- public List<Permission> findByProjectIdAndPermission(Integer projectId, PermissionType permissionType) {
- List<Permission> permissions;
- if (getSession().get(Project.class, projectId) == null) {
- throw new NoSuchEntityException("Project " + projectId + " not found.");
- }
- try {
- Query query = getSession().getNamedQuery(
- "PermissionsByProjectAndTypeQuery");
- query.setInteger("projectId", projectId);
- query.setParameter("permissionType", permissionType);
- permissions = query.list();
- } catch (HibernateException ex) {
- throw convertHibernateAccessException(ex);
- }
- return permissions;
- }
- }