Repository: olingo-odata4 Updated Branches: refs/heads/master 256468aa2 -> 9658091ae
OLINGO-913: Correcting the SchemaBasedEdmProvider behavior Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/9658091a Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/9658091a Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/9658091a Branch: refs/heads/master Commit: 9658091ae1fbe19411058605a72df7577aa7bddb Parents: 256468a Author: Ramesh Reddy <[email protected]> Authored: Thu Mar 24 15:28:48 2016 -0500 Committer: Ramesh Reddy <[email protected]> Committed: Thu Mar 24 15:28:48 2016 -0500 ---------------------------------------------------------------------- .../olingo/server/core/SchemaBasedEdmProvider.java | 12 ++++++------ .../apache/olingo/server/core/MetadataParserTest.java | 9 +++++---- 2 files changed, 11 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9658091a/lib/server-core-ext/src/main/java/org/apache/olingo/server/core/SchemaBasedEdmProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-core-ext/src/main/java/org/apache/olingo/server/core/SchemaBasedEdmProvider.java b/lib/server-core-ext/src/main/java/org/apache/olingo/server/core/SchemaBasedEdmProvider.java index 3017682..348602e 100644 --- a/lib/server-core-ext/src/main/java/org/apache/olingo/server/core/SchemaBasedEdmProvider.java +++ b/lib/server-core-ext/src/main/java/org/apache/olingo/server/core/SchemaBasedEdmProvider.java @@ -189,7 +189,7 @@ public class SchemaBasedEdmProvider implements CsdlEdmProvider { @Override public CsdlEntitySet getEntitySet(FullQualifiedName fqn, String entitySetName) throws ODataException { - CsdlSchema schema = getSchema(fqn.getFullQualifiedNameAsString()); + CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null) { CsdlEntityContainer ec = schema.getEntityContainer(); if (ec != null && ec.getEntitySets() != null) { @@ -205,7 +205,7 @@ public class SchemaBasedEdmProvider implements CsdlEdmProvider { @Override public CsdlSingleton getSingleton(FullQualifiedName fqn, String singletonName) throws ODataException { - CsdlSchema schema = getSchema(fqn.getFullQualifiedNameAsString()); + CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null) { CsdlEntityContainer ec = schema.getEntityContainer(); if (ec != null && ec.getSingletons() != null) { @@ -222,7 +222,7 @@ public class SchemaBasedEdmProvider implements CsdlEdmProvider { @Override public CsdlActionImport getActionImport(FullQualifiedName fqn, String actionImportName) throws ODataException { - CsdlSchema schema = getSchema(fqn.getFullQualifiedNameAsString()); + CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null) { CsdlEntityContainer ec = schema.getEntityContainer(); if (ec != null && ec.getActionImports() != null) { @@ -239,7 +239,7 @@ public class SchemaBasedEdmProvider implements CsdlEdmProvider { @Override public CsdlFunctionImport getFunctionImport(FullQualifiedName fqn, String functionImportName) throws ODataException { - CsdlSchema schema = getSchema(fqn.getFullQualifiedNameAsString()); + CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null) { CsdlEntityContainer ec = schema.getEntityContainer(); if (ec != null && ec.getFunctionImports() != null) { @@ -265,14 +265,14 @@ public class SchemaBasedEdmProvider implements CsdlEdmProvider { } } } else { - schema = getSchema(fqn.getFullQualifiedNameAsString()); + schema = getSchema(fqn.getNamespace()); } if (schema != null) { CsdlEntityContainer ec = schema.getEntityContainer(); if (ec != null) { CsdlEntityContainerInfo info = new CsdlEntityContainerInfo(); - info.setContainerName(new FullQualifiedName(schema.getNamespace())); + info.setContainerName(new FullQualifiedName(schema.getNamespace(), ec.getName())); if (schema.getEntityContainer().getExtendsContainer() != null) { info.setExtendsContainer(new FullQualifiedName(schema.getEntityContainer().getExtendsContainer())); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9658091a/lib/server-core-ext/src/test/java/org/apache/olingo/server/core/MetadataParserTest.java ---------------------------------------------------------------------- diff --git a/lib/server-core-ext/src/test/java/org/apache/olingo/server/core/MetadataParserTest.java b/lib/server-core-ext/src/test/java/org/apache/olingo/server/core/MetadataParserTest.java index 97ae420..5b6d490 100644 --- a/lib/server-core-ext/src/test/java/org/apache/olingo/server/core/MetadataParserTest.java +++ b/lib/server-core-ext/src/test/java/org/apache/olingo/server/core/MetadataParserTest.java @@ -48,6 +48,7 @@ import org.junit.Test; public class MetadataParserTest { final String NS = "Microsoft.OData.SampleService.Models.TripPin"; final FullQualifiedName NSF = new FullQualifiedName(NS); + final FullQualifiedName EC = new FullQualifiedName(NS, "DefaultContainer"); CsdlEdmProvider provider = null; @@ -139,7 +140,7 @@ public class MetadataParserTest { @Test public void testEntitySet() throws Exception { - CsdlEntitySet es = provider.getEntitySet(NSF, "People"); + CsdlEntitySet es = provider.getEntitySet(EC, "People"); assertNotNull(es); assertEquals("Microsoft.OData.SampleService.Models.TripPin.Person",es.getType()); @@ -153,7 +154,7 @@ public class MetadataParserTest { @Test public void testFunctionImport() throws Exception { - CsdlFunctionImport fi = provider.getFunctionImport(NSF, "GetNearestAirport"); + CsdlFunctionImport fi = provider.getFunctionImport(EC, "GetNearestAirport"); assertNotNull(fi); assertEquals("Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport", fi.getFunction()); assertEquals("Airports", fi.getEntitySet()); @@ -162,7 +163,7 @@ public class MetadataParserTest { @Test public void testActionImport() throws Exception { - CsdlActionImport ai = provider.getActionImport(NSF, "ResetDataSource"); + CsdlActionImport ai = provider.getActionImport(EC, "ResetDataSource"); assertNotNull(ai); assertEquals("Microsoft.OData.SampleService.Models.TripPin.ResetDataSource", ai.getAction()); assertNull(ai.getEntitySet()); @@ -170,7 +171,7 @@ public class MetadataParserTest { @Test public void testSingleton() throws Exception { - CsdlSingleton single = this.provider.getSingleton(NSF, "Me"); + CsdlSingleton single = this.provider.getSingleton(EC, "Me"); assertNotNull(single); assertEquals("Microsoft.OData.SampleService.Models.TripPin.Person",single.getType());
