org.codehaus.groovy.grails.web.errors
Class GrailsExceptionResolver
java.lang.Object
org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver
- All Implemented Interfaces:
- org.codehaus.groovy.grails.plugins.support.aware.GrailsApplicationAware, org.springframework.beans.factory.Aware, org.springframework.core.Ordered, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.HandlerExceptionResolver
public class GrailsExceptionResolver
- extends org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
- implements org.springframework.web.context.ServletContextAware, org.codehaus.groovy.grails.plugins.support.aware.GrailsApplicationAware
Wraps any runtime exceptions with a GrailsWrappedException instance.
| Fields inherited from class org.springframework.web.servlet.handler.SimpleMappingExceptionResolver |
DEFAULT_EXCEPTION_ATTRIBUTE |
| Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver |
logger |
| Fields inherited from interface org.springframework.core.Ordered |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
|
Method Summary |
protected void |
createStackFilterer()
|
protected java.lang.String |
determineUri(javax.servlet.http.HttpServletRequest request)
|
static int |
extractLineNumber(org.codehaus.groovy.control.CompilationFailedException e)
|
protected void |
filterStackTrace(java.lang.Exception e)
|
protected java.lang.Exception |
findWrappedException(java.lang.Exception e)
|
protected void |
forwardRequest(UrlMappingInfo info,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.web.servlet.ModelAndView mv,
java.lang.String uri)
|
static java.lang.RuntimeException |
getFirstRuntimeException(java.lang.Throwable e)
|
java.lang.String |
getRequestLogMessage(javax.servlet.http.HttpServletRequest request)
|
protected java.lang.String |
getRequestLogMessage(java.lang.String exceptionName,
javax.servlet.http.HttpServletRequest request,
java.lang.String message)
|
java.lang.String |
getRequestLogMessage(java.lang.Throwable e,
javax.servlet.http.HttpServletRequest request)
|
static java.lang.Throwable |
getRootCause(java.lang.Throwable ex)
Obtains the root cause of the given exception |
protected void |
logStackTrace(java.lang.Exception e,
javax.servlet.http.HttpServletRequest request)
|
protected UrlMappingsHolder |
lookupUrlMappings()
|
protected UrlMappingInfo |
matchStatusCode(java.lang.Exception ex,
UrlMappingsHolder urlMappings)
|
org.springframework.web.servlet.ModelAndView |
resolveException(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.Object handler,
java.lang.Exception ex)
|
protected void |
resolveView(javax.servlet.http.HttpServletRequest request,
UrlMappingInfo info,
org.springframework.web.servlet.ModelAndView mv)
|
protected org.springframework.web.servlet.ModelAndView |
resolveViewOrForward(java.lang.Exception ex,
UrlMappingsHolder urlMappings,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.web.servlet.ModelAndView mv)
|
void |
setGrailsApplication(org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication)
|
void |
setServletContext(javax.servlet.ServletContext servletContext)
|
protected void |
setStatus(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.web.servlet.ModelAndView mv,
java.lang.Exception e)
|
| Methods inherited from class org.springframework.web.servlet.handler.SimpleMappingExceptionResolver |
addStatusCode, applyStatusCodeIfPossible, determineStatusCode, determineViewName, doResolveException, findMatchingViewName, getDepth, getModelAndView, getModelAndView, getStatusCodesAsMap, setDefaultErrorView, setDefaultStatusCode, setExceptionAttribute, setExceptionMappings, setStatusCodes |
| Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver |
buildLogMessage, getOrder, logException, prepareResponse, preventCaching, setMappedHandlerClasses, setMappedHandlers, setOrder, setPreventResponseCaching, setWarnLogCategory, shouldApplyTo |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EXCEPTION_ATTRIBUTE
public static final java.lang.String EXCEPTION_ATTRIBUTE
- See Also:
- Constant Field Values
LOG
protected static final org.apache.commons.logging.Log LOG
LINE_SEPARATOR
protected static final java.lang.String LINE_SEPARATOR
servletContext
protected javax.servlet.ServletContext servletContext
grailsApplication
protected org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication
stackFilterer
protected org.codehaus.groovy.grails.exceptions.StackTraceFilterer stackFilterer
GrailsExceptionResolver
public GrailsExceptionResolver()
resolveException
public org.springframework.web.servlet.ModelAndView resolveException(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.Object handler,
java.lang.Exception ex)
- Specified by:
resolveException in interface org.springframework.web.servlet.HandlerExceptionResolver- Overrides:
resolveException in class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
filterStackTrace
protected void filterStackTrace(java.lang.Exception e)
setStatus
protected void setStatus(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.web.servlet.ModelAndView mv,
java.lang.Exception e)
lookupUrlMappings
protected UrlMappingsHolder lookupUrlMappings()
resolveViewOrForward
protected org.springframework.web.servlet.ModelAndView resolveViewOrForward(java.lang.Exception ex,
UrlMappingsHolder urlMappings,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.web.servlet.ModelAndView mv)
forwardRequest
protected void forwardRequest(UrlMappingInfo info,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.web.servlet.ModelAndView mv,
java.lang.String uri)
throws javax.servlet.ServletException,
java.io.IOException
- Throws:
javax.servlet.ServletException
java.io.IOException
determineUri
protected java.lang.String determineUri(javax.servlet.http.HttpServletRequest request)
resolveView
protected void resolveView(javax.servlet.http.HttpServletRequest request,
UrlMappingInfo info,
org.springframework.web.servlet.ModelAndView mv)
throws java.lang.Exception
- Throws:
java.lang.Exception
matchStatusCode
protected UrlMappingInfo matchStatusCode(java.lang.Exception ex,
UrlMappingsHolder urlMappings)
logStackTrace
protected void logStackTrace(java.lang.Exception e,
javax.servlet.http.HttpServletRequest request)
findWrappedException
protected java.lang.Exception findWrappedException(java.lang.Exception e)
getRootCause
public static java.lang.Throwable getRootCause(java.lang.Throwable ex)
- Obtains the root cause of the given exception
- Parameters:
ex - The exception
- Returns:
- The root cause
extractLineNumber
public static int extractLineNumber(org.codehaus.groovy.control.CompilationFailedException e)
getFirstRuntimeException
public static java.lang.RuntimeException getFirstRuntimeException(java.lang.Throwable e)
getRequestLogMessage
protected java.lang.String getRequestLogMessage(java.lang.String exceptionName,
javax.servlet.http.HttpServletRequest request,
java.lang.String message)
getRequestLogMessage
public java.lang.String getRequestLogMessage(java.lang.Throwable e,
javax.servlet.http.HttpServletRequest request)
getRequestLogMessage
public java.lang.String getRequestLogMessage(javax.servlet.http.HttpServletRequest request)
setServletContext
public void setServletContext(javax.servlet.ServletContext servletContext)
- Specified by:
setServletContext in interface org.springframework.web.context.ServletContextAware
setGrailsApplication
public void setGrailsApplication(org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication)
- Specified by:
setGrailsApplication in interface org.codehaus.groovy.grails.plugins.support.aware.GrailsApplicationAware
createStackFilterer
protected void createStackFilterer()