Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.web;

import org.apache.log4j.Logger;
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitLayoutProxy;
import pt.estgp.estgweb.web.exceptions.InternalException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;

/**
 * @author Jorge Machado
 * @date 26/Fev/2008
 * @time 12:46:16
 * @see pt.estgp.estgweb.web
 */

public class StartPathLayoutProxy extends LayoutProxy
{

    /**
     * sss requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     */


    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(CourseUnitLayoutProxy.class);


    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        try
        {
            1.5.0/docs/api/java/lang/String.html">String startPath = request.getParameter("startPath");
            if (startPath != null)
            {
                request.setAttribute("startPath", startPath);
                startPath = "startPath=" + startPath;
            }
            else
                startPath = "";
            1.5.0/docs/api/java/lang/String.html">String from = "";
            if (request.getParameter("from") != null)
                from = "&from=" + request.getParameter("from");

            1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder queryString = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
            queryString.append(startPath + from);
            Enumeration<String> enumeration = request.getParameterNames();
            while(enumeration.hasMoreElements())
            {
                1.5.0/docs/api/java/lang/String.html">String attr = enumeration.nextElement();
                if(attr.startsWith("nav"))
                {
                    queryString.append("&").append(attr).append("=").append(request.getParameter(attr));
                }
            }
            super.setQueryString(queryString.toString(), request);
            super.processRequest(request, response);
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            logger.error(e, e);
            throw new InternalException(e.toString());
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request  servlet request
     * @param response servlet response
     */

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request  servlet request
     * @param response servlet response
     */

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, 1.5.0/docs/api/java/io/IOException.html">IOException
    {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     */

    public 1.5.0/docs/api/java/lang/String.html">String getServletInfo()
    {
        return "Proxy Servlet to get pages form static web page servers";
    }
    // </editor-fold>
}