Frederik Zimmer created OLINGO-825:
--------------------------------------

             Summary: Create entities of derived types - ODataJsonDeserializer 
ignoring odata.type
                 Key: OLINGO-825
                 URL: https://issues.apache.org/jira/browse/OLINGO-825
             Project: Olingo
          Issue Type: Bug
          Components: odata4-server
    Affects Versions: (Java) V4 4.0.0
            Reporter: Frederik Zimmer


I have an entity which is linked to a collection of entities of a base type. 
Something like this:

<EntityType Name="MyBaseType" Abstract="true">
[...]
</EntityType>
<EntityType Name="DerviedTypeA" BaseType=" MyBaseType ">
[...]
</EntityType>
<EntityType Name="DerviedTypeB" BaseType="MyBaseType ">
[...]
</EntityType>
<EntityType Name="A">
[...]
<NavigationProperty Name="params" Type="Collection(MyBaseType)"/> </EntityType>

A deep insert of the entity A and the entity set params is done. The entity set 
contains entities of type DerviedTypeA and DerviedTypeB. The request contains 
odata.type annotations which specify the correct type of the entities. The 
ODataJsonDeserializer ignores the odata.type annotations and then tries to 
create DerviedTypeA and DerviedTypeB entities as entities of type MyBaseType 
and therefore complains that there are more properties than expected.
The spec says that the odata.type annotation must be present if "The type is 
derived from the type specified for the (collection of) entities or (collection 
of) complex type instances" as there is no other way to know the correct type.
The ODataJsonDeserializer should not ignore the odata.type annotations.



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

Reply via email to