1 package org.apache.fulcrum.security.model.basic;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.fulcrum.security.acl.AccessControlList;
22 import org.apache.fulcrum.security.entity.User;
23 import org.apache.fulcrum.security.model.ACLFactory;
24 import org.apache.fulcrum.security.model.basic.entity.BasicUser;
25 import org.apache.fulcrum.security.spi.AbstractManager;
26 import org.apache.fulcrum.security.util.GroupSet;
27 import org.apache.fulcrum.security.util.UnknownEntityException;
28
29
30
31
32
33
34
35
36 public class BasicACLFactory extends AbstractManager implements ACLFactory
37 {
38
39
40
41
42
43
44
45
46
47
48
49
50
51 private BasicAccessControlListImpl getAclInstance(GroupSet groupSet) throws UnknownEntityException
52 {
53 BasicAccessControlListImpl accessControlList;
54
55 try
56 {
57 accessControlList = new BasicAccessControlListImpl(groupSet);
58 }
59 catch (Exception e)
60 {
61 throw new UnknownEntityException("Failed to instantiate an ACL implementation object", e);
62 }
63
64 return accessControlList;
65 }
66
67
68
69
70 public <T extends AccessControlList> T getAccessControlList(User user)
71 {
72 GroupSet groupSet = ((BasicUser) user).getGroups();
73
74 try
75 {
76 @SuppressWarnings("unchecked")
77 T aclInstance = (T) getAclInstance(groupSet);
78 return aclInstance;
79 }
80 catch (UnknownEntityException uue)
81 {
82 throw new RuntimeException(uue.getMessage(), uue);
83 }
84 }
85 }