[
https://issues.apache.org/jira/browse/OLINGO-1099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Archana Rai updated OLINGO-1099:
--------------------------------
Attachment: f7aa6aac.diff
> Refactor the V4 $levels implementation
> --------------------------------------
>
> Key: OLINGO-1099
> URL: https://issues.apache.org/jira/browse/OLINGO-1099
> Project: Olingo
> Issue Type: Improvement
> Components: odata4-server
> Affects Versions: (Java) V4 4.1.0
> Reporter: Archana Rai
> Priority: Minor
> Attachments: f7aa6aac.diff
>
>
> Refactor the V4 $levels implementation based on the code review notes:
> There have been ExpandSelectHelper changes. If they are not needed revert
> them.
> With version 4.3.0 EntityIds became mandatory in the ODataEntity object.
> Revert this change.
> -> If not there generate the key
> -> if not possible to generate because key fields are missing or the id field
> isn`t set but the Id is mandatory then throw an exception
> $levels specific:
> Do not check for ancestors based on the ODataEntity ID. Just use object
> references and comape with ==
> $levels=1 expandes Navigation properties for the first level. $levels=1 has
> the same functionality as leaving it away.
> ExpandSelectHelper getExpandAll and isExpandAll have the same functionallity.
> Remove on method.
> Important:
> Only navigation properties of the same type get expanded. Not all of them.
> This is a bug.
> Refactor navigation property serialization. There should only be one call to
> writeExpandedNavigation property! Not multiple ones based on some flags etc.
> Check for cycle only if navigation property has to be expanded.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)