Roman  Vink created OLINGO-1319:
-----------------------------------

             Summary: filter on navigation property rejected by parser
                 Key: OLINGO-1319
                 URL: https://issues.apache.org/jira/browse/OLINGO-1319
             Project: Olingo
          Issue Type: Bug
          Components: odata4-server
    Affects Versions: (Java) V4 4.4.0, (Java) V4 4.3.0, (Java) V4 4.2.0
            Reporter: Roman  Vink


Here is a simple setup:

 
EntityType Name="device" OpenType="true">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.Int64" Nullable="false"/>
<Property Name="Name" Type="Edm.String"/>
 
 
<NavigationProperty Name="components" Type="Collection(com.im.odata.component)" 
Partner="device"/>
 
 
 
 
</EntityType>
 
<EntityType Name="component" OpenType="true">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.Int64" Nullable="false"/>
<Property Name="DeviceItemID" Type="Edm.Int32"/>
<Property Name="Name" Type="Edm.String"/>
 
<NavigationProperty Name="device" Type="com.im.odata.device" Nullable="false" 
Partner="components"/>
 
 
 
 
</EntityType>
 1 to many relationship between device and components.

a query like   devices?&$filter=components/any(s:DeviceItemID eq 35)  would 
fail with 

java.lang.AssertionError: exception: The property 'DeviceItemID', used in a 
query expression, is not defined in type 'com.im.odata.device'. [HTTP/1.1 400 
Bad Request]

devices?&$filter=components/any(s:ID eq 35) would work fine

 

 



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

Reply via email to