[ https://issues.apache.org/jira/browse/OLINGO-857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mitko Kolev updated OLINGO-857: ------------------------------- Environment: (was: Java version 2) > 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 > Attachments: -Edm-model-with-namespaces.patch, ABCD.edmx, 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)