You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Ruslan Stelmachenko (JIRA)" <ji...@apache.org> on 2014/04/15 07:38:16 UTC

[jira] [Created] (OLINGO-245) Wrong EDM property type when setDefaultNaming is false

Ruslan Stelmachenko created OLINGO-245:
------------------------------------------

             Summary: Wrong EDM property type when setDefaultNaming is false
                 Key: OLINGO-245
                 URL: https://issues.apache.org/jira/browse/OLINGO-245
             Project: Olingo
          Issue Type: Bug
          Components: odata2-jpa
    Affects Versions: V2 1.2.0
            Reporter: Ruslan Stelmachenko
         Attachments: apache-olingo-tutorial.zip

If I set {{ODataJPAContext.setDefaultNaming(false)}} then simple request stop working: http://localhost:8080/olingo.odata2.sample.cars.web/MyODataJPA.svc/Productss
with this error:
{quote}
java.lang.ClassCastException

org.apache.olingo.odata2.core.edm.provider.EdmSimplePropertyImplProv cannot be cast to org.apache.olingo.odata2.api.edm.EdmNavigationProperty

org.apache.olingo.odata2.core.ep.aggregator.EntityInfoAggregator	createNavigationInfoObjects	383
{quote}

*The problem in ManyToOne fields.*

I debug a little and realized that method {{org.apache.olingo.odata2.core.ep.aggregator.EntityInfoAggregator.createNavigationInfoObjects}} receiving {{propertyNames}} list with propery names that already in {{edmProperties}} as {{EdmSimplePropertyImplProv}}. But if I set {{ODataJPAContext.setDefaultNaming(true)}} then the same method receiving list with navigation propery names as *JpaEntityClassNameDetails* so the names are different and all working fine.

I dont know how to fix this but because of this behavior we can't just use  {{ODataJPAContext.setDefaultNaming(false)}} for ManyToOne fields.

I attach a simple maven project with my Entities and simple servlet for run in tocmat. Problematic entity is {{Products}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)