You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Chandan V.A (JIRA)" <ji...@apache.org> on 2014/11/01 08:41:33 UTC

[jira] [Commented] (OLINGO-414) Cannot Filter on Navigation Property

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

Chandan V.A commented on OLINGO-414:
------------------------------------

Hi Michael,
Sorry, I missed looking into this issue.

In fact we need to generate a JPQL statement with Joins to support such a use case if I am not wrong. The JPA processor now should determine whether to generate a simple SELECT statement or a SELECT statement with JOINS based on the filter conditions.

Regards
Chandan

> Cannot Filter on Navigation Property
> ------------------------------------
>
>                 Key: OLINGO-414
>                 URL: https://issues.apache.org/jira/browse/OLINGO-414
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-jpa
>    Affects Versions: V2 2.0.0
>            Reporter: Simon Carroll
>            Assignee: Chandan V.A
>         Attachments: olingo-414-exception.diff, olingo-414-patch.diff
>
>
> We are receiving an error when we try to filter on a navigation property.  In our solution we have a Notification entity and a User entity, we would like to retrieve a specific Notification but only if it is linked to the requesting user.  This would involve an ODATA request which filters on both the UserId and the NotificationId.  An example of the URL we are invoking is:
> dspplatform.svc/Notifications?$filter=NotificationId%20eq%204%20and%20UserDetails/UserId%20eq%202
> This returns the following error:
> org.apache.olingo.odata2.core.edm.provider.EdmNavigationPropertyImplProv cannot be cast to org.apache.olingo.odata2.api.edm.EdmProperty
> Can you please advise on how to perform filters on a Navigation property as we need this as part of our core functionality?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Re: [jira] [Commented] (OLINGO-414) Cannot Filter on Navigation Property

Posted by Giacomo Pati <gi...@pati.ch>.
On Nov 1, 2014 8:41 AM, "Chandan V.A (JIRA)" <ji...@apache.org> wrote:
>
>
>     [
https://issues.apache.org/jira/browse/OLINGO-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14193015#comment-14193015
]
>
> Chandan V.A commented on OLINGO-414:
> ------------------------------------
>
> Hi Michael,
> Sorry, I missed looking into this issue.
>
> In fact we need to generate a JPQL statement with Joins to support such a
use case if I am not wrong. The JPA processor now should determine whether
to generate a simple SELECT statement or a SELECT statement with JOINS
based on the filter conditions.

Joins IIRC are determined on the JPA mappings (annotation or in orm.xml).
No need the JPA processor needs to care about.
The JPA processor only needs to care about joins when it comes to
fullfilling $expand requests for performance reasons (1+N problem).

>
> Regards
> Chandan
>
> > Cannot Filter on Navigation Property
> > ------------------------------------
> >
> >                 Key: OLINGO-414
> >                 URL: https://issues.apache.org/jira/browse/OLINGO-414
> >             Project: Olingo
> >          Issue Type: Bug
> >          Components: odata2-jpa
> >    Affects Versions: V2 2.0.0
> >            Reporter: Simon Carroll
> >            Assignee: Chandan V.A
> >         Attachments: olingo-414-exception.diff, olingo-414-patch.diff
> >
> >
> > We are receiving an error when we try to filter on a navigation
property.  In our solution we have a Notification entity and a User entity,
we would like to retrieve a specific Notification but only if it is linked
to the requesting user.  This would involve an ODATA request which filters
on both the UserId and the NotificationId.  An example of the URL we are
invoking is:
> >
dspplatform.svc/Notifications?$filter=NotificationId%20eq%204%20and%20UserDetails/UserId%20eq%202
> > This returns the following error:
> >
org.apache.olingo.odata2.core.edm.provider.EdmNavigationPropertyImplProv
cannot be cast to org.apache.olingo.odata2.api.edm.EdmProperty
> > Can you please advise on how to perform filters on a Navigation
property as we need this as part of our core functionality?
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)