You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Archana Rai (JIRA)" <ji...@apache.org> on 2017/03/28 07:54:41 UTC

[jira] [Created] (OLINGO-1099) Refactor the V4 $levels implementation

Archana Rai created OLINGO-1099:
-----------------------------------

             Summary: 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


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)