Package org.apache.olingo.odata2.api.exception

Exception Classes used in the OData library as well as the implementing application

See:
          Description

Class Summary
MessageReference APPLICATION DEVELOPERS: Please use ODataApplicationException to throw custom exceptions.
 

Exception Summary
ODataApplicationException This class represents a translated application exception.
ODataBadRequestException Exceptions of this class will result in a HTTP status 400 bad request
ODataConflictException Exceptions of this class will result in a HTTP status 409 Conflict
ODataException Base exception for all OData-related exceptions.
ODataForbiddenException Exceptions of this class will result in a HTTP status 403 forbidden
ODataHttpException ODataMessageException with a HTTP status code.
ODataInternalServerErrorException  
ODataMessageException DO NOT EXTEND THIS EXCEPTION
ODataMethodNotAllowedException Exceptions of this class will result in a HTTP status 405 (method not allowed).
ODataNotAcceptableException Exceptions of this class will result in a HTTP status 406 not acceptable
ODataNotFoundException Exceptions of this class will result in a HTTP status 404 not found
ODataNotImplementedException Exceptions of this class will result in a HTTP status 501 (Not implemented).
ODataPreconditionFailedException Exceptions of this class will result in a HTTP Status 412 Precondition Failed.
ODataPreconditionRequiredException Exceptions of this class will result in a HTTP status 428 precondition required
ODataServiceUnavailableException Exceptions of this class will result in a HTTP status 503 service unavailable
ODataUnsupportedMediaTypeException Exceptions of this class will result in a HTTP status 415 unsupported media type
 

Package org.apache.olingo.odata2.api.exception Description

Exception Classes used in the OData library as well as the implementing application

APPLICATION DEVELOPERS: Please use ODataApplicationException for custom exceptions.

Exception handling:
Inside the OData library an ExceptionMapper exists which can transform any exception into an OData error format. The ExceptionMapper behaves after the following algorithm:
1. The cause of the exception will be determined by looking into the stack trace.
1.1. If the cause is an ODataApplicationException meaning that somewhere in the stack an ODataApplicationException is found the ExceptionMapper will take the following information from the ApplicationException and transform it into an OData error: message text, Locale, Inner Error and Error Code. There will be no altering of information for the ODataApplicationException.
1.2. If no ODataApplicationException is found in the stack the cause can be three different types of exceptions: ODataHttpException, ODataMessageException or an uncaught RuntimeException.
The ExceptionMapper will process them in the following order: 1. ODataHttpException, 2. ODataMessageException, 3 Other Exceptions.
1.2.1. ODataHttpExceptions will be transformed as follows: If an error code is set it will be displayed. The HTTP status code will be derived from the ODataHttpException. The message text and its language depend on the AcceptLanguageHeaders. The first supported language which is found in the Headers will result in the language of the message and the response.
1.2.1. ODataMessageException will be transformed as follows: If an error code is set it will be displayed. The HTTP status code will be 500. The message text and its language depend on the AcceptLanguageHeaders. The first supported language which is found in the Headers will result in the language of the message and the response.
1.2.1 Runtime Exceptions will be transformed as follows: No error code will be set. HTTP status will be 500. Message text will be taken from the exception and the language for the response will be English as default.

Exception Hierarchy
ODataException
* ODataApplicationException
* ODataMessageException
** EdmException
** EntityProviderException
** ExceptionVisitExpression
** ODataHttpException
*** ODataConflictException
*** ODataForbiddenException
*** ODataMethodNotAllowedException
*** ODataNotAcceptableException
*** ODataNotImplementedException
*** ODataPreconditionFailedException
*** ODataPreconditionRequiredException
*** ODataServiceUnavailableException
*** ODataUnsupportedMediaTypeException
*** ODataNotFoundException
**** UriNotMatchingException
*** ODataBadRequestException
**** ExpressionParserException
**** UriSyntaxException



Copyright © 2013-2015 The Apache Software Foundation. All Rights Reserved.