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

Christian Amend resolved OLINGO-1064.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: (Java) V4 4.4.0

Thanks for the contribution. I applied the patch with the following commit: 
https://git-wip-us.apache.org/repos/asf?p=olingo-odata4.git;a=commit;h=272719d59fe84e7010b7c2117c1db0c31bfc0e00


> 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: odata4-client, odata4-commons
>    Affects Versions: (Java) V4 4.2.0
>            Reporter: Punith DG
>            Assignee: Christian Amend
>             Fix For: (Java) V4 4.4.0
>
>         Attachments: complexType.png, OLINGO-1064.diff
>
>
> 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.15#6346)

Reply via email to