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

Mitko Kolev edited comment on OLINGO-857 at 1/28/16 11:10 AM:
--------------------------------------------------------------

Hi Michael, 

thanks a lot for looking into it. Unfortunately the impact of the workaround 
will be a changed URL, which is not desired. 
I think a better workaround would be to use only 1 schema. I think we will go 
this way. 

Is there some reference for OData 2.x xsd for the default entity container? 
The northiwnd v2 reference EDM  
http://services.odata.org/V2/Northwind/Northwind.svc/$metadata seems a bit 
different from what Olingo generates. In the northwind the entity containers 
are in another schema.

Best regards, 
Mitko
 



was (Author: mkolev):
Hi Michael, 

thanks a lot for looking into it. Unfortunately the impact of the workaround 
will be a changed URL, which is not desired. 
I think a better workaround would be to use only 1 schema. I think we will go 
that way. 

Is there some reference for OData 2.x xsd for the default entity container? 
The northiwnd v2 reference EDM  
http://services.odata.org/V2/Northwind/Northwind.svc/$metadata seems a bit 
different from what Olingo generates. In the northwind the entity containers 
are in another schema.

Best regards, 
Mitko
 


> AnnotationEdmProvider generates unparsable EDM
> ----------------------------------------------
>
>                 Key: OLINGO-857
>                 URL: https://issues.apache.org/jira/browse/OLINGO-857
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-annotation
>    Affects Versions: V2 2.0.5
>            Reporter: Mitko Kolev
>            Assignee: Michael Bolz
>         Attachments: -Edm-model-with-namespaces.patch, ABCD.edmx, 
> AnnotationEdmProviderNamespacesTest.java, CDAB.edmx, long-description.txt
>
>
> Using different namespaces for olingo annotated POJOs and the 
> AnnotationEdmProvider may produce unparsable queries. Here is how to 
> reproduce:
> * create model that uses 2 namespaces with navigation between entities, for 
> example the entities {{A}} and {{B}} have namespace {{AB}}, the entities 
> {{C}}, {{D}} have namespace {{CD}}.
> {code}
> @EdmEntityType(name = "A", namespace = "AB")
>     @EdmEntitySet(name = "AA")
>     class A {
>         @EdmKey
>         @EdmProperty
>         String id;
>         @EdmNavigationProperty(toMultiplicity = Multiplicity.ZERO_OR_ONE, 
> toType = B.class)
>         B b;
>     }
>     @EdmEntityType(name = "B", namespace = "AB")
>     @EdmEntitySet
>     class B {
>         @EdmNavigationProperty(toMultiplicity = Multiplicity.MANY, toType = 
> A.class)
>         List<A> a;
>     }
>     @EdmEntityType(name = "C", namespace = "CD")
>     @EdmEntitySet(name = "CC")
>     class C {
>         @EdmKey
>         @EdmProperty
>         String id;
>         @EdmNavigationProperty(toMultiplicity = Multiplicity.ZERO_OR_ONE, 
> toType = D.class)
>         D d;
>     }
>     @EdmEntityType(name = "D", namespace = "CD")
>     @EdmEntitySet
>     class D {
>         @EdmNavigationProperty(toMultiplicity = Multiplicity.MANY, toType = 
> C.class)
>         List<C> c;
>     }
> {code}
> * Now build the model with 
> {code}
> new AnnotationEdmProvider(Arrays.<Class<?>> asList(A.class, B.class, C.class, 
> D.class));      
> {code}
> * The query http://localhost/CC('1')/D results in 
>  Attempt to parse these queries results in 
> {code}
> org.apache.olingo.odata2.api.edm.EdmException: An exception occurred.
>       at 
> org.apache.olingo.odata2.core.edm.provider.EdmEntityContainerImplProv.getAssociationSet(EdmEntityContainerImplProv.java:169)
>       at 
> ...
> {code}
> I guess the reason is that the default namespace container is generated in 
> the wrong schema (the schema for the last entities in the list)
> This issue is blocking our development. 



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

Reply via email to