es.mcu.yingo.controladores
Class ControladorExceptionResolver

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
          extended by org.springframework.web.servlet.support.WebContentGenerator
              extended by org.springframework.web.servlet.mvc.AbstractController
                  extended by es.mcu.yingo.controladores.SuperControlador
                      extended by es.mcu.yingo.controladores.ControladorExceptionResolver
All Implemented Interfaces:
org.springframework.context.ApplicationContextAware, org.springframework.web.servlet.HandlerExceptionResolver, org.springframework.web.servlet.mvc.Controller

public class ControladorExceptionResolver
extends SuperControlador
implements org.springframework.web.servlet.HandlerExceptionResolver

Controlador de Yingo para personalizar la gestión de excepciones en la parte web de spring.
. Implementa HandlerExceptionResolver y se debe de definir en el contexto de sprig con el id "exceptionResolver" Ejemplo de utilización

 ..
 
                ..
        

Traduce los mensajes de excepciones de Yingo a el idioma que tiene el usuario en sesión.
También personaliza el mensaje de error cuando se ha excedido el tamaño máximo en los fichero subidos

Author:
miguel.esteban

Field Summary
static java.lang.String ATRIBUTO_EXCEPCION
          Clave del atributo de la petición web donde se cargará la excepción
protected  org.apache.commons.logging.Log logger
          Atributo para la generación de losgs
protected  SpringContextUtilWeb springContextUtilWeb
          Objeto de utilidades del contexto de Spring para la parte Web
private  java.util.Map<java.lang.String,java.lang.String> vistaError
          Vista donde se enviarça el error
 
Fields inherited from class es.mcu.yingo.controladores.SuperControlador
BUSCAR, CARGA, CLAVE_DATOS_RESULTADO, FICHERO, INICIO, PAGINAR, PARAM_LISTA_ERROR
 
Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator
HEADER_CACHE_CONTROL, HEADER_EXPIRES, HEADER_PRAGMA, METHOD_GET, METHOD_HEAD, METHOD_POST
 
Constructor Summary
ControladorExceptionResolver()
           
 
Method Summary
 SpringContextUtilWeb getSpringContextUtilWeb()
          Utilidad de manejo de contexto, que hace uso del request
 java.util.Map<java.lang.String,java.lang.String> getVistaError()
           
protected  org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
private  org.springframework.web.servlet.ModelAndView mostrarError(java.lang.String mensajeError, javax.servlet.http.HttpServletRequest request)
          Envía el mensaje de error a la vista de error con la clave 'mensajeError'
private  org.springframework.web.servlet.ModelAndView mostrarWarning(java.lang.String mensajeError, javax.servlet.http.HttpServletRequest request)
          Envía el mensaje de error a la vista de error con la clave 'mensajeWarning'
private  java.lang.String obtenerMensajeI18n(ExcepcionConMensajeI18n t, javax.servlet.http.HttpServletRequest request)
          Obtiene el mensaje internacionalizado de la Excepcion
 org.springframework.web.servlet.ModelAndView resolveException(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object objeto, java.lang.Exception excepcion)
          Método principal que resuleve la excepción.Comprueba lo siguiente:
Comprueba si la excepción es del tipo YingoException obtiene el mensaje internacionalizado a partir del idioma que tiene cargado el usuario en sesion.
 void setSpringContextUtilWeb(SpringContextUtilWeb springContextUtilWeb)
          Utilidad de manejo de contexto, que hace uso del request
 void setVistaError(java.util.Map<java.lang.String,java.lang.String> vistaError)
           
 
Methods inherited from class es.mcu.yingo.controladores.SuperControlador
getAccion, obtenerVistaAplicacion, recogerParametro, recogerTipoTareaRequest
 
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
handleRequest, isSynchronizeOnSession, setSynchronizeOnSession
 
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isRequireSession, isUseCacheControlHeader, isUseExpiresHeader, preventCaching, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseExpiresHeader
 
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, isContextRequired
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger
Atributo para la generación de losgs


springContextUtilWeb

protected SpringContextUtilWeb springContextUtilWeb
Objeto de utilidades del contexto de Spring para la parte Web


vistaError

private java.util.Map<java.lang.String,java.lang.String> vistaError
Vista donde se enviarça el error


ATRIBUTO_EXCEPCION

public static final java.lang.String ATRIBUTO_EXCEPCION
Clave del atributo de la petición web donde se cargará la excepción

See Also:
Constant Field Values
Constructor Detail

ControladorExceptionResolver

public ControladorExceptionResolver()
Method Detail

handleRequestInternal

protected org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request,
                                                                             javax.servlet.http.HttpServletResponse response)
                                                                      throws java.lang.Exception
Specified by:
handleRequestInternal in class org.springframework.web.servlet.mvc.AbstractController
Throws:
java.lang.Exception

resolveException

public org.springframework.web.servlet.ModelAndView resolveException(javax.servlet.http.HttpServletRequest request,
                                                                     javax.servlet.http.HttpServletResponse response,
                                                                     java.lang.Object objeto,
                                                                     java.lang.Exception excepcion)
Método principal que resuleve la excepción.Comprueba lo siguiente:
  1. Comprueba si la excepción es del tipo YingoException obtiene el mensaje internacionalizado a partir del idioma que tiene cargado el usuario en sesion. Si es de tipo WarningYingoException trata el mensaje de diferente manera enviandolo como aviso
  2. Em otro caso, comprueba que es del tipo MaxUploadSizeExceededExceptiony personaliza el mensaje de error
  3. En otro caso saca el mensaje de eror idicando el nombre de la excepción y el mensaje

Specified by:
resolveException in interface org.springframework.web.servlet.HandlerExceptionResolver

mostrarError

private org.springframework.web.servlet.ModelAndView mostrarError(java.lang.String mensajeError,
                                                                  javax.servlet.http.HttpServletRequest request)
Envía el mensaje de error a la vista de error con la clave 'mensajeError'

Parameters:
mensajeError -
request -
Returns:

mostrarWarning

private org.springframework.web.servlet.ModelAndView mostrarWarning(java.lang.String mensajeError,
                                                                    javax.servlet.http.HttpServletRequest request)
Envía el mensaje de error a la vista de error con la clave 'mensajeWarning'

Parameters:
mensajeError -
request -
Returns:

obtenerMensajeI18n

private java.lang.String obtenerMensajeI18n(ExcepcionConMensajeI18n t,
                                            javax.servlet.http.HttpServletRequest request)
Obtiene el mensaje internacionalizado de la Excepcion

Parameters:
t -
request -
Returns:

getSpringContextUtilWeb

public SpringContextUtilWeb getSpringContextUtilWeb()
Description copied from class: SuperControlador
Utilidad de manejo de contexto, que hace uso del request

Overrides:
getSpringContextUtilWeb in class SuperControlador
Returns:
Devuelve el atributo springContextUtilWeb

setSpringContextUtilWeb

public void setSpringContextUtilWeb(SpringContextUtilWeb springContextUtilWeb)
Description copied from class: SuperControlador
Utilidad de manejo de contexto, que hace uso del request

Overrides:
setSpringContextUtilWeb in class SuperControlador
Parameters:
springContextUtilWeb - Carga el atributo springContextUtilWeb

getVistaError

public java.util.Map<java.lang.String,java.lang.String> getVistaError()
Returns:
Devuelve el atributo vistaError

setVistaError

public void setVistaError(java.util.Map<java.lang.String,java.lang.String> vistaError)
Parameters:
vistaError - Carga el atributo vistaError