Florent Albert created OLINGO-1645:
--------------------------------------

             Summary: 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: Version (Java) V4 5.0.0, (Java) V4 4.10.0
            Reporter: Florent Albert


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]



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

Reply via email to