Sample CQ Filter


import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;


import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Service;
import port org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * It will intercepts all the incoming requests. Performs
 * various operation on Request and Response.
 **/

@Component(immediate =
true, metatype = true, label = "Filter Service")
@Service(value = javax.servlet.Filter.class)
@Properties({ @Property(name = "filter.scope", label = "scope", value = "REQUEST"),
        @Property(name = "filter.order", label = "order", value = "1") })
public class TestFilterServiceImpl implements javax.servlet.Filter {

    /**
     * Logger for this class.
     */

    private static final Logger LOGGER = LoggerFactory
            .getLogger(
TestFilterServiceImpl .class);

    /**
     * life cycle method of Filter.
     */

    @Override
    public void destroy() {
    }

    /**
     * This method gets called whenever server gets any request. Every request will go via this
     * Filter method.
     */

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
           
throws IOException, ServletException {
      

        if (request instanceof SlingHttpServletRequest
                && response
instanceof SlingHttpServletResponse) {
            SlingHttpServletRequest httpServletRequest = (SlingHttpServletRequest) request;
            SlingHttpServletResponse httpServletResponse = (SlingHttpServletResponse) response;

            httpServletRequest.setAttribute("value", "1000001");
            filterChain.doFilter(httpServletRequest, httpServletResponse);
        }
    }

  
    @Override
    public void init(FilterConfig arg0) throws ServletException {
       
TestFilterServiceImpl .LOGGER.info("initi FilterConfig");
    }

Comments

Popular

AEM 6.3 - Check if page is published or not

Search engine optimization in CQ