Class 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 extends PentahoEntryCollector 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.
    • 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 class org.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 an Entries for the given node. This is where most of the customization lives.
        Overrides:
        getEntries in class PentahoEntryCollector
        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 class org.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 class PentahoEntryCollector
        See Also:
        AccessControlObserver.notifyListeners(org.apache.jackrabbit.core.security.authorization.AccessControlModifications)