Repository: olingo-odata4 Updated Branches: refs/heads/master 3fa2b3df2 -> be3b10a24
[OLINGO-826] Add Containment EntitySet Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/a11cb6d6 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/a11cb6d6 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/a11cb6d6 Branch: refs/heads/master Commit: a11cb6d65988d6602961b9e3452dde7850b6573a Parents: 3fa2b3d Author: Christian Amend <[email protected]> Authored: Tue Nov 17 10:36:57 2015 +0100 Committer: Christian Amend <[email protected]> Committed: Tue Nov 17 10:36:57 2015 +0100 ---------------------------------------------------------------------- .../tecsvc/provider/ComplexTypeProvider.java | 9 ++-- .../tecsvc/provider/ContainerProvider.java | 39 +++++++++++++--- .../tecsvc/provider/EntityTypeProvider.java | 22 +++++++-- .../tecsvc/provider/PropertyProvider.java | 49 ++++++++++++++------ .../server/tecsvc/provider/SchemaProvider.java | 1 + 5 files changed, 93 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a11cb6d6/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java index 7db6fcf..a7e10f9 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java @@ -155,10 +155,11 @@ public class ComplexTypeProvider { .setName("CTNavCont") .setProperties(new ArrayList<CsdlProperty>()) .setNavigationProperties(Arrays.asList( - PropertyProvider.collectionNavPropertyETKeyNavContMany_CT_ETKeyNav, - PropertyProvider.navPropertyETKeyNavContOne_CT_ETeyNav, - PropertyProvider.collectionNavPropertyETTwoKeyNavContMany_CT_ETKeyNav, - PropertyProvider.navPropertyETTwoKeyNavContOne_CT_ETKeyNav)); + PropertyProvider.navPropertyETKeyNavOne_CT_ETeyNav, + PropertyProvider.collectionNavPropertyETKeyNavMany_CT_ETKeyNav, + PropertyProvider.navPropertyETTwoKeyNavOne_CT_ETTwoKeyNav, + PropertyProvider.collectionNavPropertyETTwoKeyNavMany_CT_ETTwoKeyNav + )); } else if (complexTypeName.equals(nameCTBasePrimCompNav)) { return new CsdlComplexType() http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a11cb6d6/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java index e9c879e..c9db21e 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java @@ -99,6 +99,7 @@ public class ContainerProvider { entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMixEnumDefCollComp")); entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBaseTwoKeyNav")); entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyNavCont")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyNavCont")); // Singletons List<CsdlSingleton> singletons = new ArrayList<CsdlSingleton>(); @@ -524,24 +525,48 @@ public class ContainerProvider { .setType(EntityTypeProvider.nameETKeyNavCont) .setNavigationPropertyBindings(Arrays.asList( new CsdlNavigationPropertyBinding() - .setPath("NavPropertyETTwoKeyNavContOne/NavPropertyETKeyNavOne") + .setPath("NavPropertyETTwoKeyNavOne/NavPropertyETKeyNavOne") .setTarget("ESKeyNav"), new CsdlNavigationPropertyBinding() - .setPath("NavPropertyETTwoKeyNavContMany/NavPropertyETKeyNavOne") + .setPath("NavPropertyETTwoKeyNavMany/NavPropertyETKeyNavOne") .setTarget("ESKeyNav"), new CsdlNavigationPropertyBinding() - .setPath("PropertyCompNavCont/NavPropertyETKeyNavContMany/NavPropertyETKeyNavOne") + .setPath("NavPropertyETTwoKeyNavContOne") + .setTarget("ESTwoKeyNavCont"), + new CsdlNavigationPropertyBinding() + .setPath("NavPropertyETTwoKeyNavContMany") + .setTarget("ESTwoKeyNavCont"), + new CsdlNavigationPropertyBinding() + .setPath("PropertyCompNavCont/NavPropertyETKeyNavOne/NavPropertyETKeyNavOne") .setTarget("ESKeyNav"), new CsdlNavigationPropertyBinding() - .setPath("PropertyCompNavCont/NavPropertyETKeyNavContOne/NavPropertyETKeyNavOne") + .setPath("PropertyCompNavCont/NavPropertyETKeyNavMany/NavPropertyETKeyNavOne") .setTarget("ESKeyNav"), new CsdlNavigationPropertyBinding() - .setPath("PropertyCompNavCont/NavPropertyETTwoKeyNavContMany/NavPropertyETKeyNavOne") + .setPath("PropertyCompNavCont/NavPropertyETTwoKeyNavOne/NavPropertyETKeyNavOne") .setTarget("ESKeyNav"), new CsdlNavigationPropertyBinding() - .setPath("PropertyCompNavCont/NavPropertyETTwoKeyNavContOne/NavPropertyETKeyNavOne") + .setPath("PropertyCompNavCont/NavPropertyETTwoKeyNavMany/NavPropertyETKeyNavOne") .setTarget("ESKeyNav"))); - + + } else if (name.equals("ESTwoKeyNavCont")) { + return new CsdlEntitySet() + .setName("ESTwoKeyNavCont") + .setType(EntityTypeProvider.nameETTwoKeyNavCont) + .setNavigationPropertyBindings(Arrays.asList( + new CsdlNavigationPropertyBinding() + .setPath("NavPropertyETKeyNavContOne/NavPropertyETTwoKeyNavContOne") + .setTarget("ESTwoKeyNavCont"), + new CsdlNavigationPropertyBinding() + .setPath("NavPropertyETKeyNavContMany/NavPropertyETTwoKeyNavContOne") + .setTarget("ESTwoKeyNavCont"), + new CsdlNavigationPropertyBinding() + .setPath("NavPropertyETKeyNavContOne/NavPropertyETTwoKeyNavOne/NavPropertyETKeyNavOne") + .setTarget("ESKeyNav"), + new CsdlNavigationPropertyBinding() + .setPath("NavPropertyETKeyNavContMany/NavPropertyETTwoKeyNavMany/NavPropertyETKeyNavOne") + .setTarget("ESKeyNav"))); + } else if (name.equals("ESBaseTwoKeyNav")) { return new CsdlEntitySet() .setName("ESBaseTwoKeyNav") http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a11cb6d6/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java index 1ba33c1..b8410b1 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java @@ -57,6 +57,8 @@ public class EntityTypeProvider { "ETKeyPrimNav"); public static final FullQualifiedName nameETKeyNavCont = new FullQualifiedName(SchemaProvider.NAMESPACE, "ETKeyNavCont"); + public static final FullQualifiedName nameETTwoKeyNavCont = new FullQualifiedName(SchemaProvider.NAMESPACE, + "ETTwoKeyNavCont"); public static final FullQualifiedName nameETKeyTwoKeyComp = new FullQualifiedName(SchemaProvider.NAMESPACE, "ETKeyTwoKeyComp"); public static final FullQualifiedName nameETMedia = new FullQualifiedName(SchemaProvider.NAMESPACE, "ETMedia"); @@ -339,11 +341,25 @@ public class EntityTypeProvider { PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_NotNullable, PropertyProvider.propertyCompNavCont)) .setNavigationProperties(Arrays.asList( - PropertyProvider.navPropertyETTwoKeyNavContOneCT_ETTwoKeyNav, - PropertyProvider.collectionNavPropertyETTwoKeyNavContMany_CT_ETTwoKeyNav + PropertyProvider.navPropertyETTwoKeyNavOneCT_ETTwoKeyNav, + PropertyProvider.collectionNavPropertyETTwoKeyNavMany_CT_ETTwoKeyNav, + PropertyProvider.navPropertyETTwoKeyNavContOne_ETTwoKeyNav, + PropertyProvider.collectionNavPropertyETTwoKeyNavContMany_ETTwoKeyNav )); - } else if (entityTypeName.equals(nameETTwoKeyNav)) { + } else if (entityTypeName.equals(nameETTwoKeyNavCont)) { + return new CsdlEntityType() + .setName("ETTwoKeyNavCont") + .setKey(Arrays.asList( + new CsdlPropertyRef().setName("PropertyInt16"), + new CsdlPropertyRef().setName("PropertyString"))) + .setProperties(Arrays.asList( + PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_NotNullable)) + .setNavigationProperties(Arrays.asList( + PropertyProvider.navPropertyETTwoKeyNavContOneCT_ETTwoKeyNav, + PropertyProvider.collectionNavPropertyETTwoKeyNavContMany_CT_ETTwoKeyNav + )); +} else if (entityTypeName.equals(nameETTwoKeyNav)) { return new CsdlEntityType() .setName("ETTwoKeyNav") .setKey(Arrays.asList( http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a11cb6d6/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java index 05fb93a..c163d59 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java @@ -692,19 +692,19 @@ public class PropertyProvider { .setCollection(false) .setType(EntityTypeProvider.nameETTwoKeyNav); - public static final CsdlNavigationProperty collectionNavPropertyETKeyNavContMany_CT_ETKeyNav = + public static final CsdlNavigationProperty collectionNavPropertyETKeyNavMany_CT_ETKeyNav = new CsdlNavigationProperty() - .setName("NavPropertyETKeyNavContMany") + .setName("NavPropertyETKeyNavMany") .setCollection(true) .setContainsTarget(true) .setType(EntityTypeProvider.nameETKeyNav); - public static final CsdlNavigationProperty collectionNavPropertyETTwoKeyNavContMany_CT_ETKeyNav = - new CsdlNavigationProperty() - .setName("NavPropertyETTwoKeyNavContMany") - .setCollection(true) - .setContainsTarget(true) - .setType(EntityTypeProvider.nameETKeyNav); +// public static final CsdlNavigationProperty collectionNavPropertyETTwoKeyNavContMany_CT_ETKeyNav = +// new CsdlNavigationProperty() +// .setName("NavPropertyETTwoKeyNavContMany") +// .setCollection(true) +// .setContainsTarget(true) +// .setType(EntityTypeProvider.nameETKeyNav); public static final CsdlNavigationProperty navPropertyETKeyNavOne_ETKeyNav = new CsdlNavigationProperty() .setName("NavPropertyETKeyNavOne") @@ -737,24 +737,47 @@ public class PropertyProvider { .setName("NavPropertyETAllPrimOne") .setType(EntityTypeProvider.nameETAllPrim); - public static final CsdlNavigationProperty navPropertyETKeyNavContOne_CT_ETeyNav = new CsdlNavigationProperty() - .setName("NavPropertyETKeyNavContOne") + public static final CsdlNavigationProperty navPropertyETKeyNavOne_CT_ETeyNav = new CsdlNavigationProperty() + .setName("NavPropertyETKeyNavOne") .setContainsTarget(true) .setType(EntityTypeProvider.nameETKeyNav); - public static final CsdlNavigationProperty navPropertyETTwoKeyNavContOne_CT_ETKeyNav = new CsdlNavigationProperty() - .setName("NavPropertyETTwoKeyNavContOne") + public static final CsdlNavigationProperty navPropertyETTwoKeyNavOne_CT_ETTwoKeyNav = new CsdlNavigationProperty() + .setName("NavPropertyETTwoKeyNavOne") .setContainsTarget(true) - .setType(EntityTypeProvider.nameETKeyNav); + .setType(EntityTypeProvider.nameETTwoKeyNav); + + public static final CsdlNavigationProperty navPropertyETTwoKeyNavContOne_ETTwoKeyNav = new CsdlNavigationProperty() + .setName("NavPropertyETTwoKeyNavContOne") + .setType(EntityTypeProvider.nameETTwoKeyNav); public static final CsdlNavigationProperty navPropertyETTwoKeyNavContOneCT_ETTwoKeyNav = new CsdlNavigationProperty() .setName("NavPropertyETTwoKeyNavContOne") .setContainsTarget(true) .setType(EntityTypeProvider.nameETTwoKeyNav); + public static final CsdlNavigationProperty collectionNavPropertyETTwoKeyNavContMany_ETTwoKeyNav = + new CsdlNavigationProperty() + .setName("NavPropertyETTwoKeyNavContMany") + .setContainsTarget(false) + .setCollection(true) + .setType(EntityTypeProvider.nameETTwoKeyNav); + public static final CsdlNavigationProperty collectionNavPropertyETTwoKeyNavContMany_CT_ETTwoKeyNav = new CsdlNavigationProperty() .setName("NavPropertyETTwoKeyNavContMany") + .setContainsTarget(false) + .setCollection(true) + .setType(EntityTypeProvider.nameETTwoKeyNav); + + public static final CsdlNavigationProperty navPropertyETTwoKeyNavOneCT_ETTwoKeyNav = new CsdlNavigationProperty() + .setName("NavPropertyETTwoKeyNavOne") + .setContainsTarget(true) + .setType(EntityTypeProvider.nameETTwoKeyNav); + + public static final CsdlNavigationProperty collectionNavPropertyETTwoKeyNavMany_CT_ETTwoKeyNav = + new CsdlNavigationProperty() + .setName("NavPropertyETTwoKeyNavMany") .setContainsTarget(true) .setCollection(true) .setType(EntityTypeProvider.nameETTwoKeyNav); http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a11cb6d6/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java index 5a4ee5b..e5fe953 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java @@ -79,6 +79,7 @@ public class SchemaProvider { entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav)); entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBaseTwoKeyNav)); entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyNavCont)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyNavCont)); entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompMixPrimCollComp)); entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyPrimNav)); entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAbstract));
