Subversion Repositories bacoAlunos

Rev

Rev 25 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.filters;

import org.apache.log4j.Logger;
import pt.estgp.estgweb.Globals;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**
 *
 * @author  Jorge Machado
 */


public class RelativePathFilter implements 1.5.0/docs/api/java/util/logging/Filter.html">Filter {

    public RelativePathFilter()
    {
    }

    public void init(FilterConfig config)
    {

    }

    /**
     *
     * @param request The servlet request we are processing
     * @param chain The filter chain we are processing
     *
     * @exception java.io.IOException if an input/output error occurs
     * @exception javax.servlet.ServletException if a servlet error occurs
     */

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws 1.5.0/docs/api/java/io/IOException.html">IOException, ServletException
    {
        HttpServletRequest hrequest = (HttpServletRequest) request;
        1.5.0/docs/api/java/lang/String.html">String relativePath = hrequest.getServletPath();
        if(relativePath == null)
            relativePath = "";

        if(hrequest.getPathInfo() != null && hrequest.getPathInfo().length() > 0)
        {
            relativePath += hrequest.getPathInfo();
        }

        if(hrequest.getQueryString() != null && hrequest.getQueryString().length() > 0)
            relativePath += "?" + hrequest.getQueryString();

        hrequest.setAttribute(Globals.ACTUAL_RELATIVE_PATH,relativePath);
        chain.doFilter(request,response);
    }

    public void destroy()
    {
        // Nothing
    }
}