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.Group;
24 import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
25 import org.apache.fulcrum.security.torque.om.TorqueDynamicGroup;
26 import org.apache.fulcrum.security.torque.om.TorqueDynamicGroupPeer;
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 TorqueDynamicGroupManagerImpl extends TorqueAbstractGroupManager
38 {
39
40
41
42 @SuppressWarnings("unchecked")
43 protected <T extends Group> List<T> doSelectAllGroups(Connection con) throws TorqueException
44 {
45 Criteria criteria = new Criteria(TorqueDynamicGroupPeer.DATABASE_NAME);
46
47 return (List<T>)TorqueDynamicGroupPeer.doSelect(criteria, con);
48 }
49
50
51
52
53 @SuppressWarnings("unchecked")
54 protected <T extends Group> T doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
55 {
56 return (T) TorqueDynamicGroupPeer.retrieveByPK(id, con);
57 }
58
59
60
61
62 @SuppressWarnings("unchecked")
63 protected <T extends Group> T doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
64 {
65 Criteria criteria = new Criteria(TorqueDynamicGroupPeer.DATABASE_NAME);
66 criteria.where(TorqueDynamicGroupPeer.GROUP_NAME, name);
67 criteria.setIgnoreCase(true);
68 criteria.setSingleRecord(true);
69
70 List<TorqueDynamicGroup> groups = TorqueDynamicGroupPeer.doSelect(criteria, con);
71
72 if (groups.isEmpty())
73 {
74 throw new NoRowsException(name);
75 }
76
77 return (T) groups.get(0);
78 }
79 }