Class ADMAccessControlListDAO

  • All Implemented Interfaces:
    AccessControlListDAO

    public class ADMAccessControlListDAO
    extends Object
    implements AccessControlListDAO
    DAO layer for the improved ACL implementation. This layer is responsible for setting ACLs and any cascade behaviour required. It also implements the migration from the old implementation to the new.
    Author:
    andyh
    • Constructor Detail

      • ADMAccessControlListDAO

        public ADMAccessControlListDAO()
    • Method Detail

      • setNodeDAO

        public void setNodeDAO​(NodeDAO nodeDAO)
      • setAclDAO

        public void setAclDAO​(AclDAO aclDaoComponent)
      • setFixedAclMaxTransactionTime

        public void setFixedAclMaxTransactionTime​(long fixedAclMaxTransactionTime)
      • setBehaviourFilter

        public void setBehaviourFilter​(BehaviourFilter behaviourFilter)
      • setPreserveAuditableData

        public void setPreserveAuditableData​(boolean preserveAuditableData)
      • isPreserveAuditableData

        public boolean isPreserveAuditableData()
      • setInheritanceForChildren

        public List<AclChange> setInheritanceForChildren​(NodeRef parent,
                                                         Long inheritFrom,
                                                         Long sharedAclToReplace,
                                                         boolean asyncCall)
        Description copied from interface: AccessControlListDAO
        Set the inheritance on a given node and it's children. If the operation takes too long and asyncCall parameter set accordingly, fixed ACLs method will be synchronously called.
        Specified by:
        setInheritanceForChildren in interface AccessControlListDAO
      • setFixedAcls

        public void setFixedAcls​(Long nodeId,
                                 Long inheritFrom,
                                 Long mergeFrom,
                                 Long sharedAclToReplace,
                                 List<AclChange> changes,
                                 boolean set)
        Support to set a shared ACL on a node and all of its children
        Specified by:
        setFixedAcls in interface AccessControlListDAO
        Parameters:
        nodeId - the parent node id
        inheritFrom - the parent node's ACL
        mergeFrom - the shared ACL, if already known. If null, will be retrieved / created lazily
        changes - the list in which to record changes
        set - set the shared ACL on the parent ?
      • setFixedAcls

        public void setFixedAcls​(Long nodeId,
                                 Long inheritFrom,
                                 Long mergeFrom,
                                 Long sharedAclToReplace,
                                 List<AclChange> changes,
                                 boolean set,
                                 boolean asyncCall,
                                 boolean propagateOnChildren)
        Support to set a shared ACL on a node and all of its children
        Parameters:
        nodeId - the parent node
        inheritFrom - the parent node's ACL
        mergeFrom - the shared ACL, if already known. If null, will be retrieved / created lazily
        changes - the list in which to record changes
        set - set the shared ACL on the parent ?
        asyncCall - function may require asynchronous call depending the execution time; if time exceeds configured fixedAclMaxTransactionTime value, recursion is stopped using propagateOnChildren parameter(set on false) and those nodes for which the method execution was not finished in the classical way, will have ASPECT_PENDING_FIX_ACL, which will be used in FixedAclUpdater for later processing