[
https://issues.apache.org/jira/browse/OLINGO-930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Amend resolved OLINGO-930.
------------------------------------
Resolution: Duplicate
Assignee: Christian Amend
Hi Darren,
this is a known issue and currently not supported. The original issue is this:
https://issues.apache.org/jira/browse/OLINGO-414
I will change the error message for this to better reflect the current status.
If you have any contributions to speed up this feature we would be very
grateful.
> Filter condition on an expanded attribute fails with ClassCastException
> -----------------------------------------------------------------------
>
> Key: OLINGO-930
> URL: https://issues.apache.org/jira/browse/OLINGO-930
> Project: Olingo
> Issue Type: Bug
> Components: odata2-jpa
> Affects Versions: V2 2.0.5, V2 2.0.6
> Reporter: Darren Lindley
> Assignee: Christian Amend
>
> i installed the sample cars/manufacturers application and tried this query:
> http://localhost:8080/MyFormula.svc/Cars?$filter=ManufacturerDetails/Name%20eq%20%27SuperCar%27&$expand=ManufacturerDetails
> this fails with the message:
> class java.lang.ClassCastException :
> org.apache.olingo.odata2.core.edm.provider.EdmNavigationPropertyImplProv
> cannot be cast to org.apache.olingo.odata2.api.edm.EdmProperty
> This appears to come from ODataExpressionParser:
> {code:title=ODataExpressionParser.java|borderStyle=solid}
> private static String getPropertyName(final CommonExpression
> whereExpression) throws EdmException {
> EdmProperty property = ((EdmProperty) ((PropertyExpression)
> whereExpression).getEdmProperty());
> EdmMapping mapping = property.getMapping();
> String name = mapping != null ? mapping.getInternalName() :
> property.getName();
> return name;
> }
> {code}
> changing this to :
> {code:title=ODataExpressionParser.java|borderStyle=solid}
> private static String getPropertyName(final CommonExpression
> whereExpression) throws EdmException {
> EdmTyped edmTyped = ((PropertyExpression)
> whereExpression).getEdmProperty();
> EdmMapping mapping = ((EdmMappable) edmTyped).getMapping();
> return mapping != null ? mapping.getInternalName() : edmTyped.getName();
> }
> {code}
> resolves the issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)