[ https://issues.apache.org/jira/browse/OLINGO-1099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Amend resolved OLINGO-1099. ------------------------------------- Resolution: Fixed Assignee: Christian Amend 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=f55205561ea5a4f7d37b2015e5f06bfdbb704c89 > 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 > Assignee: Christian Amend > Priority: Minor > Fix For: (Java) V4 4.4.0 > > 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)