public void run()

in core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateStatusOperation.java [49:81]


    public void run(SlingHttpServletRequest request, PostResponse response, SlingPostProcessor[] processors) {
        final List<Modification> changes = new ArrayList<>();
        try {

            String reason = request.getParameter(PN_REASON);

            AuthorizableWrapper authWrapper = Optional
                    .ofNullable(request.getResource().adaptTo(AuthorizableWrapper.class))
                    .orElseThrow(() -> new RepositoryException("Failed to get authorizable: " + request.getResource()));

            if (authWrapper.getAuthorizable().isGroup()) {
                throw new RepositoryException("Authorizable is not a user");
            }

            User user = (User) authWrapper.getAuthorizable();
            user.disable(StringUtils.isBlank(reason) ? null : reason);

            // invoke processors
            if (processors != null) {
                for (SlingPostProcessor processor : processors) {
                    processor.process(request, changes);
                }
            }

            request.getResourceResolver().commit();

            response.setPath(user.getPath());
            response.onCreated(user.getPath());
        } catch (Exception e) {
            log.warn("Failed to update user status", e);
            response.setError(e);
        }
    }