Class DeleteAcesServlet

  • All Implemented Interfaces:
    Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, DeleteAces
    Direct Known Subclasses:
    DeletePrincipalAcesServlet

    public class DeleteAcesServlet
    extends AbstractAccessPostServlet
    implements DeleteAces

    Sling Post Servlet implementation for deleting the ACE for a set of principals on a JCR resource.

    Rest Service Description

    Delete a set of Ace's from a node, the node is identified as a resource by the request url >resource<.deleteAce.html

    Transport Details:

    Methods

    • POST

    Post Parameters

    :applyTo
    An array of ace principal names to delete. Note the principal name is the primary key of the Ace in the Acl

    Response

    200
    Success.
    404
    The resource was not found.
    500
    Failure. HTML explains the failure.
    See Also:
    Serialized Form
    • Constructor Detail

      • DeleteAcesServlet

        public DeleteAcesServlet()
    • Method Detail

      • handleOperation

        protected void handleOperation​(org.apache.sling.api.SlingHttpServletRequest request,
                                       org.apache.sling.servlets.post.PostResponse htmlResponse,
                                       List<org.apache.sling.servlets.post.Modification> changes)
                                throws javax.jcr.RepositoryException
        Description copied from class: AbstractAccessPostServlet
        Extending Servlet should implement this operation to do the work
        Specified by:
        handleOperation in class AbstractAccessPostServlet
        Parameters:
        request - the sling http request to process
        htmlResponse - the response
        changes - the changes to report
        Throws:
        javax.jcr.RepositoryException - if any errors applying the changes
      • deleteAces

        public void deleteAces​(javax.jcr.Session jcrSession,
                               String resourcePath,
                               String[] principalNamesToDelete)
                        throws javax.jcr.RepositoryException
        Description copied from interface: DeleteAces
        Deletes one or more ACEs from the access control list of a resource.
        Specified by:
        deleteAces in interface DeleteAces
        Parameters:
        jcrSession - the JCR session of the user updating the user
        resourcePath - The path of the resource to update the ACL for (required)
        principalNamesToDelete - An array of ace principal names to delete.. (required)
        Throws:
        javax.jcr.RepositoryException - if any errors applying the changes
      • validateArgs

        @NotNull
        protected @NotNull Set<Principal> validateArgs​(javax.jcr.Session jcrSession,
                                                       String resourcePath,
                                                       String[] principalNamesToDelete)
                                                throws javax.jcr.RepositoryException
        Verify that the user supplied arguments are valid
        Parameters:
        jcrSession - the JCR session
        resourcePath - the resource path
        principalNamesToDelete - the principal ids to delelete
        Returns:
        the principals for the requested principalIds
        Throws:
        javax.jcr.RepositoryException
      • deleteAces

        protected void deleteAces​(javax.jcr.Session jcrSession,
                                  String resourcePath,
                                  String[] principalNamesToDelete,
                                  List<org.apache.sling.servlets.post.Modification> changes)
                           throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException