public void doFilter()

in core/src/main/java/org/apache/sling/cms/core/internal/filters/LocaleFilter.java [55:83]


    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {

        if (request instanceof SlingHttpServletRequest) {
            Locale locale = null;
            SlingHttpServletRequest slingRequest = (SlingHttpServletRequest) request;
            SiteManager mgr = slingRequest.getResource().adaptTo(SiteManager.class);
            if (mgr != null) {
                Site site = mgr.getSite();
                if (site != null) {
                    log.debug("Setting bundle for {}", site.getLocaleString());
                    locale = site.getLocale();
                } else {
                    log.trace("No site for {}", slingRequest);
                }
            } else {
                log.trace("No site manager found for {}", slingRequest);
            }
            if (locale == null) {
                locale = loadUserLocale(slingRequest);
            }
            if (locale == null) {
                locale = request.getLocale();
            }
            setLocale(locale, slingRequest);
        }

        chain.doFilter(request, response);
    }