[ 
https://issues.apache.org/jira/browse/OLINGO-825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ramesh Reddy resolved OLINGO-825.
---------------------------------
       Resolution: Fixed
    Fix Version/s: (Java) V4 4.2.0

Fixed with 
https://github.com/apache/olingo-odata4/commit/b7005b774f9172b00ee90773e2f32ed84a9597cd

Many thanks to [~frederik.zimmer] for identifying the providing the patch.

> 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: New Feature
>          Components: odata4-server
>    Affects Versions: (Java) V4 4.0.0
>            Reporter: Frederik Zimmer
>            Assignee: Ramesh Reddy
>             Fix For: (Java) V4 4.2.0
>
>         Attachments: 
> OLINGO825-Create-entities-of-derived-types--ODataJso.patch
>
>
> 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