[ 
https://issues.apache.org/jira/browse/OLINGO-1305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17557273#comment-17557273
 ] 

Adrian Wasik commented on OLINGO-1305:
--------------------------------------

Are there any plans to fix this bug? 

I can reproduce the same by taking ComplexType directly as an action input 
parameter:

{code:java}
<Action Name="TestAction" IsBound="false">                
    <Parameter Name="ComplexInputs" Type="Collection(Namespace.ComplexInput)"/> 
           
</Action>

<ComplexType Name="ComplexInput"> 
     <Property Name="Description" Type="Edm.String"/>                
     <NavigationProperty Name="Object" Type="Namespace.Object"/>                
     <NavigationProperty Name="Objects" Type="Collection(Namespace.Object)"/>   
         
</ComplexType>

Payload example:
{    
    "ComplexInputs": [        
       {            
             "obj...@odata.bind": "Object(1)",           
             "obje...@odata.bind[
                "Object(2)",
                "Object(3)"
            ],
            "Description": "desc"        
       }    
    ]
}
{code}

[https://github.com/apache/olingo-odata4/blob/eb1a2d80f6a0fa3f6839f77f20d6897a3eb17797/lib/server-core/src/main/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializer.java#L779]

 

ODataJsonDeserializer is handling only regular properties.

> Serializers not publishing all links of a ComplexType with navigationProperty 
> collection
> ----------------------------------------------------------------------------------------
>
>                 Key: OLINGO-1305
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1305
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata4-server
>    Affects Versions: (Java) V4 4.5.0
>            Reporter: Peter Lawrence
>            Priority: Blocker
>
> If a property is defined as a ComplexType as in the following metadata:
> <ComplexType Name="employer">
>  <NavigationProperty Name="contractEmployer" 
> Type="Collection(northwind.Shipper)"/>
>  <NavigationProperty Name="parttimeEmployer" 
> Type="Collection(northwind.Supplier)"/>
>  </ComplexType>
>   
>  Then the serializers (Json and Atom) serialize only one of the links 
> associated with any entity with a property of type employer.
> The process is as follows::
> writeNavigationProperties invokes getNavigationLink  which invokes 
> getOneByTitle
> If the navigationProperty is defined as a collection should it not publish 
> all links?



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to