You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ar...@apache.org on 2018/04/11 08:18:36 UTC

olingo-odata4 git commit: [OLINGO-1256]Error code improvements

Repository: olingo-odata4
Updated Branches:
  refs/heads/master aaff527dc -> a93d49c1a


[OLINGO-1256]Error code improvements


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/a93d49c1
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/a93d49c1
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/a93d49c1

Branch: refs/heads/master
Commit: a93d49c1aa3fb57aa4aa3914b6b2aefe913fd067
Parents: aaff527
Author: Archana Rai <ar...@sap.com>
Authored: Wed Apr 11 13:48:28 2018 +0530
Committer: Archana Rai <ar...@sap.com>
Committed: Wed Apr 11 13:48:28 2018 +0530

----------------------------------------------------------------------
 .../apache/olingo/server/core/ODataExceptionHelper.java   |  6 +++++-
 .../apache/olingo/server/core/ExceptionHelperTest.java    | 10 ++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a93d49c1/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataExceptionHelper.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataExceptionHelper.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataExceptionHelper.java
index 1e0efb1..ce6e94e 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataExceptionHelper.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataExceptionHelper.java
@@ -132,7 +132,11 @@ public class ODataExceptionHelper {
   }
 
   public static ODataServerError createServerErrorObject(final ODataLibraryException e, final Locale requestedLocale) {
-    return basicTranslatedError(e, requestedLocale);
+    ODataServerError serverError = basicTranslatedError(e, requestedLocale);
+    if(e instanceof SerializerException || e instanceof DeserializerException){
+      serverError.setStatusCode(HttpStatusCode.BAD_REQUEST.getStatusCode());
+    }
+    return serverError;
   }
 
   public static ODataServerError createServerErrorObject(final ODataApplicationException e) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a93d49c1/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java
index dffbf82..10d29ac 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java
@@ -79,6 +79,16 @@ public class ExceptionHelperTest {
       checkStatusCode(serverError, HttpStatusCode.BAD_REQUEST, e);
     }
   }
+  
+  @Test
+  public void libraryExceptionLeadToBadRequest() {
+      ODataLibraryException e = new SerializerException(DEV_MSG, SerializerException.MessageKeys.MISSING_PROPERTY);
+      ODataServerError serverError = ODataExceptionHelper.createServerErrorObject(e, null);
+      checkStatusCode(serverError, HttpStatusCode.BAD_REQUEST, e);
+      e = new SerializerException(DEV_MSG, DeserializerException.MessageKeys.DUPLICATE_PROPERTY);
+      serverError = ODataExceptionHelper.createServerErrorObject(e, null);
+      checkStatusCode(serverError, HttpStatusCode.BAD_REQUEST, e);
+  }
 
   @Test
   public void contentNegotiatorExceptionMustLeadToNotAcceptable() {