Uploaded image for project: 'Olingo'
  1. Olingo
  2. OLINGO-981

Binding operation null on to one

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • (Java) V4 4.2.0
    • (Java) V4 4.3.0
    • odata4-server
    • None

    Description

      Apache Olingo isn't compliant with OData 4 feature "For nullable single-valued navigation properties the value null may be used to remove the relationship".

      I believe if the navigation property is a single entity (to one relationship) and it is defined as nullable, it can be null, as sais at OData documentation ("For nullable single-valued navigation properties the value null may be used to remove the relationship.").

      As example, we can use org.apache.olingo.server.core.deserializer.json.ODataJsonDeserializerEntityTest.bindingOperationNullOnToOne():

      @Test
      public void bindingOperationNullOnToOne() throws Exception {
      String entityString =
      "

      {\"PropertyInt16\":32767," + "\"PropertyString\":\"First Resource - positive values\"," + "\"NavPropertyETTwoPrimOne@odata.bind\":null" + "}

      ";
      expectException(entityString, "ETAllPrim",
      DeserializerException.MessageKeys.INVALID_NULL_ANNOTATION);
      }

      I believe that if we define NavPropertyETTwoPrimOne as nullable, it shouldn't throw INVALID_NULL_ANNOTATION exception.

      Attachments

        Activity

          People

            rareddy Ramesh Reddy
            hecnabae Héctor Navarro
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: