Package org.grails.web.errors
Class GrailsExceptionResolver
- java.lang.Object
-
- org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
-
- org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
-
- org.grails.web.errors.GrailsExceptionResolver
-
- All Implemented Interfaces:
grails.core.support.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, grails.core.support.GrailsApplicationAwareWraps any runtime exceptions with a GrailsWrappedException instance.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEXCEPTION_ATTRIBUTEprotected grails.core.GrailsApplicationgrailsApplicationprotected static java.lang.StringLINE_SEPARATORprotected static org.apache.commons.logging.LogLOGprotected javax.servlet.ServletContextservletContextprotected org.grails.exceptions.reporting.StackTraceFiltererstackFilterer-
Fields inherited from class org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
DEFAULT_EXCEPTION_ATTRIBUTE
-
-
Constructor Summary
Constructors Constructor Description GrailsExceptionResolver()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcreateStackFilterer()protected java.lang.StringdetermineUri(javax.servlet.http.HttpServletRequest request)static intextractLineNumber(org.codehaus.groovy.control.CompilationFailedException e)protected voidfilterStackTrace(java.lang.Exception e)protected java.lang.ExceptionfindWrappedException(java.lang.Exception e)protected voidforwardRequest(grails.web.mapping.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.RuntimeExceptiongetFirstRuntimeException(java.lang.Throwable e)protected java.lang.StringgetRequestLogMessage(java.lang.String exceptionName, javax.servlet.http.HttpServletRequest request, java.lang.String message)java.lang.StringgetRequestLogMessage(java.lang.Throwable e, javax.servlet.http.HttpServletRequest request)java.lang.StringgetRequestLogMessage(javax.servlet.http.HttpServletRequest request)static java.lang.ThrowablegetRootCause(java.lang.Throwable ex)Obtains the root cause of the given exceptionprotected voidlogStackTrace(java.lang.Exception e, javax.servlet.http.HttpServletRequest request)protected grails.web.mapping.UrlMappingsHolderlookupUrlMappings()protected grails.web.mapping.UrlMappingInfomatchStatusCode(java.lang.Exception ex, grails.web.mapping.UrlMappingsHolder urlMappings)org.springframework.web.servlet.ModelAndViewresolveException(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler, java.lang.Exception ex)protected voidresolveView(javax.servlet.http.HttpServletRequest request, grails.web.mapping.UrlMappingInfo info, org.springframework.web.servlet.ModelAndView mv)protected org.springframework.web.servlet.ModelAndViewresolveViewOrForward(java.lang.Exception ex, grails.web.mapping.UrlMappingsHolder urlMappings, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.springframework.web.servlet.ModelAndView mv)voidsetGrailsApplication(grails.core.GrailsApplication grailsApplication)voidsetServletContext(javax.servlet.ServletContext servletContext)protected voidsetStatus(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, setExcludedExceptions, setStatusCodes
-
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
buildLogMessage, getOrder, hasHandlerMappings, logException, prepareResponse, preventCaching, setMappedHandlerClasses, setMappedHandlers, setOrder, setPreventResponseCaching, setWarnLogCategory, shouldApplyTo
-
-
-
-
Field Detail
-
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 grails.core.GrailsApplication grailsApplication
-
stackFilterer
protected org.grails.exceptions.reporting.StackTraceFilterer stackFilterer
-
-
Method Detail
-
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:
resolveExceptionin interfaceorg.springframework.web.servlet.HandlerExceptionResolver- Overrides:
resolveExceptionin classorg.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
-
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:
setServletContextin interfaceorg.springframework.web.context.ServletContextAware
-
setGrailsApplication
public void setGrailsApplication(grails.core.GrailsApplication grailsApplication)
- Specified by:
setGrailsApplicationin interfacegrails.core.support.GrailsApplicationAware
-
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)
-
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 grails.web.mapping.UrlMappingsHolder lookupUrlMappings()
-
resolveViewOrForward
protected org.springframework.web.servlet.ModelAndView resolveViewOrForward(java.lang.Exception ex, grails.web.mapping.UrlMappingsHolder urlMappings, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.springframework.web.servlet.ModelAndView mv)
-
forwardRequest
protected void forwardRequest(grails.web.mapping.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.ServletExceptionjava.io.IOException
-
determineUri
protected java.lang.String determineUri(javax.servlet.http.HttpServletRequest request)
-
resolveView
protected void resolveView(javax.servlet.http.HttpServletRequest request, grails.web.mapping.UrlMappingInfo info, org.springframework.web.servlet.ModelAndView mv) throws java.lang.Exception- Throws:
java.lang.Exception
-
matchStatusCode
protected grails.web.mapping.UrlMappingInfo matchStatusCode(java.lang.Exception ex, grails.web.mapping.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)
-
getRequestLogMessage
protected java.lang.String getRequestLogMessage(java.lang.String exceptionName, javax.servlet.http.HttpServletRequest request, java.lang.String message)
-
createStackFilterer
protected void createStackFilterer()
-
-