Class TaskanaRestExceptionHandler


  • @Order(-2147483648)
    @ControllerAdvice
    public class TaskanaRestExceptionHandler
    extends org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
    This class handles TASKANA exceptions.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String ERROR_KEY_PAYLOAD  
      static String ERROR_KEY_QUERY_MALFORMED  
      • Fields inherited from class org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler

        logger, PAGE_NOT_FOUND_LOG_CATEGORY, pageNotFoundLogger
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.springframework.http.ResponseEntity<Object> handleBadRequestExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleBeanInstantiationException​(org.springframework.beans.BeanInstantiationException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleBindException​(org.springframework.validation.BindException ex, org.springframework.http.HttpHeaders headers, org.springframework.http.HttpStatus status, org.springframework.web.context.request.WebRequest request)  
      protected org.springframework.http.ResponseEntity<Object> handleConflictExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleForbiddenExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleGeneralException​(Exception ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleIllegalArgumentException​(IllegalArgumentException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleMaxUploadSizeExceededException​(org.springframework.web.multipart.MaxUploadSizeExceededException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleNotFound​(pro.taskana.common.api.exceptions.TaskanaException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleUnknownTaskanaExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleUnknownTaskanaRuntimeExceptions​(pro.taskana.common.api.exceptions.TaskanaRuntimeException ex, org.springframework.web.context.request.WebRequest req)  
      protected org.springframework.http.ResponseEntity<Object> handleWorkbasketInUse​(pro.taskana.common.api.exceptions.TaskanaException ex, org.springframework.web.context.request.WebRequest req)  
      • Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler

        handleAsyncRequestTimeoutException, handleConversionNotSupported, handleException, handleExceptionInternal, handleHttpMediaTypeNotAcceptable, handleHttpMediaTypeNotSupported, handleHttpMessageNotReadable, handleHttpMessageNotWritable, handleHttpRequestMethodNotSupported, handleMethodArgumentNotValid, handleMissingPathVariable, handleMissingServletRequestParameter, handleMissingServletRequestPart, handleNoHandlerFoundException, handleServletRequestBindingException, handleTypeMismatch
    • Constructor Detail

      • TaskanaRestExceptionHandler

        public TaskanaRestExceptionHandler()
    • Method Detail

      • handleForbiddenExceptions

        @ExceptionHandler({pro.taskana.common.api.exceptions.MismatchedRoleException.class,pro.taskana.workbasket.api.exceptions.MismatchedWorkbasketPermissionException.class,pro.taskana.task.api.exceptions.MismatchedTaskCommentCreatorException.class,pro.taskana.workbasket.api.exceptions.NotAuthorizedToQueryWorkbasketException.class})
        protected org.springframework.http.ResponseEntity<Object> handleForbiddenExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex,
                                                                                            org.springframework.web.context.request.WebRequest req)
      • handleNotFound

        @ExceptionHandler({pro.taskana.classification.api.exceptions.ClassificationNotFoundException.class,pro.taskana.task.api.exceptions.TaskCommentNotFoundException.class,pro.taskana.task.api.exceptions.TaskNotFoundException.class,pro.taskana.spi.history.api.exceptions.TaskanaHistoryEventNotFoundException.class,pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException.class})
        protected org.springframework.http.ResponseEntity<Object> handleNotFound​(pro.taskana.common.api.exceptions.TaskanaException ex,
                                                                                 org.springframework.web.context.request.WebRequest req)
      • handleConflictExceptions

        @ExceptionHandler({pro.taskana.task.api.exceptions.TaskAlreadyExistException.class,pro.taskana.classification.api.exceptions.ClassificationAlreadyExistException.class,pro.taskana.common.api.exceptions.ConcurrencyException.class,pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException.class,pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException.class,pro.taskana.task.api.exceptions.AttachmentPersistenceException.class,pro.taskana.workbasket.api.exceptions.WorkbasketMarkedForDeletionException.class})
        protected org.springframework.http.ResponseEntity<Object> handleConflictExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex,
                                                                                           org.springframework.web.context.request.WebRequest req)
      • handleWorkbasketInUse

        @ExceptionHandler({pro.taskana.workbasket.api.exceptions.WorkbasketInUseException.class,pro.taskana.classification.api.exceptions.ClassificationInUseException.class})
        protected org.springframework.http.ResponseEntity<Object> handleWorkbasketInUse​(pro.taskana.common.api.exceptions.TaskanaException ex,
                                                                                        org.springframework.web.context.request.WebRequest req)
      • handleMaxUploadSizeExceededException

        @ExceptionHandler(org.springframework.web.multipart.MaxUploadSizeExceededException.class)
        protected org.springframework.http.ResponseEntity<Object> handleMaxUploadSizeExceededException​(org.springframework.web.multipart.MaxUploadSizeExceededException ex,
                                                                                                       org.springframework.web.context.request.WebRequest req)
      • handleBeanInstantiationException

        @ExceptionHandler(org.springframework.beans.BeanInstantiationException.class)
        protected org.springframework.http.ResponseEntity<Object> handleBeanInstantiationException​(org.springframework.beans.BeanInstantiationException ex,
                                                                                                   org.springframework.web.context.request.WebRequest req)
      • handleBadRequestExceptions

        @ExceptionHandler({pro.taskana.task.api.exceptions.InvalidTaskStateException.class,pro.taskana.task.api.exceptions.InvalidCallbackStateException.class,pro.taskana.task.api.exceptions.InvalidOwnerException.class,pro.taskana.common.api.exceptions.InvalidArgumentException.class,pro.taskana.common.api.exceptions.DomainNotFoundException.class,pro.taskana.classification.api.exceptions.MalformedServiceLevelException.class,pro.taskana.common.api.exceptions.WrongCustomHolidayFormatException.class})
        protected org.springframework.http.ResponseEntity<Object> handleBadRequestExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex,
                                                                                             org.springframework.web.context.request.WebRequest req)
      • handleUnknownTaskanaRuntimeExceptions

        @ExceptionHandler(pro.taskana.common.api.exceptions.TaskanaRuntimeException.class)
        protected org.springframework.http.ResponseEntity<Object> handleUnknownTaskanaRuntimeExceptions​(pro.taskana.common.api.exceptions.TaskanaRuntimeException ex,
                                                                                                        org.springframework.web.context.request.WebRequest req)
      • handleUnknownTaskanaExceptions

        @ExceptionHandler(pro.taskana.common.api.exceptions.TaskanaException.class)
        protected org.springframework.http.ResponseEntity<Object> handleUnknownTaskanaExceptions​(pro.taskana.common.api.exceptions.TaskanaException ex,
                                                                                                 org.springframework.web.context.request.WebRequest req)
      • handleGeneralException

        @ExceptionHandler(java.lang.Exception.class)
        protected org.springframework.http.ResponseEntity<Object> handleGeneralException​(Exception ex,
                                                                                         org.springframework.web.context.request.WebRequest req)
      • handleBindException

        @NonNull
        protected org.springframework.http.ResponseEntity<Object> handleBindException​(org.springframework.validation.BindException ex,
                                                                                      @NonNull
                                                                                      org.springframework.http.HttpHeaders headers,
                                                                                      @NonNull
                                                                                      org.springframework.http.HttpStatus status,
                                                                                      @NonNull
                                                                                      org.springframework.web.context.request.WebRequest request)
        Overrides:
        handleBindException in class org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler