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

Florent Albert updated OLINGO-1645:
-----------------------------------
    Description: 
Currently (as of Olingo 5.0.0), support for Open Type is limited to specifying 
"OpenType=true" in the EDM.

However, parsing, serialization and deserialization of dynamic properties of 
open types do not work.

The goal of this enhancement is to implement full support for open types, 
including:
 * Ability to deserialize a request body of an entity/complex type containing 
dynamic properties.
 ** Create (POST)/Update (PATCH/PUT) requests 
 ** Action parameters
 * Ability to serialize dynamic properties in response bodies
 ** Note that when $select is specified and the dynamic property does not 
exist, the request should be successful and the response should contain a null 
value: [OData Version 4.01. Part 2: URL 
Conventions|https://docs.oasis-open.org/odata/odata/v4.01/os/part2-url-conventions/odata-v4.01-os-part2-url-conventions.html#sec_SystemQueryOptionselect]
 * Ability to parse dynamic properties passed in query parameters ($select, 
$filter, $orderby)
 ** Parsed dynamic properties should be passed down to ExpressionVisitors and 
ExpressionValidators

Ambiguous types (e.g. DateTimeOffSet and String) should be resolved according 
to the _odata.type_ annotation when present, the _cast_ method when present or 
the default logic specified here: [OData JSON Format Version 
4.01|https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ControlInformationtypeodatatype]

  was:
Currently (as of Olingo 5.0.0), support for Open Type is limited to specifying 
"OpenType=true" in the EDM.

However, parsing, serialization and deserialization of dynamic properties of 
open types do not work.

The goal of this enhancement is to implement full support for open types, 
including:
 * Ability to deserialize a request body of an entity/complex type containing 
dynamic properties.
 ** Create (POST)/Update (PATCH/PUT) requests 
 ** Action parameters
 * Ability to serialize dynamic properties in response bodies
 ** Note that when $select is specified and the dynamic property does not 
exist, the request should be successful and the response should contain a null 
value: [OData Version 4.01. Part 2: URL 
Conventions|https://docs.oasis-open.org/odata/odata/v4.01/os/part2-url-conventions/odata-v4.01-os-part2-url-conventions.html#sec_SystemQueryOptionselect]
 * Ability to parse dynamic properties passed in query parameters ($select, 
$filter, $orderby)
 ** Parsed dynamic properties should be passed down to ExpressionVisitors and 
ExpressionValidators

Ambiguous types (e.g. DateTimeOffSet and String) should be resolved according 
to the _odata.type_ annotation when present, the _cast_ method when present 
(unsupported by Olingo at the moment) or the default logic specified here: 
[OData JSON Format Version 
4.01|https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ControlInformationtypeodatatype]


> Support for OpenType
> --------------------
>
>                 Key: OLINGO-1645
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1645
>             Project: Olingo
>          Issue Type: Improvement
>          Components: odata4-server
>    Affects Versions: (Java) V4 4.10.0, Version (Java) V4 5.0.0
>            Reporter: Florent Albert
>            Priority: Major
>
> Currently (as of Olingo 5.0.0), support for Open Type is limited to 
> specifying "OpenType=true" in the EDM.
> However, parsing, serialization and deserialization of dynamic properties of 
> open types do not work.
> The goal of this enhancement is to implement full support for open types, 
> including:
>  * Ability to deserialize a request body of an entity/complex type containing 
> dynamic properties.
>  ** Create (POST)/Update (PATCH/PUT) requests 
>  ** Action parameters
>  * Ability to serialize dynamic properties in response bodies
>  ** Note that when $select is specified and the dynamic property does not 
> exist, the request should be successful and the response should contain a 
> null value: [OData Version 4.01. Part 2: URL 
> Conventions|https://docs.oasis-open.org/odata/odata/v4.01/os/part2-url-conventions/odata-v4.01-os-part2-url-conventions.html#sec_SystemQueryOptionselect]
>  * Ability to parse dynamic properties passed in query parameters ($select, 
> $filter, $orderby)
>  ** Parsed dynamic properties should be passed down to ExpressionVisitors and 
> ExpressionValidators
> Ambiguous types (e.g. DateTimeOffSet and String) should be resolved according 
> to the _odata.type_ annotation when present, the _cast_ method when present 
> or the default logic specified here: [OData JSON Format Version 
> 4.01|https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ControlInformationtypeodatatype]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to