All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.eng.spago.dispatching.httpchannel.AbstractHttpJspPagePortlet Maven / Gradle / Ivy

/**

    Copyright 2004, 2007 Engineering Ingegneria Informatica S.p.A.

    This file is part of Spago.

    Spago is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 2.1 of the License, or
    any later version.

    Spago is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Spago; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

**/
package it.eng.spago.dispatching.httpchannel;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.HttpJspPage;

import it.eng.spago.base.Constants;
import it.eng.spago.base.RequestContainer;
import it.eng.spago.base.RequestContainerPortletAccess;
import it.eng.spago.base.ResponseContainer;
import it.eng.spago.base.ResponseContainerPortletAccess;
import it.eng.spago.base.SourceBean;
import it.eng.spago.error.EMFErrorHandler;
import it.eng.spago.tracing.TracerSingleton;
import com.jamonapi.Monitor;
import com.jamonapi.MonitorFactory;

public abstract class AbstractHttpJspPagePortlet
    extends HttpServlet
    implements HttpJspPage {
    private ServletConfig config = null;

    final public void destroy() {
        jspDestroy();
    } // final public void destroy()
 
    final public ServletConfig getServletConfig() {
        return config;
    } // final public ServletConfig getServletConfig()

    final public String getServletInfo() {
        return new String("AbstractHttpJspPagePortlet");
    } // final public String getServletInfo()

    final public void init(ServletConfig config) throws ServletException {
        this.config = config;
        jspInit();
        // super.init(config);
    } // final public void init(ServletConfig config) throws ServletException
    
    final public void service(
        HttpServletRequest request,
        HttpServletResponse response)
        throws ServletException, IOException {
        Monitor monitor =
            MonitorFactory.start(
                "view.jsp." + this.getClass().getName().toLowerCase());
        try {
            _jspService(request, response);
        } // try
        catch (Exception ex) {
            TracerSingleton.log(
                Constants.NOME_MODULO,
                TracerSingleton.CRITICAL,
                "AbstractHttpJspPagePortlet::service: _jspService(request, response)",
                ex);
            HttpSession session = request.getSession(true);
            session.setAttribute("_EXCEPTION_", ex);

            response.setContentType("text/html");
            response.setHeader("Cache-Control", "no-cache");
            response.setHeader("Pragma", "no-cache");
            response.setDateHeader("Expires", 0);
            response.sendRedirect(
                request.getContextPath() + "/jsp/spago/jspError.jsp");
        } // catch (Exception ex)
        finally {
            //RequestContainerPortletAccess.delRequestContainer(request);
            //ResponseContainerPortletAccess.delResponseContainer(request);
            monitor.stop();
        } // finally
    } // final public void service(HttpServletRequest request,
    // HttpServletResponse response) throws ServletException, IOException
    
    public void jspDestroy() {
    } // public void jspDestroy ()

    public void jspInit() {
    } // public void jspInit()
    
    abstract public void _jspService(
        HttpServletRequest request,
        HttpServletResponse response)
        throws ServletException, IOException;

    public RequestContainer getRequestContainer(HttpServletRequest request) {
        return RequestContainerPortletAccess.getRequestContainer(request);
    } // public RequestContainer getRequestContainer(RenderRequest request)

    public SourceBean getServiceRequest(HttpServletRequest request) {
        RequestContainer requestContainer = getRequestContainer(request);
        SourceBean serviceRequest = null;
        if (requestContainer != null) { 
	        serviceRequest = requestContainer.getServiceRequest();
	        if (serviceRequest == null)
	            TracerSingleton.log(
	                Constants.NOME_MODULO,
	                TracerSingleton.WARNING,
	                "AbstractHttpJspPagePortlet::getServiceRequest: serviceRequest nullo");
        }
        return serviceRequest;
    } // public SourceBean getServiceRequest(HttpServletRequest request)

    public ResponseContainer getResponseContainer(HttpServletRequest request) {
        return ResponseContainerPortletAccess.getResponseContainer(request);
    } // public ResponseContainer getResponseContainer(HttpServletRequest request)

    public SourceBean getServiceResponse(HttpServletRequest request) {
        ResponseContainer responseContainer = getResponseContainer(request);
        SourceBean serviceResponse = null;
        if (responseContainer != null) { 
	        serviceResponse = responseContainer.getServiceResponse();
	        if (serviceResponse == null)
	            TracerSingleton.log(
	                Constants.NOME_MODULO,
	                TracerSingleton.WARNING,
	                "AbstractHttpJspPagePortlet::getServiceResponse: serviceResponse nullo");
        }
	    return serviceResponse;
    } // public SourceBean getServiceResponse(HttpServletRequest request)

    public EMFErrorHandler getErrorHandler(HttpServletRequest request) {
        ResponseContainer responseContainer = getResponseContainer(request);
        if (responseContainer == null) 
            return null;       
        EMFErrorHandler errorHandler = responseContainer.getErrorHandler();
        if (errorHandler == null)
            TracerSingleton.log(
                Constants.NOME_MODULO,
                TracerSingleton.WARNING,
                "AbstractHttpJspPagePortlet::getErrorHandler: errorHandler nullo");
        return errorHandler;
    } // public EMFErrorHandler getErrorHandler(HttpServletRequest request)
} // public abstract AbstractHttpJspPagePortlet extends HttpServlet implements HttpJspPage




© 2015 - 2025 Weber Informatics LLC | Privacy Policy