You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Héctor Navarro (JIRA)" <ji...@apache.org> on 2016/07/19 11:31:20 UTC

[jira] [Created] (OLINGO-981) Binding operation null on to one

Héctor Navarro created OLINGO-981:
-------------------------------------

             Summary: Binding operation null on to one
                 Key: OLINGO-981
                 URL: https://issues.apache.org/jira/browse/OLINGO-981
             Project: Olingo
          Issue Type: Improvement
    Affects Versions: (Java) V4 4.2.0
            Reporter: Héctor Navarro
             Fix For: (Java) V4 4.3.0


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. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)