You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Christian Amend (JIRA)" <ji...@apache.org> on 2016/01/18 15:41:39 UTC
[jira] [Resolved] (OLINGO-847) How to implement ExpressionVisitor
for secondary entities in OData 2.0 ?
[ https://issues.apache.org/jira/browse/OLINGO-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Amend resolved OLINGO-847.
------------------------------------
Resolution: Fixed
Assignee: Christian Amend
Hi Joshi,
here the answer I wrote on the mailing list for reference:
within the visitMember method you will have access to the kind of property which was addressed. For example our testing scenario throws a “not implemented” in this case as shown in this code:
CommonExpression currentExpression = memberExpression;
while (currentExpression != null) {
final PropertyExpression currentPropertyExpression =
(PropertyExpression) (currentExpression.getKind() == ExpressionKind.MEMBER ?
((MemberExpression) currentExpression).getProperty() : currentExpression);
final EdmTyped currentProperty = currentPropertyExpression.getEdmProperty();
final EdmTypeKind kind = currentProperty.getType().getKind();
if (kind == EdmTypeKind.SIMPLE || kind == EdmTypeKind.COMPLEX) {
propertyPath.add(0, (EdmProperty) currentProperty);
} else {
throw new ODataNotImplementedException();
}
currentExpression =
currentExpression.getKind() == ExpressionKind.MEMBER ? ((MemberExpression) currentExpression).getPath()
: null;
}
Instead in your code you would need to follow the path which leads you to the addressed navigation property.
Best Regards,
Christian
> How to implement ExpressionVisitor for secondary entities in OData 2.0 ?
> ------------------------------------------------------------------------
>
> Key: OLINGO-847
> URL: https://issues.apache.org/jira/browse/OLINGO-847
> Project: Olingo
> Issue Type: Question
> Reporter: Prathamesh Joshi
> Assignee: Christian Amend
> Priority: Critical
> Labels: Odata, Olingo
>
> Hi all,
> I have Odata service implemented which takes URL request and then fetches corresponding data from service layer. I have implemented ExpressionVisitor for extracting filter criteria from Odata URL. It works fine for simple entities but when I apply filter to a field of nested entity ExpressionVisitor doesnt identifies it. Is there any way to identify nested entities filter operation ?
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)