You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Oliver Grande (JIRA)" <ji...@apache.org> on 2018/02/02 12:07:00 UTC

[jira] [Created] (OLINGO-1231) Serializer for complex collection properties does not respect $select

Oliver Grande created OLINGO-1231:
-------------------------------------

             Summary: Serializer for complex collection properties does not respect $select
                 Key: OLINGO-1231
                 URL: https://issues.apache.org/jira/browse/OLINGO-1231
             Project: Olingo
          Issue Type: Bug
          Components: odata4-server
    Affects Versions: (Java) V4 4.4.0
            Reporter: Oliver Grande


I have an entity type that contains a complex collection property:

 
{code:xml}
<EntityType Name="Person">
  <Property Name="BirthDay" Type="Edm.Date"/>
  <Property Name="LastName" Type="Edm.String" MaxLength="255"/>
  <Property Name="FirstName" Type="Edm.String" MaxLength="255"/>
  <Property Name="InhouseAddress" Type="Collection(dummy.InhouseAddress)">
{code}
 

Now I can try to restrict the returned columns using $select:

 
{code:java}
.../Persons('99')/InhouseAddress?$select=Building,TaskID{code}
The serializer (JSON as well as XML) do not respect the $select and fills all not retrieved properties with null: 
{code:xml}
<m:value m:type="#Collection(dummy.InhouseAddress)" m:context="$metadata#Persons/InhouseAddress">
<m:element>
   <d:RoomNumber m:null="true"/>
   <d:Floor m:null="true"/>
   <d:TaskID>DEV</d:TaskID>
   <d:Building>1</d:Building>
</m:element>
</m:value>
{code}
 
 It looks like this is because _ODataXmlSerializer.complexCollection_ sets the parameter selectedPaths to _null_ when calling writeComplexValue

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)