You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/11/28 06:30:34 UTC
[26/47] olingo-odata4 git commit: [OLINGO-826] Add Containment
EntitySet
[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/OLINGO-811_CountForExpand
Commit: a11cb6d65988d6602961b9e3452dde7850b6573a
Parents: 3fa2b3d
Author: Christian Amend <ch...@sap.com>
Authored: Tue Nov 17 10:36:57 2015 +0100
Committer: Christian Amend <ch...@sap.com>
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));