[ 
https://issues.apache.org/jira/browse/OLINGO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15780455#comment-15780455
 ] 

Christian Amend commented on OLINGO-1064:
-----------------------------------------

Hi Punith,

then this seems like a bug to me. I had a short look at the code and it seems 
the only point where the EDM is used is the Binder. So IMHO there is a larger 
issue here.
Unfortunately this is where my client knowledge ends. If you would like to 
contribute some fix for this we would be very grateful. Otherwise you can 
reopen this ticket and hope someone else takes it up. As of now I don`t have 
the time for that.

Best Regards,
Christian

> ComplexType is deserialized as Primitive Type if the value is NULL
> ------------------------------------------------------------------
>
>                 Key: OLINGO-1064
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1064
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-core, odata4-client, odata4-commons
>    Affects Versions: (Java) V4 4.2.0
>            Reporter: Punith DG
>            Assignee: Christian Amend
>         Attachments: complexType.png
>
>
> The ODataClient deserializer wrongly converts the Complex Type field to 
> Primitive Type field if the value received for the complex type is NULL.
> e.g. on querying Person data from OData TripPin service 
> (https://services.odata.org/TripPinRESTierService) I received below JSON 
> response.
> {
>       "@odata.context": 
> "http://services.odata.org/TripPinRESTierService/(S(myhztseklikbg41mbg03ugk5))/$metadata#People(AddressInfo,FavoriteFeature,FirstName,HomeAddress,LastName,UserName)",
>       "value": [{
>               "FavoriteFeature": "Feature1",
>               "FirstName": "Angel",
>               "Gender": "Female",
>               "LastName": "Huffman",
>               "UserName": "angelhuffman",
>               "AddressInfo": [{
>                       "Address": "55 Grizzly Peak Rd.",
>                       "City": {
>                               "Name": "Butte",
>                               "CountryRegion": "United States",
>                               "Region": "MT"
>                       }
>               }],
>               "HomeAddress": null
>       }]
> }
> See that 'HomeAddress' is ComplexType of type 'Location' and received 'null' 
> value.
> Similarly, ComplexType property 'City' is deserialized as Primitive Type in 
> the below response.
> "HomeAddress": {
>                       "Address": null,
>                       "City": null
>               }
> When you deserialize and get an entity, the HomeAddress property of the 
> Person entity is set to Primitive Type with null value. This could be complex 
> type?
> Metadata URL - http://tinyurl.com/gm8vomc



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

Reply via email to