1 package org.apache.fulcrum.security.torque.dynamic;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import java.sql.Connection;
21 import java.util.List;
22
23 import org.apache.fulcrum.security.entity.Permission;
24 import org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager;
25 import org.apache.fulcrum.security.torque.om.TorqueDynamicPermission;
26 import org.apache.fulcrum.security.torque.om.TorqueDynamicPermissionPeer;
27 import org.apache.torque.NoRowsException;
28 import org.apache.torque.TooManyRowsException;
29 import org.apache.torque.TorqueException;
30 import org.apache.torque.criteria.Criteria;
31
32
33
34
35
36
37 public class TorqueDynamicPermissionManagerImpl extends TorqueAbstractPermissionManager
38 {
39
40
41
42 private static final long serialVersionUID = -4831283855331325456L;
43
44
45
46
47 @SuppressWarnings("unchecked")
48 protected <T extends Permission> List<T> doSelectAllPermissions(Connection con) throws TorqueException
49 {
50 Criteria criteria = new Criteria(TorqueDynamicPermissionPeer.DATABASE_NAME);
51
52 return (List<T>)TorqueDynamicPermissionPeer.doSelect(criteria, con);
53 }
54
55
56
57
58 @SuppressWarnings("unchecked")
59 protected <T extends Permission> T doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
60 {
61 return (T) TorqueDynamicPermissionPeer.retrieveByPK(id, con);
62 }
63
64
65
66
67 @SuppressWarnings("unchecked")
68 protected <T extends Permission> T doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
69 {
70 Criteria criteria = new Criteria(TorqueDynamicPermissionPeer.DATABASE_NAME);
71 criteria.where(TorqueDynamicPermissionPeer.PERMISSION_NAME, name);
72 criteria.setIgnoreCase(true);
73 criteria.setSingleRecord(true);
74
75 List<TorqueDynamicPermission> permissions = TorqueDynamicPermissionPeer.doSelect(criteria, con);
76
77 if (permissions.isEmpty())
78 {
79 throw new NoRowsException(name);
80 }
81
82 return (T) permissions.get(0);
83 }
84 }