Class CachingPentahoEntryCollector
- java.lang.Object
-
- org.apache.jackrabbit.core.security.authorization.AccessControlObserver
-
- org.apache.jackrabbit.core.security.authorization.acl.EntryCollector
-
- org.apache.jackrabbit.core.security.authorization.acl.PentahoEntryCollector
-
- org.apache.jackrabbit.core.security.authorization.acl.CachingPentahoEntryCollector
-
- All Implemented Interfaces:
javax.jcr.observation.EventListener
,org.apache.jackrabbit.core.observation.SynchronousEventListener
,org.apache.jackrabbit.core.security.authorization.AccessControlConstants
public class CachingPentahoEntryCollector extends PentahoEntryCollector
CachingEntryCollector
extendsPentahoEntryCollector
by keeping a cache of ACEs per access controlled nodeId. This class is a copy of the one in trunk of Jackrabbit. Backported here for performance reasons.
-
-
Field Summary
Fields Modifier and Type Field Description static String
ENTRY_COLLECTOR
-
Fields inherited from class org.apache.jackrabbit.core.security.authorization.acl.EntryCollector
rootID, systemSession
-
Fields inherited from class org.apache.jackrabbit.core.security.authorization.AccessControlObserver
MOVE, POLICY_ADDED, POLICY_MODIFIED, POLICY_REMOVED
-
Fields inherited from interface org.apache.jackrabbit.core.security.authorization.AccessControlConstants
N_ACCESSCONTROL, N_POLICY, N_REPO_POLICY, NT_REP_ACCESS_CONTROL, NT_REP_ACCESS_CONTROLLABLE, NT_REP_ACE, NT_REP_ACL, NT_REP_DENY_ACE, NT_REP_GRANT_ACE, NT_REP_PRINCIPAL_ACCESS_CONTROL, NT_REP_REPO_ACCESS_CONTROLLABLE, P_GLOB, P_PRINCIPAL_NAME, P_PRIVILEGES
-
-
Constructor Summary
Constructors Constructor Description CachingPentahoEntryCollector(org.apache.jackrabbit.core.SessionImpl systemSession, org.apache.jackrabbit.core.id.NodeId rootID, Map configuration)
Create a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
close()
protected org.apache.jackrabbit.core.security.authorization.acl.EntryCollector.Entries
getEntries(org.apache.jackrabbit.core.id.NodeId nodeId)
protected org.apache.jackrabbit.core.security.authorization.acl.PentahoEntryCollector.PentahoEntries
getEntries(org.apache.jackrabbit.core.NodeImpl node)
Returns anEntries
for the given node.void
notifyListeners(org.apache.jackrabbit.core.security.authorization.AccessControlModifications modifications)
-
Methods inherited from class org.apache.jackrabbit.core.security.authorization.acl.PentahoEntryCollector
addOwnerAce, collectEntries, filterEntries, findAccessControlledNode, findNonInheritingNode, getAcesIncludingMagicAces, getAuthorizationPolicy, getRelevantAncestorAces, getRoleBindingDao, getRuntimeRoleNames, getVersionable, isAllowed
-
Methods inherited from class org.apache.jackrabbit.core.security.authorization.acl.EntryCollector
onEvent
-
-
-
-
Field Detail
-
ENTRY_COLLECTOR
public static final String ENTRY_COLLECTOR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CachingPentahoEntryCollector
public CachingPentahoEntryCollector(org.apache.jackrabbit.core.SessionImpl systemSession, org.apache.jackrabbit.core.id.NodeId rootID, Map configuration) throws javax.jcr.RepositoryException
Create a new instance.- Parameters:
systemSession
- A system session.rootID
- The id of the root node.- Throws:
javax.jcr.RepositoryException
- If an error occurs.
-
-
Method Detail
-
close
protected void close()
- Overrides:
close
in classorg.apache.jackrabbit.core.security.authorization.acl.EntryCollector
-
getEntries
protected org.apache.jackrabbit.core.security.authorization.acl.PentahoEntryCollector.PentahoEntries getEntries(org.apache.jackrabbit.core.NodeImpl node) throws javax.jcr.RepositoryException
Description copied from class:PentahoEntryCollector
Returns anEntries
for the given node. This is where most of the customization lives.- Overrides:
getEntries
in classPentahoEntryCollector
- Throws:
javax.jcr.RepositoryException
- See Also:
EntryCollector.getEntries(org.apache.jackrabbit.core.NodeImpl)
-
getEntries
protected org.apache.jackrabbit.core.security.authorization.acl.EntryCollector.Entries getEntries(org.apache.jackrabbit.core.id.NodeId nodeId) throws javax.jcr.RepositoryException
- Overrides:
getEntries
in classorg.apache.jackrabbit.core.security.authorization.acl.EntryCollector
- Throws:
javax.jcr.RepositoryException
- See Also:
EntryCollector.getEntries(org.apache.jackrabbit.core.id.NodeId)
-
notifyListeners
public void notifyListeners(org.apache.jackrabbit.core.security.authorization.AccessControlModifications modifications)
- Overrides:
notifyListeners
in classPentahoEntryCollector
- See Also:
AccessControlObserver.notifyListeners(org.apache.jackrabbit.core.security.authorization.AccessControlModifications)
-
-