You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2014/04/01 16:47:21 UTC
[1/9] [OLINGO-168] Refactor Tech Provider
Repository: olingo-odata4
Updated Branches:
refs/heads/olingo168 6fdfc458b -> 6a3a4a1d7
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
index 64ac50e..ab0b1d3 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
@@ -28,8 +28,10 @@ import org.apache.olingo.server.api.uri.UriInfoKind;
import org.apache.olingo.server.api.uri.UriResourceKind;
import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
-import org.apache.olingo.server.core.testutil.EdmTechProvider;
import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
+import org.apache.olingo.server.core.testutil.techprovider.ComplexTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EntityTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.PropertyProvider;
import org.apache.olingo.server.core.uri.parser.UriParserException;
import org.apache.olingo.server.core.uri.testutil.FilterValidator;
import org.apache.olingo.server.core.uri.testutil.ResourceValidator;
@@ -104,57 +106,57 @@ public class TestUriParserImpl {
testRes.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTString()")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameString, false);
+ .isType(PropertyProvider.nameString, false);
// returning collection of primitive
testRes.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTCollString()")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameString, true);
+ .isType(PropertyProvider.nameString, true);
// returning single complex
testRes.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTCTTwoPrim()")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameCTTwoPrim, false);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, false);
// returning collection of complex
testRes.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTCollCTTwoPrim()")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameCTTwoPrim, true);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, true);
// returning single entity
testRes.run(
esTwoKeyNav + "/com.sap.odata.test1.ETBaseTwoKeyNav/com.sap.odata.test1.BFCETBaseTwoKeyNavRTETTwoKeyNav()")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav, false);
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false);
// returning collection of entity (aka entitySet)
testRes.run(esTwoKeyNav + "/com.sap.odata.test1.BFCSINavRTESTwoKeyNav()")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav, true);
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true);
}
@Test
@@ -164,31 +166,31 @@ public class TestUriParserImpl {
.first()
.isActionImport("AIRTPrimParam")
.isAction("UARTPrimParam")
- .isType(EdmTechProvider.nameString, false);
+ .isType(PropertyProvider.nameString, false);
testRes.run("AIRTPrimCollParam").isKind(UriInfoKind.resource)
.first()
.isActionImport("AIRTPrimCollParam")
.isAction("UARTPrimCollParam")
- .isType(EdmTechProvider.nameString, true);
+ .isType(PropertyProvider.nameString, true);
testRes.run("AIRTCompParam").isKind(UriInfoKind.resource)
.first()
.isActionImport("AIRTCompParam")
.isAction("UARTCompParam")
- .isType(EdmTechProvider.nameCTTwoPrim, false);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, false);
testRes.run("AIRTCompCollParam").isKind(UriInfoKind.resource)
.first()
.isActionImport("AIRTCompCollParam")
.isAction("UARTCompCollParam")
- .isType(EdmTechProvider.nameCTTwoPrim, true);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, true);
testRes.run("AIRTETParam").isKind(UriInfoKind.resource)
.first()
.isActionImport("AIRTETParam")
.isAction("UARTETParam")
- .isType(EdmTechProvider.nameETTwoKeyTwoPrim, false);
+ .isType(EntityTypeProvider.nameETTwoKeyTwoPrim, false);
testUri.runEx("AIRTPrimParam/invalidElement").isExSemantic(0);
}
@@ -200,23 +202,23 @@ public class TestUriParserImpl {
testRes.run("ESAllPrim/$count")
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETAllPrim, true)
+ .isType(EntityTypeProvider.nameETAllPrim, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.count);
// count on collection of complex
testRes.run("ESKeyNav(1)/CollPropertyComplex/$count")
.at(0)
- .isType(EdmTechProvider.nameETKeyNav)
+ .isType(EntityTypeProvider.nameETKeyNav)
.at(1)
- .isType(EdmTechProvider.nameCTPrimComp, true)
+ .isType(ComplexTypeProvider.nameCTPrimComp, true)
.at(2)
.isUriPathInfoKind(UriResourceKind.count);
// count on collection of primitive
testRes.run("ESCollAllPrim(1)/CollPropertyString/$count")
.at(1)
- .isType(EdmTechProvider.nameString, true)
+ .isType(PropertyProvider.nameString, true)
.at(2)
.isUriPathInfoKind(UriResourceKind.count);
}
@@ -269,7 +271,7 @@ public class TestUriParserImpl {
// simple entity set; with qualifiedentityTypeName
testUri.run("$entity/com.sap.odata.test1.ETTwoPrim?$id=ESBase")
- .isEntityType(EdmTechProvider.nameETTwoPrim)
+ .isEntityType(EntityTypeProvider.nameETTwoPrim)
.isIdText("ESBase");
// simple entity set; with qualifiedentityTypeName; with filter
@@ -279,28 +281,28 @@ public class TestUriParserImpl {
// simple entity set; with qualifiedentityTypeName;
testUri.run("$entity/com.sap.odata.test1.ETBase?$id=ESTwoPrim")
- .isEntityType(EdmTechProvider.nameETBase)
+ .isEntityType(EntityTypeProvider.nameETBase)
.isKind(UriInfoKind.entityId)
.isIdText("ESTwoPrim");
// simple entity set; with qualifiedentityTypeName; with format
testUri.run("$entity/com.sap.odata.test1.ETBase?$id=ESTwoPrim&$format=atom")
.isKind(UriInfoKind.entityId)
- .isEntityType(EdmTechProvider.nameETBase)
+ .isEntityType(EntityTypeProvider.nameETBase)
.isIdText("ESTwoPrim")
.isFormatText("atom");
// simple entity set; with qualifiedentityTypeName; with select
testUri.run("$entity/com.sap.odata.test1.ETBase?$id=ESTwoPrim&$select=*")
.isKind(UriInfoKind.entityId)
- .isEntityType(EdmTechProvider.nameETBase)
+ .isEntityType(EntityTypeProvider.nameETBase)
.isIdText("ESTwoPrim")
.isSelectItemStar(0);
// simple entity set; with qualifiedentityTypeName; with expand
testUri.run("$entity/com.sap.odata.test1.ETBase?$id=ESTwoPrim&$expand=*")
.isKind(UriInfoKind.entityId)
- .isEntityType(EdmTechProvider.nameETBase)
+ .isEntityType(EntityTypeProvider.nameETBase)
.isIdText("ESTwoPrim")
.isExpandText("*")
.goExpand().first().isSegmentStar(0);
@@ -321,12 +323,12 @@ public class TestUriParserImpl {
// plain entity set
testRes.run("ESAllPrim")
.isEntitySet("ESAllPrim")
- .isType(EdmTechProvider.nameETAllPrim);
+ .isType(EntityTypeProvider.nameETAllPrim);
// with one key; simple key notation
testRes.run("ESAllPrim(1)")
.isEntitySet("ESAllPrim")
- .isType(EdmTechProvider.nameETAllPrim)
+ .isType(EntityTypeProvider.nameETAllPrim)
.isKeyPredicate(0, "PropertyInt16", "1");
// with one key; name value key notation
@@ -367,42 +369,42 @@ public class TestUriParserImpl {
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne")
.at(0)
.isEntitySet("ESKeyNav")
- .isType(EdmTechProvider.nameETKeyNav)
+ .isType(EntityTypeProvider.nameETKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
// with navigation property -> property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne/PropertyString")
.at(0)
.isEntitySet("ESKeyNav")
- .isType(EdmTechProvider.nameETKeyNav, false)
+ .isType(EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
.at(2)
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with navigation property -> navigation property -> navigation property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne/NavPropertyETKeyNavOne")
.at(0)
.isEntitySet("ESKeyNav")
- .isType(EdmTechProvider.nameETKeyNav)
+ .isType(EntityTypeProvider.nameETKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.at(2)
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .isType(EdmTechProvider.nameETKeyNav);
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .isType(EntityTypeProvider.nameETKeyNav);
// with navigation property(key)
testRes.run("ESKeyNav(1)/NavPropertyETKeyNavMany(1)")
.at(0)
.isEntitySet("ESKeyNav")
.at(1)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1");
// with navigation property(key) -> property
@@ -410,58 +412,58 @@ public class TestUriParserImpl {
.at(0)
.isEntitySet("ESKeyNav")
.at(1)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(2)
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with navigation property(key) -> navigation property
testRes.run("ESKeyNav(1)/NavPropertyETKeyNavMany(1)/NavPropertyETKeyNavOne")
.isEntitySet("ESKeyNav")
.at(1)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(2)
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false);
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false);
// with navigation property(key) -> navigation property(key)
testRes.run("ESKeyNav(1)/NavPropertyETKeyNavMany(1)/NavPropertyETKeyNavMany(1)")
.isEntitySet("ESKeyNav")
- .isType(EdmTechProvider.nameETKeyNav)
+ .isType(EntityTypeProvider.nameETKeyNav)
.at(1)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(2)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1");
// with navigation property(key) -> navigation property -> property
testRes.run("ESKeyNav(1)/NavPropertyETKeyNavMany(1)/NavPropertyETKeyNavOne/PropertyString")
.at(0)
.isEntitySet("ESKeyNav")
- .isType(EdmTechProvider.nameETKeyNav)
+ .isType(EntityTypeProvider.nameETKeyNav)
.at(1)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(2)
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .isType(EdmTechProvider.nameETKeyNav)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .isType(EntityTypeProvider.nameETKeyNav)
.at(3)
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with navigation property(key) -> navigation property(key) -> property
testRes.run("ESKeyNav(1)/NavPropertyETKeyNavMany(1)/NavPropertyETKeyNavMany(1)/PropertyString")
.at(0)
.isEntitySet("ESKeyNav")
- .isType(EdmTechProvider.nameETKeyNav)
+ .isType(EntityTypeProvider.nameETKeyNav)
.at(1)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(2)
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(3)
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
}
@@ -476,7 +478,7 @@ public class TestUriParserImpl {
.isEntitySet("ESAllPrim")
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with complex property
testRes.run("ESCompAllPrim(1)/PropertyComplex")
@@ -484,7 +486,7 @@ public class TestUriParserImpl {
.isEntitySet("ESCompAllPrim")
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTAllPrim, false);
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTAllPrim, false);
// with two properties
testRes.run("ESCompAllPrim(1)/PropertyComplex/PropertyString")
@@ -492,9 +494,9 @@ public class TestUriParserImpl {
.isEntitySet("ESCompAllPrim")
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTAllPrim, false)
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTAllPrim, false)
.at(2)
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
}
@Test
@@ -504,8 +506,8 @@ public class TestUriParserImpl {
testRes.run("ESTwoPrim/com.sap.odata.test1.ETBase")
.at(0)
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim, true)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase)
+ .isType(EntityTypeProvider.nameETTwoPrim, true)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase)
.isTypeFilterOnEntry(null);
// filter before key predicate
@@ -513,11 +515,11 @@ public class TestUriParserImpl {
.at(0)
.isEntitySet("ESTwoPrim")
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoPrim)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase)
+ .isType(EntityTypeProvider.nameETTwoPrim)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase)
.isTypeFilterOnEntry(null)
.at(0)
- .isType(EdmTechProvider.nameETTwoPrim, false)
+ .isType(EntityTypeProvider.nameETTwoPrim, false)
.isKeyPredicate(0, "PropertyInt16", "1");
// filter before key predicate; property of sub type
@@ -525,22 +527,22 @@ public class TestUriParserImpl {
.at(0)
.isEntitySet("ESTwoPrim")
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoPrim)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase)
+ .isType(EntityTypeProvider.nameETTwoPrim)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase)
.isTypeFilterOnEntry(null)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isType(EdmTechProvider.nameString)
- .isPrimitiveProperty("AdditionalPropertyString_5", EdmTechProvider.nameString, false);
+ .isType(PropertyProvider.nameString)
+ .isPrimitiveProperty("AdditionalPropertyString_5", PropertyProvider.nameString, false);
// filter after key predicate
testRes.run("ESTwoPrim(PropertyInt16=1)/com.sap.odata.test1.ETBase")
.at(0)
.isEntitySet("ESTwoPrim")
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoPrim, false)
+ .isType(EntityTypeProvider.nameETTwoPrim, false)
.isTypeFilterOnCollection(null)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBase)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBase)
.isKeyPredicate(0, "PropertyInt16", "1");
// filter after key predicate; property of sub type
@@ -548,13 +550,13 @@ public class TestUriParserImpl {
.at(0)
.isEntitySet("ESTwoPrim")
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoPrim)
+ .isType(EntityTypeProvider.nameETTwoPrim)
.isTypeFilterOnCollection(null)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBase)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBase)
.isKeyPredicate(0, "PropertyInt16", "1")
.at(1)
- .isPrimitiveProperty("AdditionalPropertyString_5", EdmTechProvider.nameString, false)
- .isType(EdmTechProvider.nameString);
+ .isPrimitiveProperty("AdditionalPropertyString_5", PropertyProvider.nameString, false)
+ .isType(PropertyProvider.nameString);
}
@@ -591,19 +593,19 @@ public class TestUriParserImpl {
testRes.run("FINRTInt16()")
.isFunctionImport("FINRTInt16")
.isFunction("UFNRTInt16")
- .isType(EdmTechProvider.nameString);
+ .isType(PropertyProvider.nameString);
// one input
testRes.run("FICRTETTwoKeyNavParam(ParameterInt16=1)")
.isFunctionImport("FICRTETTwoKeyNavParam")
.isFunction("UFCRTETTwoKeyNavParam")
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
// two input
testRes.run("FICRTStringTwoParam(ParameterString='ABC',ParameterInt16=1)")
.isFunctionImport("FICRTStringTwoParam")
.isFunction("UFCRTStringTwoParam")
- .isType(EdmTechProvider.nameString);
+ .isType(PropertyProvider.nameString);
}
@Test
@@ -612,37 +614,37 @@ public class TestUriParserImpl {
testRes.run("FINRTInt16()")
.isFunctionImport("FINRTInt16")
.isFunction("UFNRTInt16")
- .isType(EdmTechProvider.nameString, false);
+ .isType(PropertyProvider.nameString, false);
// returning collection of primitive
testRes.run("FICRTCollStringTwoParam(ParameterString='ABC',ParameterInt16=1)")
.isFunctionImport("FICRTCollStringTwoParam")
.isFunction("UFCRTCollStringTwoParam")
- .isType(EdmTechProvider.nameString, true);
+ .isType(PropertyProvider.nameString, true);
// returning single complex
testRes.run("FICRTCTAllPrimTwoParam(ParameterString='ABC',ParameterInt16=1)")
.isFunctionImport("FICRTCTAllPrimTwoParam")
.isFunction("UFCRTCTAllPrimTwoParam")
- .isType(EdmTechProvider.nameCTAllPrim, false);
+ .isType(ComplexTypeProvider.nameCTAllPrim, false);
// returning collection of complex
testRes.run("FICRTCollCTTwoPrim()")
.isFunctionImport("FICRTCollCTTwoPrim")
.isFunction("UFCRTCollCTTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim, true);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, true);
// returning single entity
testRes.run("FICRTETTwoKeyNavParam(ParameterInt16=1)")
.isFunctionImport("FICRTETTwoKeyNavParam")
.isFunction("UFCRTETTwoKeyNavParam")
- .isType(EdmTechProvider.nameETTwoKeyNav, false);
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false);
// returning collection of entity (aka entitySet)
testRes.run("FICRTESTwoKeyNavParam(ParameterInt16=1)")
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
- .isType(EdmTechProvider.nameETTwoKeyNav, true);
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true);
}
@Test
@@ -653,28 +655,28 @@ public class TestUriParserImpl {
.at(0)
.isFunctionImport("FICRTCTAllPrimTwoParam")
.isFunction("UFCRTCTAllPrimTwoParam")
- .isType(EdmTechProvider.nameCTAllPrim, false)
+ .isType(ComplexTypeProvider.nameCTAllPrim, false)
.isParameter(0, "ParameterString", "'ABC'")
.isParameter(1, "ParameterInt16", "1")
.at(1)
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
// test chains; returning single entity
testRes.run("FICRTETTwoKeyNavParam(ParameterInt16=1)/PropertyInt16")
.at(0)
.isFunctionImport("FICRTETTwoKeyNavParam")
.isFunction("UFCRTETTwoKeyNavParam")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isParameter(0, "ParameterInt16", "1")
.at(1)
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
// test chains; returning collection of entity (aka entitySet)
testRes.run("FICRTESTwoKeyNavParam(ParameterInt16=1)(PropertyInt16=1,PropertyString='ABC')")
.at(0)
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isParameter(0, "ParameterInt16", "1")
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'ABC'");
@@ -684,12 +686,12 @@ public class TestUriParserImpl {
.at(0)
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isParameter(0, "ParameterInt16", "1")
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'ABC'")
.at(1)
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
}
@@ -866,7 +868,7 @@ public class TestUriParserImpl {
// plain singleton
testRes.run("SINav")
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
}
@Test
@@ -877,73 +879,73 @@ public class TestUriParserImpl {
// with navigation property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false);
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false);
// with navigation property -> property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne/PropertyString")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
- .at(2).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
+ .at(2).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with navigation property -> navigation property -> navigation property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne/NavPropertyETKeyNavOne")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
- .at(2).isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false);
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
+ .at(2).isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false);
// with navigation property(key)
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='1')")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'1'");
// with navigation property(key) -> property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='1')/PropertyString")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'1'")
- .at(2).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .at(2).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with navigation property(key) -> navigation property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='1')/NavPropertyETKeyNavOne")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'1'")
- .at(2).isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false);
+ .at(2).isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false);
// with navigation property(key) -> navigation property(key)
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='1')"
+ "/NavPropertyETKeyNavMany(1)")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'1'")
- .at(2).isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .at(2).isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1");
// with navigation property(key) -> navigation property -> property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='1')"
+ "/NavPropertyETKeyNavOne/PropertyString")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'1'")
- .at(2).isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .at(3).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .at(2).isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .at(3).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
// with navigation property(key) -> navigation property(key) -> property
testRes.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='1')"
+ "/NavPropertyETKeyNavMany(1)/PropertyString")
.at(0).isEntitySet("ESKeyNav")
- .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .at(1).isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'1'")
- .at(2).isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .at(2).isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
- .at(3).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .at(3).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
}
@Test
@@ -955,27 +957,27 @@ public class TestUriParserImpl {
testRes.run("SINav/PropertyInt16")
.at(0)
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.at(1)
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
// with complex property
testRes.run("SINav/PropertyComplex")
.at(0)
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.at(1)
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false);
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTPrimComp, false);
// with two properties
testRes.run("SINav/PropertyComplex/PropertyInt16")
.at(0)
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.at(1)
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false)
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTPrimComp, false)
.at(2)
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
}
@@ -990,43 +992,43 @@ public class TestUriParserImpl {
testUri.run("ESTwoKeyNav(ParameterInt16=1,PropertyString='ABC')?"
+ "$filter=com.sap.odata.test1.ETBaseTwoKeyNav/PropertyDate")
.goFilter().root().isMember()
- .isMemberStartType(EdmTechProvider.nameETBaseTwoKeyNav).goPath()
+ .isMemberStartType(EntityTypeProvider.nameETBaseTwoKeyNav).goPath()
// .at(0)
// .isUriPathInfoKind(UriResourceKind.startingTypeFilter)
- // .isType(EdmTechProvider.nameETTwoKeyNav, false)
- // .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
- .at(0).isType(EdmTechProvider.nameDate);
+ // .isType(EntityTypeProvider.nameETTwoKeyNav, false)
+ // .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .at(0).isType(PropertyProvider.nameDate);
// on EntityType collection
testUri.run("ESTwoKeyNav?$filter=com.sap.odata.test1.ETBaseTwoKeyNav/PropertyDate")
.goFilter().root().isMember()
- .isMemberStartType(EdmTechProvider.nameETBaseTwoKeyNav).goPath()
+ .isMemberStartType(EntityTypeProvider.nameETBaseTwoKeyNav).goPath()
// .at(0)
// .isUriPathInfoKind(UriResourceKind.startingTypeFilter)
- // .isType(EdmTechProvider.nameETTwoKeyNav, true)
- // .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
- .at(0).isType(EdmTechProvider.nameDate);
+ // .isType(EntityTypeProvider.nameETTwoKeyNav, true)
+ // .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .at(0).isType(PropertyProvider.nameDate);
testUri.run("FICRTCTTwoPrimParam(ParameterInt16=1,ParameterString='2')?"
+ "$filter=com.sap.odata.test1.CTBase/AdditionalPropString")
.goFilter().root().isMember()
- .isMemberStartType(EdmTechProvider.nameCTBase).goPath()
+ .isMemberStartType(ComplexTypeProvider.nameCTBase).goPath()
// .at(0)
// .isUriPathInfoKind(UriResourceKind.startingTypeFilter)
- // .isType(EdmTechProvider.nameCTTwoPrim, false)
- // .isTypeFilterOnEntry(EdmTechProvider.nameCTBase)
- .at(0).isType(EdmTechProvider.nameString);
+ // .isType(ComplexTypeProvider.nameCTTwoPrim, false)
+ // .isTypeFilterOnEntry(ComplexTypeProvider.nameCTBase)
+ .at(0).isType(PropertyProvider.nameString);
// on Complex collection
testUri.run("FICRTCollCTTwoPrimParam(ParameterInt16=1,ParameterString='2')?"
+ "$filter=com.sap.odata.test1.CTBase/AdditionalPropString")
.goFilter().root().isMember()
- .isMemberStartType(EdmTechProvider.nameCTBase).goPath()
+ .isMemberStartType(ComplexTypeProvider.nameCTBase).goPath()
// .at(0)
// .isUriPathInfoKind(UriResourceKind.startingTypeFilter)
- // .isType(EdmTechProvider.nameCTTwoPrim, true)
- // .isTypeFilterOnCollection(EdmTechProvider.nameCTBase)
- .at(0).isType(EdmTechProvider.nameString);
+ // .isType(ComplexTypeProvider.nameCTTwoPrim, true)
+ // .isTypeFilterOnCollection(ComplexTypeProvider.nameCTBase)
+ .at(0).isType(PropertyProvider.nameString);
}
@@ -1084,37 +1086,37 @@ public class TestUriParserImpl {
.isSelectItemAllOp(0, new FullQualifiedName("com.sap.odata.test1", "*"));
testUri.run("ESTwoKeyNav?$select=PropertyString")
- .goSelectItemPath(0).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .goSelectItemPath(0).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
testUri.run("ESTwoKeyNav?$select=PropertyComplex")
- .goSelectItemPath(0).isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false);
+ .goSelectItemPath(0).isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTPrimComp, false);
testUri.run("ESTwoKeyNav?$select=PropertyComplex/PropertyInt16")
.goSelectItemPath(0)
.first()
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false)
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTPrimComp, false)
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESTwoKeyNav?$select=PropertyComplex/PropertyComplex")
.goSelectItemPath(0)
.first()
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false)
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTPrimComp, false)
.n()
- .isComplexProperty("PropertyComplex", EdmTechProvider.nameCTAllPrim, false);
+ .isComplexProperty("PropertyComplex", ComplexTypeProvider.nameCTAllPrim, false);
testUri.run("ESTwoKeyNav?$select=com.sap.odata.test1.ETBaseTwoKeyNav")
- .isSelectStartType(0, EdmTechProvider.nameETBaseTwoKeyNav);
+ .isSelectStartType(0, EntityTypeProvider.nameETBaseTwoKeyNav);
testUri.run("ESTwoKeyNav/PropertyComplexNav?$select=com.sap.odata.test1.CTTwoBasePrimCompNav")
- .isSelectStartType(0, EdmTechProvider.nameCTTwoBasePrimCompNav);
+ .isSelectStartType(0, ComplexTypeProvider.nameCTTwoBasePrimCompNav);
testUri.run("ESTwoKeyNav?$select=PropertyComplexNav/com.sap.odata.test1.CTTwoBasePrimCompNav")
.goSelectItemPath(0)
.first()
- .isComplexProperty("PropertyComplexNav", EdmTechProvider.nameCTBasePrimCompNav, false)
+ .isComplexProperty("PropertyComplexNav", ComplexTypeProvider.nameCTBasePrimCompNav, false)
.n()
- .isTypeFilterOnCollection(EdmTechProvider.nameCTTwoBasePrimCompNav);
+ .isTypeFilterOnCollection(ComplexTypeProvider.nameCTTwoBasePrimCompNav);
;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
index 161a0fd..91f3ad9 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
@@ -36,8 +36,11 @@ import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitEx
import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
import org.apache.olingo.server.api.uri.queryoption.expression.UnaryOperatorKind;
import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
-import org.apache.olingo.server.core.testutil.EdmTechProvider;
import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
+import org.apache.olingo.server.core.testutil.techprovider.ActionProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EntityTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EnumTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.FunctionProvider;
import org.apache.olingo.server.core.uri.UriInfoImpl;
import org.apache.olingo.server.core.uri.UriResourceActionImpl;
import org.apache.olingo.server.core.uri.UriResourceFunctionImpl;
@@ -94,7 +97,7 @@ public class ExpressionTest {
@Test
public void testEnumerationExpression() throws ExpressionVisitException, ODataApplicationException {
EnumerationImpl expression = new EnumerationImpl();
- EdmEnumType type = (EdmEnumType) edm.getEnumType(EdmTechProvider.nameENString);
+ EdmEnumType type = (EdmEnumType) edm.getEnumType(EnumTypeProvider.nameENString);
assertNotNull(type);
expression.setType(type);
@@ -129,10 +132,10 @@ public class ExpressionTest {
@Test
public void testMemberExpression() throws ExpressionVisitException, ODataApplicationException {
MemberImpl expression = new MemberImpl();
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
// UriResourceImplTyped
- EdmAction action = edm.getAction(EdmTechProvider.nameUARTPrimParam, null, null);
+ EdmAction action = edm.getAction(ActionProvider.nameUARTPrimParam, null, null);
UriInfoResource uriInfo = new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceActionImpl().setAction(action)).asUriInfoResource();
expression.setResourcePath(uriInfo);
@@ -146,29 +149,29 @@ public class ExpressionTest {
assertEquals(false, expression.isCollection());
// UriResourceImplTyped check collection = true case
- action = edm.getAction(EdmTechProvider.nameUARTPrimCollParam, null, null);
+ action = edm.getAction(ActionProvider.nameUARTPrimCollParam, null, null);
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceActionImpl().setAction(action))
.asUriInfoResource());
assertEquals(true, expression.isCollection());
// UriResourceImplTyped with filter
- action = edm.getAction(EdmTechProvider.nameUARTPrimParam, null, null);
+ action = edm.getAction(ActionProvider.nameUARTPrimParam, null, null);
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceActionImpl().setAction(action).setTypeFilter(entityType))
.asUriInfoResource());
assertEquals(entityType, expression.getType());
// UriResourceImplKeyPred
- EdmFunction function = edm.getFunction(EdmTechProvider.nameUFCRTETKeyNav, null, null, null);
+ EdmFunction function = edm.getFunction(FunctionProvider.nameUFCRTETKeyNav, null, null, null);
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceFunctionImpl().setFunction(function))
.asUriInfoResource());
assertEquals(function.getReturnType().getType(), expression.getType());
// UriResourceImplKeyPred typeFilter on entry
- EdmEntityType entityBaseType = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
- function = edm.getFunction(EdmTechProvider.nameUFCRTESTwoKeyNavParam, null, null,
+ EdmEntityType entityBaseType = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
+ function = edm.getFunction(FunctionProvider.nameUFCRTESTwoKeyNavParam, null, null,
Arrays.asList(("ParameterInt16")));
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceFunctionImpl().setFunction(function).setEntryTypeFilter(entityBaseType))
@@ -176,8 +179,8 @@ public class ExpressionTest {
assertEquals(entityBaseType, expression.getType());
// UriResourceImplKeyPred typeFilter on entry
- entityBaseType = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
- function = edm.getFunction(EdmTechProvider.nameUFCRTESTwoKeyNavParam, null, null,
+ entityBaseType = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
+ function = edm.getFunction(FunctionProvider.nameUFCRTESTwoKeyNavParam, null, null,
Arrays.asList(("ParameterInt16")));
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.resource).addResourcePart(
new UriResourceFunctionImpl().setFunction(function).setCollectionTypeFilter(entityBaseType))
@@ -185,8 +188,8 @@ public class ExpressionTest {
assertEquals(entityBaseType, expression.getType());
// no typed
- entityBaseType = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
- function = edm.getFunction(EdmTechProvider.nameUFCRTESTwoKeyNavParam, null, null,
+ entityBaseType = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
+ function = edm.getFunction(FunctionProvider.nameUFCRTESTwoKeyNavParam, null, null,
Arrays.asList(("ParameterInt16")));
expression.setResourcePath(new UriInfoImpl().setKind(UriInfoKind.all));
assertEquals(null, expression.getType());
@@ -215,7 +218,7 @@ public class ExpressionTest {
@Test
public void testTypeLiteralExpression() throws ExpressionVisitException, ODataApplicationException {
TypeLiteralImpl expression = new TypeLiteralImpl();
- EdmEntityType entityBaseType = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
+ EdmEntityType entityBaseType = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
expression.setType(entityBaseType);
assertEquals(entityBaseType, expression.getType());
[7/9] [OLINGO-168] More TechProvider Refactoring
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
index 6a0708f..81f638d 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
@@ -40,7 +40,7 @@ public class SchemaProvider {
public static final String nameSpace = "com.sap.odata.test1";
- public SchemaProvider(EdmTechProvider prov) {
+ public SchemaProvider(final EdmTechProvider prov) {
this.prov = prov;
}
@@ -105,17 +105,17 @@ public class SchemaProvider {
// Actions
List<Action> actions = new ArrayList<Action>();
schema.setActions(actions);
- actions.addAll(prov.getActions(ActionProvider.nameUARTPrimParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTPrimCollParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTCompParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTCompCollParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTETParam));
- actions.addAll(prov.getActions(ActionProvider.nameUARTETCollAllPrimParam));
actions.addAll(prov.getActions(ActionProvider.nameBAETTwoKeyNavRTETTwoKeyNav));
actions.addAll(prov.getActions(ActionProvider.nameBAESAllPrimRTETAllPrim));
actions.addAll(prov.getActions(ActionProvider.nameBAESTwoKeyNavRTESTwoKeyNav));
actions.addAll(prov.getActions(ActionProvider.nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav));
actions.addAll(prov.getActions(ActionProvider.nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTPrimCollParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCompParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCompCollParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTETParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTESParam));
// Functions
List<Function> functions = new ArrayList<Function>();
@@ -127,7 +127,6 @@ public class SchemaProvider {
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParamCTTwoPrim));
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTStringTwoParam));
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESTwoKeyNavParam));
- // TODO: check why it exists twice
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTString));
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollStringTwoParam));
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollString));
@@ -140,6 +139,7 @@ public class SchemaProvider {
functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTESMixPrimCollCompTwoParam));
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETAllPrimTwoParam));
functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESMixPrimCollCompTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTCollCTNavFiveProp));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTESTwoKeyNav));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCStringRTESTwoKeyNav));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTETTwoKeyNav));
@@ -163,11 +163,14 @@ public class SchemaProvider {
functions.addAll(prov.getFunctions(FunctionProvider.nameBFESTwoKeyNavRTESTwoKeyNav));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTETTwoKeyNav));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTCTTwoPrim));
+
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCTNavFiveProp));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollCTNavFiveProp));
+
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTStringParam));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNavParam));
functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTETTwoKeyNavParam));
- functions.addAll(prov.getFunctions(FunctionProvider.nameBAETTwoKeyNavRTETTwoKeyNav));
- functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNavParam));
+ //functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNavParam));
// EntityContainer
EntityContainer container = new EntityContainer();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
index 879affd..dc34b31 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
@@ -23,7 +23,7 @@ import org.apache.olingo.server.api.edm.provider.TypeDefinition;
public class TypeDefinitionProvider {
- public TypeDefinition getTypeDefinition(FullQualifiedName typeDefinitionName) {
+ public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) {
return null;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
index ab0b1d3..50b7a5d 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
@@ -593,7 +593,7 @@ public class TestUriParserImpl {
testRes.run("FINRTInt16()")
.isFunctionImport("FINRTInt16")
.isFunction("UFNRTInt16")
- .isType(PropertyProvider.nameString);
+ .isType(PropertyProvider.nameInt16);
// one input
testRes.run("FICRTETTwoKeyNavParam(ParameterInt16=1)")
@@ -614,7 +614,7 @@ public class TestUriParserImpl {
testRes.run("FINRTInt16()")
.isFunctionImport("FINRTInt16")
.isFunction("UFNRTInt16")
- .isType(PropertyProvider.nameString, false);
+ .isType(PropertyProvider.nameInt16, false);
// returning collection of primitive
testRes.run("FICRTCollStringTwoParam(ParameterString='ABC',ParameterInt16=1)")
[8/9] [OLINGO-168] More TechProvider Refactoring
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
index fd93d5d..291d893 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
@@ -31,25 +31,35 @@ import org.apache.olingo.server.api.edm.provider.ReferentialConstraint;
public class EntityTypeProvider {
public static final FullQualifiedName nameETAllKey = new FullQualifiedName(SchemaProvider.nameSpace, "ETAllKey");
- public static final FullQualifiedName nameETAllNullable = new FullQualifiedName(SchemaProvider.nameSpace, "ETAllNullable");
+ public static final FullQualifiedName nameETAllNullable = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETAllNullable");
public static final FullQualifiedName nameETAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETAllPrim");
public static final FullQualifiedName nameETBase = new FullQualifiedName(SchemaProvider.nameSpace, "ETBase");
- public static final FullQualifiedName nameETBaseTwoKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETBaseTwoKeyNav");
+ public static final FullQualifiedName nameETBaseTwoKeyNav = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETBaseTwoKeyNav");
public static final FullQualifiedName nameETBaseTwoKeyTwoPrim =
new FullQualifiedName(SchemaProvider.nameSpace, "ETBaseTwoKeyTwoPrim");
- public static final FullQualifiedName nameETCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETCollAllPrim");
- public static final FullQualifiedName nameETCompAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompAllPrim");
- public static final FullQualifiedName nameETCompCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompCollAllPrim");
- public static final FullQualifiedName nameETCompCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompCollComp");
+ public static final FullQualifiedName nameETCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETCollAllPrim");
+ public static final FullQualifiedName nameETCompAllPrim = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETCompAllPrim");
+ public static final FullQualifiedName nameETCompCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETCompCollAllPrim");
+ public static final FullQualifiedName nameETCompCollComp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETCompCollComp");
public static final FullQualifiedName nameETCompComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompComp");
public static final FullQualifiedName nameETCompMixPrimCollComp =
new FullQualifiedName(SchemaProvider.nameSpace, "ETCompMixPrimCollComp");
- public static final FullQualifiedName nameETFourKeyAlias = new FullQualifiedName(SchemaProvider.nameSpace, "ETFourKeyAlias");
+ public static final FullQualifiedName nameETFourKeyAlias = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETFourKeyAlias");
public static final FullQualifiedName nameETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETKeyNav");
- public static final FullQualifiedName nameETKeyPrimNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETKeyPrimNav");
- public static final FullQualifiedName nameETKeyTwoKeyComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETKeyTwoKeyComp");
+ public static final FullQualifiedName nameETKeyPrimNav = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETKeyPrimNav");
+ public static final FullQualifiedName nameETKeyTwoKeyComp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETKeyTwoKeyComp");
public static final FullQualifiedName nameETMedia = new FullQualifiedName(SchemaProvider.nameSpace, "ETMedia");
- public static final FullQualifiedName nameETMixPrimCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETMixPrimCollComp");
+ public static final FullQualifiedName nameETMixPrimCollComp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETMixPrimCollComp");
public static final FullQualifiedName nameETServerSidePaging =
new FullQualifiedName(SchemaProvider.nameSpace, "ETServerSidePaging");
public static final FullQualifiedName nameETTwoBase = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoBase");
@@ -57,8 +67,10 @@ public class EntityTypeProvider {
new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoBaseTwoKeyNav");
public static final FullQualifiedName nameETTwoBaseTwoKeyTwoPrim =
new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoBaseTwoKeyTwoPrim");
- public static final FullQualifiedName nameETTwoKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoKeyNav");
- public static final FullQualifiedName nameETTwoKeyTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoKeyTwoPrim");
+ public static final FullQualifiedName nameETTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoKeyNav");
+ public static final FullQualifiedName nameETTwoKeyTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace,
+ "ETTwoKeyTwoPrim");
public static final FullQualifiedName nameETTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoPrim");
public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
@@ -74,7 +86,9 @@ public class EntityTypeProvider {
PropertyProvider.propertySingle, PropertyProvider.propertyDouble, PropertyProvider.propertyDecimal,
PropertyProvider.propertyBinary, PropertyProvider.propertyDate, PropertyProvider.propertyDateTimeOffset,
PropertyProvider.propertyDuration, PropertyProvider.propertyGuid, PropertyProvider.propertyTimeOfDay
- /* TODO add propertyStream */));
+ /* TODO add propertyStream */))
+ .setNavigationProperties(Arrays.asList(PropertyProvider.navPropertyETTwoPrimOne_ETTwoPrim,
+ PropertyProvider.collectionNavPropertyETTwoPrimMany_ETTwoPrim));
} else if (entityTypeName.equals(nameETCollAllPrim)) {
return new EntityType()
@@ -98,7 +112,10 @@ public class EntityTypeProvider {
.setName("ETTwoPrim")
.setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
.setProperties(Arrays.asList(
- PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString));
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString))
+ .setNavigationProperties(
+ Arrays.asList(PropertyProvider.navPropertyETAllPrimOne_ETAllPrim,
+ PropertyProvider.collectionNavPropertyETAllPrimMany_ETAllPrim));
} else if (entityTypeName.equals(nameETMixPrimCollComp)) {
return new EntityType()
@@ -163,14 +180,14 @@ public class EntityTypeProvider {
new PropertyRef().setPropertyName("PropertyTimeOfDay")))
.setProperties(
Arrays.asList(
- PropertyProvider.propertyString, PropertyProvider.propertyBoolean,
- PropertyProvider.propertyByte, PropertyProvider.propertySByte,
- PropertyProvider.propertyInt16, PropertyProvider.propertyInt32, PropertyProvider.propertyInt64,
- PropertyProvider.propertyDecimal, PropertyProvider.propertyDate,
- PropertyProvider.propertySingle, PropertyProvider.propertyDouble,
- PropertyProvider.propertyDateTimeOffset,
- PropertyProvider.propertyDuration, PropertyProvider.propertyGuid,
- PropertyProvider.propertyTimeOfDay /* TODO add propertyStream */));
+ PropertyProvider.propertyString_NotNullable, PropertyProvider.propertyBoolean_NotNullable,
+ PropertyProvider.propertyByte_NotNullable, PropertyProvider.propertySByte_NotNullable,
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyInt32_NotNullable,
+ PropertyProvider.propertyInt64_NotNullable,
+ PropertyProvider.propertyDecimal_NotNullable, PropertyProvider.propertyDate_NotNullable,
+ PropertyProvider.propertyDateTimeOffset_NotNullable,
+ PropertyProvider.propertyDuration_NotNullable, PropertyProvider.propertyGuid_NotNullable,
+ PropertyProvider.propertyTimeOfDay_NotNullable /* TODO add propertyStream */));
} else if (entityTypeName.equals(nameETCompAllPrim)) {
return new EntityType()
@@ -181,11 +198,11 @@ public class EntityTypeProvider {
} else if (entityTypeName.equals(nameETCompCollAllPrim)) {
return new EntityType()
- .setName("ETCompAllPrim")
+ .setName("ETCompCollAllPrim")
.setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
.setProperties(
- Arrays.asList(PropertyProvider.propertyInt16_NotNullable,
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable,
PropertyProvider.propertyComplex_CTCollAllPrim));
} else if (entityTypeName.equals(nameETCompComp)) {
@@ -205,7 +222,7 @@ public class EntityTypeProvider {
} else if (entityTypeName.equals(nameETMedia)) {
return new EntityType()
- .setName("ETCompCollComp")
+ .setName("ETMedia")
.setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
.setProperties(Arrays.asList(PropertyProvider.propertyInt16_NotNullable))
.setHasStream(true);
@@ -232,9 +249,10 @@ public class EntityTypeProvider {
} else if (entityTypeName.equals(nameETServerSidePaging)) {
return new EntityType()
- .setName("ETKeyTwoKeyComp")
+ .setName(nameETServerSidePaging.getName())
.setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString));
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16_NotNullable,
+ PropertyProvider.propertyString_NotNullable));
} else if (entityTypeName.equals(nameETAllNullable)) {
return new EntityType()
@@ -243,26 +261,32 @@ public class EntityTypeProvider {
.setProperties(
Arrays.asList(
new Property()
- .setName("PropertyKey").setType(PropertyProvider.nameInt16),
- PropertyProvider.propertyInt16,
- PropertyProvider.propertyString, PropertyProvider.propertyBoolean,
- PropertyProvider.propertyByte, PropertyProvider.propertySByte,
- PropertyProvider.propertyInt32, PropertyProvider.propertyInt64,
- PropertyProvider.propertySingle, PropertyProvider.propertyDouble,
- PropertyProvider.propertyDecimal, PropertyProvider.propertyBinary, PropertyProvider.propertyDate,
- PropertyProvider.propertyDateTimeOffset,
- PropertyProvider.propertyDuration, PropertyProvider.propertyGuid,
- PropertyProvider.propertyTimeOfDay /* TODO add propertyStream */,
- PropertyProvider.collPropertyString, PropertyProvider.collPropertyBoolean,
- PropertyProvider.collPropertyByte, PropertyProvider.collPropertySByte,
- PropertyProvider.collPropertyInt16,
- PropertyProvider.collPropertyInt32, PropertyProvider.collPropertyInt64,
- PropertyProvider.collPropertySingle, PropertyProvider.collPropertyDouble,
- PropertyProvider.collPropertyDecimal, PropertyProvider.collPropertyBinary,
- PropertyProvider.collPropertyDate,
- PropertyProvider.collPropertyDateTimeOffset,
- PropertyProvider.collPropertyDuration, PropertyProvider.collPropertyGuid,
- PropertyProvider.collPropertyTimeOfDay /* TODO add propertyStream */));
+ .setName("PropertyKey").setType(PropertyProvider.nameInt16).setNullable(false),
+ PropertyProvider.propertyInt16_ExplicitNullable, PropertyProvider.propertyString_ExplicitNullable,
+ PropertyProvider.propertyBoolean_ExplicitNullable, PropertyProvider.propertyByte_ExplicitNullable,
+ PropertyProvider.propertySByte_ExplicitNullable, PropertyProvider.propertyInt32_ExplicitNullable,
+ PropertyProvider.propertyInt64_ExplicitNullable, PropertyProvider.propertySingle_ExplicitNullable,
+ PropertyProvider.propertyDouble_ExplicitNullable, PropertyProvider.propertyDecimal_ExplicitNullable,
+ PropertyProvider.propertyBinary_ExplicitNullable, PropertyProvider.propertyDate_ExplicitNullable,
+ PropertyProvider.propertyDateTimeOffset_ExplicitNullable,
+ PropertyProvider.propertyDuration_ExplicitNullable, PropertyProvider.propertyGuid_ExplicitNullable,
+ PropertyProvider.propertyTimeOfDay_ExplicitNullable /* TODO add propertyStream */,
+ PropertyProvider.collPropertyString_ExplicitNullable,
+ PropertyProvider.collPropertyBoolean_ExplicitNullable,
+ PropertyProvider.collPropertyByte_ExplicitNullable,
+ PropertyProvider.collPropertySByte_ExplicitNullable,
+ PropertyProvider.collPropertyInt16_ExplicitNullable,
+ PropertyProvider.collPropertyInt32_ExplicitNullable,
+ PropertyProvider.collPropertyInt64_ExplicitNullable,
+ PropertyProvider.collPropertySingle_ExplicitNullable,
+ PropertyProvider.collPropertyDouble_ExplicitNullable,
+ PropertyProvider.collPropertyDecimal_ExplicitNullable,
+ PropertyProvider.collPropertyBinary_ExplicitNullable,
+ PropertyProvider.collPropertyDate_ExplicitNullable,
+ PropertyProvider.collPropertyDateTimeOffset_ExplicitNullable,
+ PropertyProvider.collPropertyDuration_ExplicitNullable,
+ PropertyProvider.collPropertyGuid_ExplicitNullable,
+ PropertyProvider.collPropertyTimeOfDay_ExplicitNullable /* TODO add propertyStream */));
} else if (entityTypeName.equals(nameETKeyNav)) {
return new EntityType()
@@ -280,7 +304,7 @@ public class EntityTypeProvider {
))
.setNavigationProperties(
Arrays.asList(
- PropertyProvider.navPropertyETTwoKeyNavOne_ETTwoKeyNav,
+ PropertyProvider.navPropertyETTwoKeyNavOne_ETTwoKeyNav_NotNullable,
PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
PropertyProvider.navPropertyETKeyNavOne_ETKeyNav,
PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav,
@@ -289,19 +313,13 @@ public class EntityTypeProvider {
));
} else if (entityTypeName.equals(nameETKeyPrimNav)) {
return new EntityType()
- .setName("ETKeyNav")
+ .setName("ETKeyPrimNav")
.setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
.setProperties(Arrays.asList(
- PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_NotNullable))
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_ExplicitNullable))
.setNavigationProperties(
Arrays.asList(
- PropertyProvider.navPropertyETTwoKeyNavOne_ETTwoKeyNav,
- PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
- PropertyProvider.navPropertyETKeyNavOne_ETKeyNav,
- PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav,
- PropertyProvider.navPropertyETMediaOne_ETMedia,
- PropertyProvider.collectionNavPropertyETMediaMany_ETMedia
- ));
+ PropertyProvider.navPropertyETKeyPrimNavOne_ETKeyPrimNav));
} else if (entityTypeName.equals(nameETTwoKeyNav)) {
return new EntityType()
@@ -311,9 +329,10 @@ public class EntityTypeProvider {
new PropertyRef().setPropertyName("PropertyString")))
.setProperties(
Arrays.asList(
- PropertyProvider.propertyInt16, PropertyProvider.propertyString,
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_NotNullable,
PropertyProvider.propertyComplex_CTPrimComp_NotNullable,
- new Property().setName("PropertyComplexNav").setType(ComplexTypeProvider.nameCTBasePrimCompNav),
+ new Property().setName("PropertyComplexNav").setType(ComplexTypeProvider.nameCTBasePrimCompNav)
+ .setNullable(false),
PropertyProvider.propertyComplexEnum_CTPrimEnum_NotNullable,
PropertyProvider.collPropertyComplex_CTPrimComp,
new Property().setName("CollPropertyComplexNav").setType(ComplexTypeProvider.nameCTNavFiveProp)
@@ -337,27 +356,23 @@ public class EntityTypeProvider {
return new EntityType()
.setName("ETBaseTwoKeyNav")
.setBaseType(nameETTwoKeyNav)
- .setProperties(Arrays.asList(PropertyProvider.propertyDate))
+ .setProperties(Arrays.asList(PropertyProvider.propertyDate_ExplicitNullable))
.setNavigationProperties(Arrays.asList(
new NavigationProperty()
- .setName("NavPropertyETBaseTwoKeyNav")
+ .setName("NavPropertyETBaseTwoKeyNavOne")
.setType(nameETBaseTwoKeyNav),
new NavigationProperty()
- .setName("NavPropertyETTwoBaseTwoKeyNav")
- .setType(nameETTwoBaseTwoKeyNav)))
- .setHasStream(true);
+ .setName("NavPropertyETTwoBaseTwoKeyNavOne")
+ .setType(nameETTwoBaseTwoKeyNav)));
} else if (entityTypeName.equals(nameETTwoBaseTwoKeyNav)) {
return new EntityType()
.setName("ETTwoBaseTwoKeyNav")
.setBaseType(nameETBaseTwoKeyNav)
.setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(PropertyProvider.propertyGuid))
+ .setProperties(Arrays.asList(PropertyProvider.propertyGuid_ExplicitNullable))
.setNavigationProperties(Arrays.asList(
new NavigationProperty()
- .setName("NavPropertyETBaseTwoKeyNavOne")
- .setType(nameETBaseTwoKeyNav),
- new NavigationProperty()
.setName("NavPropertyETBaseTwoKeyNavMany")
.setType(nameETBaseTwoKeyNav)
.setCollection(true)
@@ -377,7 +392,7 @@ public class EntityTypeProvider {
.setPropertyName("PropertyComplexComplex/PropertyComplex/PropertyString")
.setAlias("KeyAlias3")))
.setProperties(
- Arrays.asList(PropertyProvider.propertyGuid, PropertyProvider.propertyComplex_CTTwoPrim,
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyComplex_CTTwoPrim,
PropertyProvider.propertyComplexComplex_CTCompComp));
} else if (entityTypeName.equals(nameETCompMixPrimCollComp)) {
return new EntityType()
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
index 0640a99..e843955 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
import org.apache.olingo.commons.api.ODataException;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
import org.apache.olingo.server.api.edm.provider.EnumMember;
import org.apache.olingo.server.api.edm.provider.EnumType;
@@ -33,6 +34,8 @@ public class EnumTypeProvider {
if (enumTypeName.equals(nameENString)) {
return new EnumType()
.setName("ENString")
+ .setFlags(true)
+ .setUnderlyingType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName())
.setMembers(Arrays.asList(
new EnumMember().setName("String1").setValue("1"),
new EnumMember().setName("String2").setValue("2"),
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
index f9e15ec..fe6fefb 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
@@ -112,21 +112,19 @@ public class FunctionProvider {
public static final FullQualifiedName nameBFESTwoKeyNavRTESTwoKeyNav =
new FullQualifiedName(SchemaProvider.nameSpace, "BFESTwoKeyNavRTESTwoKeyNav");
- // TODO: warum BAET?
- public static final FullQualifiedName nameBAETTwoKeyNavRTETTwoKeyNav =
- new FullQualifiedName(SchemaProvider.nameSpace, "BAETTwoKeyNavRTETTwoKeyNav");
-
// Unbound Functions
public static final FullQualifiedName nameUFCRTCollCTTwoPrim =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrim");
public static final FullQualifiedName nameUFCRTCollCTTwoPrimParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrimParam");
- public static final FullQualifiedName nameUFCRTCollString = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollString");
+ public static final FullQualifiedName nameUFCRTCollString = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UFCRTCollString");
public static final FullQualifiedName nameUFCRTCollStringTwoParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollStringTwoParam");
public static final FullQualifiedName nameUFCRTCTAllPrimTwoParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTAllPrimTwoParam");
- public static final FullQualifiedName nameUFCRTCTTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTTwoPrim");
+ public static final FullQualifiedName nameUFCRTCTTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UFCRTCTTwoPrim");
public static final FullQualifiedName nameUFCRTCTTwoPrimParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTTwoPrimParam");
public static final FullQualifiedName nameUFCRTESMixPrimCollCompTwoParam =
@@ -135,8 +133,10 @@ public class FunctionProvider {
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESTwoKeyNavParam");
public static final FullQualifiedName nameUFCRTETAllPrimTwoParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETAllPrimTwoParam");
- public static final FullQualifiedName nameUFCRTETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETKeyNav");
- public static final FullQualifiedName nameUFCRTETMedia = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETMedia");
+ public static final FullQualifiedName nameUFCRTETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UFCRTETKeyNav");
+ public static final FullQualifiedName nameUFCRTETMedia = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UFCRTETMedia");
public static final FullQualifiedName nameUFCRTETTwoKeyNavParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParam");
@@ -144,7 +144,8 @@ public class FunctionProvider {
public static final FullQualifiedName nameUFCRTETTwoKeyNavParamCTTwoPrim =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParamCTTwoPrim");
- public static final FullQualifiedName nameUFCRTString = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTString");
+ public static final FullQualifiedName nameUFCRTString =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTString");
public static final FullQualifiedName nameUFCRTStringTwoParam =
new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTStringTwoParam");
@@ -154,6 +155,15 @@ public class FunctionProvider {
public static final FullQualifiedName nameUFNRTInt16 =
new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTInt16");
+ public static final FullQualifiedName nameUFNRTCollCTNavFiveProp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UFNRTCollCTNavFiveProp");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTCTNavFiveProp = new FullQualifiedName(
+ SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCTNavFiveProp");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTNavFiveProp = new FullQualifiedName(
+ SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollCTNavFiveProp");
+
public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
if (functionName.equals(nameUFNRTInt16)) {
@@ -162,7 +172,7 @@ public class FunctionProvider {
.setName("UFNRTInt16")
.setParameters(new ArrayList<Parameter>())
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString))
+ new ReturnType().setType(PropertyProvider.nameInt16))
);
} else if (functionName.equals(nameUFCRTETKeyNav)) {
@@ -172,7 +182,7 @@ public class FunctionProvider {
.setParameters(new ArrayList<Parameter>())
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
);
} else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) {
@@ -180,10 +190,10 @@ public class FunctionProvider {
new Function()
.setName("UFCRTETTwoKeyNavParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav)
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
)
);
@@ -192,10 +202,11 @@ public class FunctionProvider {
new Function()
.setName("UFCRTETTwoKeyNavParamCTTwoPrim")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim)))
+ new Parameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav)
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
)
);
@@ -206,22 +217,24 @@ public class FunctionProvider {
.setParameters(Arrays.asList(
new Parameter()
.setName("ParameterInt16")
- .setType(PropertyProvider.nameInt16)))
+ .setType(PropertyProvider.nameInt16)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString)),
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false)),
new Function()
.setName("UFCRTStringTwoParam")
.setParameters(Arrays.asList(
new Parameter()
.setName("ParameterString")
- .setType(PropertyProvider.nameString),
+ .setType(PropertyProvider.nameString)
+ .setNullable(false),
new Parameter()
.setName("ParameterInt16")
- .setType(PropertyProvider.nameInt16)))
+ .setType(PropertyProvider.nameInt16)
+ .setNullable(false)))
.setComposable(true)
- .setReturnType(
- new ReturnType().setType(PropertyProvider.nameString))
+ .setReturnType(new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
);
@@ -232,10 +245,11 @@ public class FunctionProvider {
.setParameters(Arrays.asList(
new Parameter()
.setName("ParameterInt16")
- .setType(PropertyProvider.nameInt16)))
+ .setType(PropertyProvider.nameInt16)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameUFCRTString)) {
@@ -247,7 +261,7 @@ public class FunctionProvider {
.setParameters(new ArrayList<Parameter>())
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString)
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false)
)
);
@@ -256,11 +270,11 @@ public class FunctionProvider {
new Function()
.setName("UFCRTCollStringTwoParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameUFCRTCollString)) {
@@ -270,7 +284,7 @@ public class FunctionProvider {
.setParameters(new ArrayList<Parameter>())
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) {
@@ -278,11 +292,11 @@ public class FunctionProvider {
new Function()
.setName("UFCRTCTAllPrimTwoParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim))
+ new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))
);
} else if (functionName.equals(nameUFCRTCTTwoPrimParam)) {
@@ -290,22 +304,22 @@ public class FunctionProvider {
new Function()
.setName("UFCRTCTTwoPrimParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
);
} else if (functionName.equals(nameUFCRTCollCTTwoPrimParam)) {
return Arrays.asList(
new Function()
.setName("UFCRTCollCTTwoPrimParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameUFCRTCTTwoPrim)) {
@@ -315,17 +329,17 @@ public class FunctionProvider {
.setParameters(new ArrayList<Parameter>())
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
);
} else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
return Arrays.asList(
new Function()
- .setName("UFCRTCTTwoPrim")
-
+ .setName("UFCRTCollCTTwoPrim")
+ .setComposable(true)
.setParameters(new ArrayList<Parameter>())
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameUFCRTETMedia)) {
@@ -333,28 +347,9 @@ public class FunctionProvider {
new Function()
.setName("UFCRTETMedia")
.setParameters(new ArrayList<Parameter>())
- .setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETMedia))
- );
-
- } else if (functionName.equals(nameUFCRTString)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTString")
- .setParameters(new ArrayList<Parameter>())
- .setReturnType(new ReturnType()
- .setType(PropertyProvider.nameString)
- )
- );
-
- } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCollCTTwoPrim")
.setComposable(true)
- .setParameters(new ArrayList<Parameter>())
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETMedia).setNullable(false))
);
} else if (functionName.equals(nameUFNRTESMixPrimCollCompTwoParam)) {
@@ -362,11 +357,12 @@ public class FunctionProvider {
new Function()
.setName("UFNRTESMixPrimCollCompTwoParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
.setComposable(false)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true)
+ .setNullable(false))
);
} else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) {
@@ -374,11 +370,11 @@ public class FunctionProvider {
new Function()
.setName("UFCRTETAllPrimTwoParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETAllPrim))
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setNullable(false))
);
} else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) {
@@ -386,14 +382,22 @@ public class FunctionProvider {
new Function()
.setName("UFCRTESMixPrimCollCompTwoParam")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
- new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)
))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true)
+ .setNullable(false))
);
+ } else if (functionName.equals(nameUFNRTCollCTNavFiveProp)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFNRTCollCTNavFiveProp")
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true))
+ );
} else if (functionName.equals(nameBFCESTwoKeyNavRTESTwoKeyNav)) {
return Arrays
.asList(
@@ -403,10 +407,11 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)),
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
+ .setNullable(false)),
new Function()
.setName("BFCESTwoKeyNavRTESTwoKeyNav")
@@ -414,33 +419,36 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true),
+ .setCollection(true).setNullable(false),
new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
- .setCollection(false)))
+ .setCollection(false).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)),
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
+ .setNullable(false)),
new Function()
.setName("BFCESTwoKeyNavRTESTwoKeyNav")
.setBound(true)
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)),
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
+ .setNullable(false)),
new Function()
.setName("BFCESTwoKeyNavRTESTwoKeyNav")
.setBound(true)
.setParameters(
Arrays.asList(new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)
- .setCollection(true),
+ .setCollection(true).setNullable(false),
new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
- .setCollection(false)))
+ .setCollection(false).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
+ .setNullable(false))
);
} else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) {
@@ -448,10 +456,10 @@ public class FunctionProvider {
new Function().setName("BFCStringRTESTwoKeyNav")
.setBound(true)
.setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(PropertyProvider.nameString)))
+ new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) {
@@ -460,10 +468,11 @@ public class FunctionProvider {
.setName("BFCETBaseTwoKeyNavRTETTwoKeyNav")
.setBound(true)
.setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav)
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
)
);
@@ -474,10 +483,11 @@ public class FunctionProvider {
.setBound(true)
.setParameters(Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true)
+ .setNullable(false))
);
} else if (functionName.equals(nameBFCESAllPrimRTCTAllPrim)) {
@@ -487,11 +497,11 @@ public class FunctionProvider {
.setBound(true)
.setParameters(
Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim).setCollection(
- true)))
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim)
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim))
+ new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))
);
} else if (functionName.equals(nameBFCESTwoKeyNavRTCTTwoPrim)) {
@@ -502,10 +512,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
);
} else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTTwoPrim)) {
@@ -516,10 +526,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCESTwoKeyNavRTString)) {
@@ -530,10 +540,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString))
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
);
} else if (functionName.equals(nameBFCESTwoKeyNavRTCollString)) {
@@ -544,10 +554,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) {
@@ -556,10 +566,11 @@ public class FunctionProvider {
.setName("BFCETTwoKeyNavRTESTwoKeyNav")
.setBound(true)
.setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) {
@@ -567,11 +578,13 @@ public class FunctionProvider {
new Function()
.setName("BFCETBaseTwoKeyNavRTESTwoKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCSINavRTESTwoKeyNav)) {
@@ -579,11 +592,13 @@ public class FunctionProvider {
new Function()
.setName("BFCSINavRTESTwoKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
+ false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESBaseTwoKey)) {
@@ -591,11 +606,14 @@ public class FunctionProvider {
new Function()
.setName("BFCETBaseTwoKeyNavRTESBaseTwoKey")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable(
+ false))
);
} else if (functionName.equals(nameBFCCollStringRTESTwoKeyNav)) {
@@ -603,10 +621,13 @@ public class FunctionProvider {
new Function()
.setName("BFCCollStringRTESTwoKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection(true)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection(true)
+ .setNullable(false)))
.setComposable(true)
- .setReturnType(new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNav)) {
@@ -614,11 +635,13 @@ public class FunctionProvider {
new Function()
.setName("BFCCTPrimCompRTESTwoKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
+ false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCCTPrimCompRTESBaseTwoKeyNav)) {
@@ -626,11 +649,14 @@ public class FunctionProvider {
new Function()
.setName("BFCCTPrimCompRTESBaseTwoKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
+ false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable(
+ false))
);
} else if (functionName.equals(nameBFCCollCTPrimCompRTESAllPrim)) {
@@ -641,10 +667,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true).setNullable(false))
);
} else if (functionName.equals(nameBFCESTwoKeyNavRTTwoKeyNav)) {
@@ -655,10 +681,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))
);
} else if (functionName.equals(nameBFCESKeyNavRTETKeyNav)) {
@@ -667,11 +693,13 @@ public class FunctionProvider {
new Function()
.setName("BFCESKeyNavRTETKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(true)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(
+ true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
);
} else if (functionName.equals(nameBFCETKeyNavRTETKeyNav)) {
@@ -680,10 +708,10 @@ public class FunctionProvider {
.setName("BFCETKeyNavRTETKeyNav")
.setBound(true)
.setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)))
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
);
} else if (functionName.equals(nameBFESTwoKeyNavRTESTwoKeyNav)) {
return Arrays.asList(
@@ -693,9 +721,10 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true)))
+ .setCollection(true).setNullable(false)))
.setComposable(true)
- .setReturnType(new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
@@ -704,11 +733,13 @@ public class FunctionProvider {
new Function()
.setName("BFCETTwoKeyNavRTETTwoKeyNav")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
+ false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))
);
} else if (functionName.equals(nameBFCETTwoKeyNavRTCTTwoPrim)) {
@@ -716,11 +747,40 @@ public class FunctionProvider {
new Function()
.setName("BFCETTwoKeyNavRTCTTwoPrim")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
+ false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
+ );
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTCTNavFiveProp)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTCTNavFiveProp")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setNullable(false))
+ );
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTNavFiveProp)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTCollCTNavFiveProp")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true).setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true)
+ .setNullable(false))
);
} else if (functionName.equals(nameBFCESTwoKeyNavRTStringParam)) {
return Arrays.asList(
@@ -730,11 +790,12 @@ public class FunctionProvider {
.setParameters(
Arrays.asList(
new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
- .setCollection(true),
- new Parameter().setName("ParameterComplex").setType(ComplexTypeProvider.nameCTTwoPrim)))
+ .setCollection(true).setNullable(false),
+ new Parameter().setName("ParameterComplex").setType(ComplexTypeProvider.nameCTTwoPrim)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(PropertyProvider.nameString))
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
);
} else if (functionName.equals(nameBFCESKeyNavRTETKeyNavParam)) {
@@ -742,49 +803,46 @@ public class FunctionProvider {
new Function()
.setName("BFCESKeyNavRTETKeyNavParam")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(true),
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(
+ true).setNullable(false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
);
} else if (functionName.equals(nameBFCCTPrimCompRTETTwoKeyNavParam)) {
return Arrays.asList(
new Function()
.setName("BFCCTPrimCompRTETTwoKeyNavParam")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp),
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
+ false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(new ReturnType()
- .setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
)
);
- } else if (functionName.equals(nameBAETTwoKeyNavRTETTwoKeyNav)) {
- return Arrays.asList(
- new Function()
- .setName("BAETTwoKeyNavRTETTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(PropertyProvider.nameInt16).setCollection(true),
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
- );
} else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNavParam)) {
return Arrays.asList(
new Function()
.setName("BFCCTPrimCompRTESTwoKeyNavParam")
.setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp),
- new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
+ false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setNullable(false)))
.setComposable(true)
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
index a237ebd..6dc2399 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
@@ -54,112 +54,304 @@ public class PropertyProvider {
.setName("CollPropertyBinary")
.setType(nameBinary)
.setCollection(true);
+
+ public static final Property collPropertyBinary_ExplicitNullable = new Property()
+ .setName("CollPropertyBinary")
+ .setType(nameBinary)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyBoolean = new Property()
.setName("CollPropertyBoolean")
.setType(nameBoolean)
.setCollection(true);
+
+ public static final Property collPropertyBoolean_ExplicitNullable = new Property()
+ .setName("CollPropertyBoolean")
+ .setType(nameBoolean)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyByte = new Property()
.setName("CollPropertyByte")
.setType(nameByte)
.setCollection(true);
+ public static final Property collPropertyByte_ExplicitNullable = new Property()
+ .setName("CollPropertyByte")
+ .setType(nameByte)
+ .setNullable(true)
+ .setCollection(true);
+
public static final Property collPropertyDate = new Property()
.setName("CollPropertyDate")
.setType(nameDate)
.setCollection(true);
+
+ public static final Property collPropertyDate_ExplicitNullable = new Property()
+ .setName("CollPropertyDate")
+ .setType(nameDate)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyDateTimeOffset = new Property()
.setName("CollPropertyDateTimeOffset")
.setType(nameDateTimeOffset)
.setCollection(true);
+
+ public static final Property collPropertyDateTimeOffset_ExplicitNullable = new Property()
+ .setName("CollPropertyDateTimeOffset")
+ .setType(nameDateTimeOffset)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyDecimal = new Property()
.setName("CollPropertyDecimal")
.setType(nameDecimal)
.setCollection(true);
+
+ public static final Property collPropertyDecimal_ExplicitNullable = new Property()
+ .setName("CollPropertyDecimal")
+ .setType(nameDecimal)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyDouble = new Property()
.setName("CollPropertyDouble")
.setType(nameDouble)
.setCollection(true);
+
+ public static final Property collPropertyDouble_ExplicitNullable = new Property()
+ .setName("CollPropertyDouble")
+ .setType(nameDouble)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyDuration = new Property()
.setName("CollPropertyDuration")
.setType(nameDuration)
.setCollection(true);
+
+ public static final Property collPropertyDuration_ExplicitNullable = new Property()
+ .setName("CollPropertyDuration")
+ .setType(nameDuration)
+ .setNullable(true)
+ .setCollection(true);
+
public static final Property collPropertyGuid = new Property()
.setName("CollPropertyGuid")
.setType(nameGuid)
.setCollection(true);
+
+ public static final Property collPropertyGuid_ExplicitNullable = new Property()
+ .setName("CollPropertyGuid")
+ .setType(nameGuid)
+ .setNullable(true)
+ .setCollection(true);
+
public static final Property collPropertyInt16 = new Property()
.setName("CollPropertyInt16")
.setType(nameInt16)
.setCollection(true);
+
+ public static final Property collPropertyInt16_ExplicitNullable = new Property()
+ .setName("CollPropertyInt16")
+ .setType(nameInt16)
+ .setNullable(true)
+ .setCollection(true);
+
public static final Property collPropertyInt32 = new Property()
.setName("CollPropertyInt32")
.setType(nameInt32)
.setCollection(true);
+
+ public static final Property collPropertyInt32_ExplicitNullable = new Property()
+ .setName("CollPropertyInt32")
+ .setType(nameInt32)
+ .setNullable(true)
+ .setCollection(true);
+
public static final Property collPropertyInt64 = new Property()
.setName("CollPropertyInt64")
.setType(nameInt64)
.setCollection(true);
+
+ public static final Property collPropertyInt64_ExplicitNullable = new Property()
+ .setName("CollPropertyInt64")
+ .setType(nameInt64)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertySByte = new Property()
.setName("CollPropertySByte")
.setType(nameSByte)
.setCollection(true);
+ public static final Property collPropertySByte_ExplicitNullable = new Property()
+ .setName("CollPropertySByte")
+ .setType(nameSByte)
+ .setNullable(true)
+ .setCollection(true);
+
public static final Property collPropertySingle = new Property()
.setName("CollPropertySingle")
.setType(nameSingle)
.setCollection(true);
+
+ public static final Property collPropertySingle_ExplicitNullable = new Property()
+ .setName("CollPropertySingle")
+ .setType(nameSingle)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyString = new Property()
.setName("CollPropertyString")
.setType(nameString)
.setCollection(true);
+
+ public static final Property collPropertyString_ExplicitNullable = new Property()
+ .setName("CollPropertyString")
+ .setType(nameString)
+ .setNullable(true)
+ .setCollection(true);
public static final Property collPropertyTimeOfDay = new Property()
- .setName("CollPropertyTimeOfDay")
- .setType(nameTimeOfDay)
- .setCollection(true);
+ .setName("CollPropertyTimeOfDay")
+ .setType(nameTimeOfDay)
+ .setCollection(true);
+
+ public static final Property collPropertyTimeOfDay_ExplicitNullable = new Property()
+ .setName("CollPropertyTimeOfDay")
+ .setType(nameTimeOfDay)
+ .setNullable(true)
+ .setCollection(true);
public static final Property propertyBinary = new Property()
.setName("PropertyBinary")
.setType(nameBinary);
+
+ public static final Property propertyBinary_NotNullable = new Property()
+ .setName("PropertyBinary")
+ .setType(nameBinary)
+ .setNullable(false);
+
+ public static final Property propertyBinary_ExplicitNullable = new Property()
+ .setName("PropertyBinary")
+ .setType(nameBinary)
+ .setNullable(true);
+
public static final Property propertyBoolean = new Property()
.setName("PropertyBoolean")
.setType(nameBoolean);
+
+ public static final Property propertyBoolean_NotNullable = new Property()
+ .setName("PropertyBoolean")
+ .setType(nameBoolean)
+ .setNullable(false);
+
+ public static final Property propertyBoolean_ExplicitNullable = new Property()
+ .setName("PropertyBoolean")
+ .setType(nameBoolean)
+ .setNullable(true);
+
public static final Property propertyByte = new Property()
.setName("PropertyByte")
.setType(nameByte);
+ public static final Property propertyByte_NotNullable = new Property()
+ .setName("PropertyByte")
+ .setType(nameByte)
+ .setNullable(false);
+
+ public static final Property propertyByte_ExplicitNullable = new Property()
+ .setName("PropertyByte")
+ .setType(nameByte)
+ .setNullable(true);
+
public static final Property propertyDate = new Property()
.setName("PropertyDate")
.setType(nameDate);
+ public static final Property propertyDate_NotNullable = new Property()
+ .setName("PropertyDate")
+ .setType(nameDate)
+ .setNullable(false);
+
+ public static final Property propertyDate_ExplicitNullable = new Property()
+ .setName("PropertyDate")
+ .setType(nameDate)
+ .setNullable(true);
+
public static final Property propertyDateTimeOffset = new Property()
.setName("PropertyDateTimeOffset")
.setType(nameDateTimeOffset);
+ public static final Property propertyDateTimeOffset_NotNullable = new Property()
+ .setName("PropertyDateTimeOffset")
+ .setType(nameDateTimeOffset)
+ .setNullable(false);
+
+ public static final Property propertyDateTimeOffset_ExplicitNullable = new Property()
+ .setName("PropertyDateTimeOffset")
+ .setType(nameDateTimeOffset)
+ .setNullable(true);
+
public static final Property propertyDecimal = new Property()
.setName("PropertyDecimal")
.setType(nameDecimal);
+ public static final Property propertyDecimal_NotNullable = new Property()
+ .setName("PropertyDecimal")
+ .setType(nameDecimal)
+ .setNullable(false);
+
+ public static final Property propertyDecimal_ExplicitNullable = new Property()
+ .setName("PropertyDecimal")
+ .setType(nameDecimal)
+ .setNullable(true);
+
public static final Property propertyDouble = new Property()
.setName("PropertyDouble")
.setType(nameDouble);
+ public static final Property propertyDouble_NotNullable = new Property()
+ .setName("PropertyDouble")
+ .setType(nameDouble)
+ .setNullable(false);
+
+ public static final Property propertyDouble_ExplicitNullable = new Property()
+ .setName("PropertyDouble")
+ .setType(nameDouble)
+ .setNullable(true);
+
public static final Property propertyDuration = new Property()
.setName("PropertyDuration")
.setType(nameDuration);
+ public static final Property propertyDuration_NotNullable = new Property()
+ .setName("PropertyDuration")
+ .setType(nameDuration)
+ .setNullable(false);
+
+ public static final Property propertyDuration_ExplicitNullable = new Property()
+ .setName("PropertyDuration")
+ .setType(nameDuration)
+ .setNullable(true);
+
public static final Property propertyGuid = new Property()
.setName("PropertyGuid")
.setType(nameGuid);
+ public static final Property propertyGuid_NotNullable = new Property()
+ .setName("PropertyGuid")
+ .setType(nameGuid)
+ .setNullable(false);
+
+ public static final Property propertyGuid_ExplicitNullable = new Property()
+ .setName("PropertyGuid")
+ .setType(nameGuid)
+ .setNullable(true);
+
public static final Property propertyInt16 = new Property()
.setName("PropertyInt16")
.setType(nameInt16);
@@ -168,33 +360,96 @@ public class PropertyProvider {
.setName("PropertyInt16")
.setType(nameInt16)
.setNullable(false);
+
+ public static final Property propertyInt16_ExplicitNullable = new Property()
+ .setName("PropertyInt16")
+ .setType(nameInt16)
+ .setNullable(true);
+
public static final Property propertyInt32 = new Property()
.setName("PropertyInt32")
.setType(nameInt32);
+ public static final Property propertyInt32_NotNullable = new Property()
+ .setName("PropertyInt32")
+ .setType(nameInt32)
+ .setNullable(false);
+
+ public static final Property propertyInt32_ExplicitNullable = new Property()
+ .setName("PropertyInt32")
+ .setType(nameInt32)
+ .setNullable(true);
+
public static final Property propertyInt64 = new Property()
.setName("PropertyInt64")
.setType(nameInt64);
+ public static final Property propertyInt64_NotNullable = new Property()
+ .setName("PropertyInt64")
+ .setType(nameInt64)
+ .setNullable(false);
+
+ public static final Property propertyInt64_ExplicitNullable = new Property()
+ .setName("PropertyInt64")
+ .setType(nameInt64)
+ .setNullable(true);
+
public static final Property propertySByte = new Property()
.setName("PropertySByte")
.setType(nameSByte);
+ public static final Property propertySByte_NotNullable = new Property()
+ .setName("PropertySByte")
+ .setType(nameSByte)
+ .setNullable(false);
+
+ public static final Property propertySByte_ExplicitNullable = new Property()
+ .setName("PropertySByte")
+ .setType(nameSByte)
+ .setNullable(true);
+
public static final Property propertySingle = new Property()
.setName("PropertySingle")
.setType(nameSingle);
+ public static final Property propertySingle_NotNullable = new Property()
+ .setName("PropertySingle")
+ .setType(nameSingle)
+ .setNullable(false);
+
+ public static final Property propertySingle_ExplicitNullable = new Property()
+ .setName("PropertySingle")
+ .setType(nameSingle)
+ .setNullable(true);
+
public static final Property propertyString = new Property()
.setName("PropertyString")
.setType(nameString);
public static final Property propertyString_NotNullable = new Property()
.setName("PropertyString")
- .setType(nameString);
+ .setType(nameString)
+ .setNullable(false);
+
+ public static final Property propertyString_ExplicitNullable = new Property()
+ .setName("PropertyString")
+ .setType(nameString)
+ .setNullable(true);
- public static final Property propertyTimeOfDay = new Property().setName("PropertyTimeOfDay")
+ public static final Property propertyTimeOfDay = new Property()
+ .setName("PropertyTimeOfDay")
.setType(nameTimeOfDay);
+ public static final Property propertyTimeOfDay_NotNullable = new Property()
+ .setName("PropertyTimeOfDay")
+ .setType(nameTimeOfDay)
+ .setNullable(false);
+
+ public static final Property propertyTimeOfDay_ExplicitNullable = new Property()
+ .setName("PropertyTimeOfDay")
+ .setType(nameTimeOfDay)
+ .setNullable(true);
+
/*
* TODO add propertyStream
* Property propertyStream = new Property()
@@ -235,7 +490,8 @@ public class PropertyProvider {
public static final Property propertyComplex_CTPrimComp_NotNullable = new Property()
.setName("PropertyComplex")
- .setType(ComplexTypeProvider.nameCTPrimComp);
+ .setType(ComplexTypeProvider.nameCTPrimComp)
+ .setNullable(false);
public static final Property propertyComplex_CTTwoPrim = new Property()
.setName("PropertyComplex")
@@ -251,7 +507,8 @@ public class PropertyProvider {
public static final Property propertyComplexEnum_CTPrimEnum_NotNullable = new Property()
.setName("PropertyComplexEnum")
- .setType(ComplexTypeProvider.nameCTPrimEnum);
+ .setType(ComplexTypeProvider.nameCTPrimEnum)
+ .setNullable(false);
public static final Property propertyComplexTwoPrim_CTTwoPrim = new Property()
.setName("PropertyComplexTwoPrim")
@@ -259,8 +516,7 @@ public class PropertyProvider {
public static final Property propertyMixedPrimCollComp_CTMixPrimCollComp = new Property()
.setName("PropertyMixedPrimCollComp")
- .setType(ComplexTypeProvider.nameCTMixPrimCollComp)
- .setCollection(true);
+ .setType(ComplexTypeProvider.nameCTMixPrimCollComp);
// Navigation Properties -------------------------------------------------------------------------------------------
public static final NavigationProperty collectionNavPropertyETKeyNavMany_ETKeyNav = new NavigationProperty()
@@ -283,21 +539,47 @@ public class PropertyProvider {
.setName("NavPropertyETTwoKeyNavOne")
.setType(EntityTypeProvider.nameETTwoKeyNav);
+ public static final NavigationProperty collectionNavPropertyETTwoPrimMany_ETTwoPrim = new NavigationProperty()
+ .setName("NavPropertyETTwoPrimMany")
+ .setType(EntityTypeProvider.nameETTwoPrim)
+ .setCollection(true)
+ .setNullable(false);
+
+ public static final NavigationProperty collectionNavPropertyETAllPrimMany_ETAllPrim = new NavigationProperty()
+ .setName("NavPropertyETAllPrimMany")
+ .setType(EntityTypeProvider.nameETAllPrim)
+ .setCollection(true);
+
public static final NavigationProperty navPropertyETKeyNavOne_ETKeyNav = new NavigationProperty()
.setName("NavPropertyETKeyNavOne")
.setType(EntityTypeProvider.nameETKeyNav);
+
public static final NavigationProperty navPropertyETMediaOne_ETMedia = new NavigationProperty()
.setName("NavPropertyETMediaOne")
.setType(EntityTypeProvider.nameETMedia);
- public static final NavigationProperty navPropertyETKeyPrimNavOne = new NavigationProperty()
+ public static final NavigationProperty navPropertyETKeyPrimNavOne_ETKeyPrimNav = new NavigationProperty()
.setName("NavPropertyETKeyPrimNavOne")
.setType(EntityTypeProvider.nameETKeyPrimNav);
+ public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav_NotNullable = new NavigationProperty()
+ .setName("NavPropertyETTwoKeyNavOne")
+ .setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setNullable(false);
+
public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
.setName("NavPropertyETTwoKeyNavOne")
.setType(EntityTypeProvider.nameETTwoKeyNav);
+ public static final NavigationProperty navPropertyETTwoPrimOne_ETTwoPrim = new NavigationProperty()
+ .setName("NavPropertyETTwoPrimOne")
+ .setType(EntityTypeProvider.nameETTwoPrim)
+ .setNullable(false);
+
+ public static final NavigationProperty navPropertyETAllPrimOne_ETAllPrim = new NavigationProperty()
+ .setName("NavPropertyETAllPrimOne")
+ .setType(EntityTypeProvider.nameETAllPrim);
+
// EnumProperties --------------------------------------------------------------------------------------------------
public static final Property propertyEnumString_ENString = new Property()
.setName("PropertyEnumString")
[9/9] git commit: [OLINGO-168] More TechProvider Refactoring
Posted by ch...@apache.org.
[OLINGO-168] More TechProvider Refactoring
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/6a3a4a1d
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/6a3a4a1d
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/6a3a4a1d
Branch: refs/heads/olingo168
Commit: 6a3a4a1d7227198575822eb30bb237701583b061
Parents: 59ef14f
Author: Christian Amend <ch...@apache.org>
Authored: Tue Apr 1 16:43:10 2014 +0200
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Apr 1 16:46:50 2014 +0200
----------------------------------------------------------------------
.../client/core/edm/EdmBindingTargetImpl.java | 39 +-
.../client/core/edm/EdmEntityContainerImpl.java | 9 +-
.../core/edm/EdmNavigationPropertyImpl.java | 33 +-
.../client/core/edm/EdmOperationImpl.java | 2 +-
.../client/core/edm/v3/EdmEntitySetProxy.java | 7 +
.../commons/api/edm/EdmBindingTarget.java | 7 +
.../commons/api/edm/EdmEntityContainer.java | 5 +
.../commons/api/edm/EdmNavigationProperty.java | 27 +-
.../api/edm/EdmNavigationPropertyBinding.java | 28 ++
.../api/edm/EdmReferentialConstraint.java | 28 ++
.../core/edm/AbstractEdmEntityContainer.java | 11 +-
.../edm/EdmNavigationPropertyBindingImpl.java | 43 +++
.../core/edm/EdmReferentialConstraintImpl.java | 42 ++
.../core/edm/provider/EdmBindingTargetImpl.java | 24 ++
.../edm/provider/EdmEntityContainerImpl.java | 5 +-
.../edm/provider/EdmNavigationPropertyImpl.java | 18 +
.../core/serializer/ODataXmlSerializerImpl.java | 6 +-
.../xml/MetadataDocumentXmlSerializer.java | 323 +++++++++++-----
.../serializer/xml/MetadataDocumentTest.java | 6 +-
.../core/testutil/EdmTechTestProvider.java | 4 +-
.../testutil/techprovider/ActionProvider.java | 64 ++--
.../techprovider/ComplexTypeProvider.java | 26 +-
.../techprovider/ContainerProvider.java | 2 +-
.../testutil/techprovider/EdmTechProvider.java | 12 +
.../techprovider/EntityTypeProvider.java | 153 ++++----
.../testutil/techprovider/EnumTypeProvider.java | 3 +
.../testutil/techprovider/FunctionProvider.java | 380 +++++++++++--------
.../testutil/techprovider/PropertyProvider.java | 302 ++++++++++++++-
.../testutil/techprovider/SchemaProvider.java | 23 +-
.../techprovider/TypeDefinitionProvider.java | 2 +-
.../core/uri/antlr/TestUriParserImpl.java | 4 +-
31 files changed, 1210 insertions(+), 428 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmBindingTargetImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmBindingTargetImpl.java
index 6f1990e..452c880 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmBindingTargetImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmBindingTargetImpl.java
@@ -1,23 +1,24 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.client.core.edm;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -27,16 +28,19 @@ import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmBindingTarget;
import org.apache.olingo.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.commons.api.edm.EdmException;
+import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.api.edm.Target;
import org.apache.olingo.commons.core.edm.AbstractEdmBindingTarget;
+import org.apache.olingo.commons.core.edm.EdmNavigationPropertyBindingImpl;
public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
private final BindingTarget target;
+ private List<EdmNavigationPropertyBinding> navigationPropertyBindings;
public EdmBindingTargetImpl(final Edm edm, final EdmEntityContainer container,
- final String name, final FullQualifiedName type, final BindingTarget target) {
+ final String name, final FullQualifiedName type, final BindingTarget target) {
super(edm, container, name, type);
this.target = target;
@@ -48,8 +52,9 @@ public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
final List<? extends NavigationPropertyBinding> navigationPropertyBindings = target.getNavigationPropertyBindings();
boolean found = false;
- for (final Iterator<? extends NavigationPropertyBinding> itor = navigationPropertyBindings.iterator();
- itor.hasNext() && !found;) {
+ for (final Iterator<? extends NavigationPropertyBinding> itor = navigationPropertyBindings.iterator(); itor
+ .hasNext()
+ && !found;) {
final NavigationPropertyBinding binding = itor.next();
if (binding.getPath().equals(path)) {
@@ -76,4 +81,18 @@ public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
return bindingTarget;
}
+ @Override
+ public List<EdmNavigationPropertyBinding> getNavigationPropertyBindings() {
+ if (navigationPropertyBindings == null) {
+ List<? extends NavigationPropertyBinding> providerBindings = target.getNavigationPropertyBindings();
+ navigationPropertyBindings = new ArrayList<EdmNavigationPropertyBinding>();
+ if (providerBindings != null) {
+ for (NavigationPropertyBinding binding : providerBindings) {
+ navigationPropertyBindings.add(new EdmNavigationPropertyBindingImpl(binding.getPath(), binding.getTarget()));
+ }
+ }
+ }
+ return navigationPropertyBindings;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
index 169aaf9..6a962e3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
@@ -49,12 +49,19 @@ public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
public EdmEntityContainerImpl(final Edm edm, final FullQualifiedName entityContainerName,
final EntityContainer xmlEntityContainer, final XMLMetadata xmlMetadata) {
- super(edm, entityContainerName);
+ super(edm, entityContainerName, getFullQualifiedName(xmlEntityContainer.getExtends()));
this.xmlEntityContainer = xmlEntityContainer;
this.xmlMetadata = xmlMetadata;
}
+ private static FullQualifiedName getFullQualifiedName(String parent) {
+ if (parent != null) {
+ return new FullQualifiedName(parent);
+ }
+ return null;
+ }
+
@Override
protected EdmSingleton createSingleton(final String singletonName) {
if (!(xmlEntityContainer instanceof org.apache.olingo.client.api.edm.xml.v4.EntityContainer)) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
index 19df620..953da5b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
@@ -1,36 +1,40 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.client.core.edm;
+import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.client.api.edm.xml.v4.NavigationProperty;
import org.apache.olingo.client.api.edm.xml.v4.ReferentialConstraint;
import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.core.edm.AbstractEdmNavigationProperty;
+import org.apache.olingo.commons.core.edm.EdmReferentialConstraintImpl;
public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
private final NavigationProperty navigationProperty;
private final EdmTypeInfo edmTypeInfo;
+ private List<EdmReferentialConstraint> referentialConstraints;
public EdmNavigationPropertyImpl(final Edm edm, final NavigationProperty navigationProperty) {
super(edm, navigationProperty.getName());
@@ -71,4 +75,19 @@ public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
return null;
}
+ @Override
+ public List<EdmReferentialConstraint> getReferentialConstraints() {
+ if (referentialConstraints == null) {
+ final List<ReferentialConstraint> providerConstraints = navigationProperty.getReferentialConstraints();
+ referentialConstraints = new ArrayList<EdmReferentialConstraint>();
+ if (providerConstraints != null) {
+ for (ReferentialConstraint constraint : providerConstraints) {
+ referentialConstraints.add(new EdmReferentialConstraintImpl(constraint.getProperty(), constraint
+ .getReferencedProperty()));
+ }
+ }
+ }
+ return referentialConstraints;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
index f54d6c1..a38602a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
@@ -85,6 +85,6 @@ public abstract class EdmOperationImpl extends AbstractEdmOperation {
if (bindingParam != null) {
result = bindingParam.isCollection();
}
- return null;
+ return result;
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmEntitySetProxy.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmEntitySetProxy.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmEntitySetProxy.java
index 0cc0ff8..2624860 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmEntitySetProxy.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmEntitySetProxy.java
@@ -33,6 +33,7 @@ import org.apache.olingo.commons.api.edm.EdmBindingTarget;
import org.apache.olingo.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.commons.api.edm.EdmEntitySet;
import org.apache.olingo.commons.api.edm.EdmException;
+import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.core.edm.AbstractEdmBindingTarget;
@@ -105,4 +106,10 @@ public class EdmEntitySetProxy extends AbstractEdmBindingTarget implements EdmEn
return true;
}
+ @Override
+ public List<EdmNavigationPropertyBinding> getNavigationPropertyBindings() {
+ //There are no navigation property bindings in V3 so we will deliver an empty list
+ return new ArrayList<EdmNavigationPropertyBinding>();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
index 87c9d34..1c66b80 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
@@ -18,6 +18,8 @@
*/
package org.apache.olingo.commons.api.edm;
+import java.util.List;
+
/**
* Entity Sets or Singletons can be bound to each other using a navigation property binding so an
* {@link EdmBindingTarget} can either be an {@link EdmEntitySet} or an {@link EdmSingleton}.
@@ -33,6 +35,11 @@ public interface EdmBindingTarget extends EdmNamed {
EdmBindingTarget getRelatedBindingTarget(String path);
/**
+ * @return all navigation property bindings
+ */
+ List<EdmNavigationPropertyBinding> getNavigationPropertyBindings();
+
+ /**
* Returns the entity container this target is contained in.
*
* @return {@link EdmEntityContainer}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
index 00afbc8..84dfea4 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
@@ -89,4 +89,9 @@ public interface EdmEntityContainer extends EdmNamed {
*/
List<EdmActionImport> getActionImports();
+ /**
+ * @return the {@link FullQualifiedName} of the parentContainer or null if no parent is specified
+ */
+ FullQualifiedName getParentContainerName();
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
index 52c645f..5f54154 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationProperty.java
@@ -1,23 +1,25 @@
-/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.commons.api.edm;
+import java.util.List;
+
/**
* A CSDL NavigationProperty element
* <br/>
@@ -35,6 +37,15 @@ public interface EdmNavigationProperty extends EdmElement {
*/
EdmNavigationProperty getPartner();
+ /**
+ * @param referencedPropertyName
+ * @return propertyName for this referenced property
+ */
String getReferencingPropertyName(String referencedPropertyName);
+ /**
+ * @return all referential constraints for this navigation property.
+ */
+ List<EdmReferentialConstraint> getReferentialConstraints();
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationPropertyBinding.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationPropertyBinding.java
new file mode 100644
index 0000000..2ebcf2b
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmNavigationPropertyBinding.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm;
+
+//TODO: JavaDoc
+public interface EdmNavigationPropertyBinding {
+
+ String getPath();
+
+ String getTarget();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReferentialConstraint.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReferentialConstraint.java
new file mode 100644
index 0000000..e479efb
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmReferentialConstraint.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.api.edm;
+
+//TODO: Document
+public interface EdmReferentialConstraint {
+
+ String getPropertyName();
+
+ String getReferencedPropertyName();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
index aba62ba..853d21f 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
@@ -47,9 +47,13 @@ public abstract class AbstractEdmEntityContainer extends EdmNamedImpl implements
protected final Map<String, EdmFunctionImport> functionImports = new HashMap<String, EdmFunctionImport>();
private boolean allFunctionImportsLoaded = false;
- public AbstractEdmEntityContainer(final Edm edm, final FullQualifiedName entityContainerName) {
+ private final FullQualifiedName parentContainerName;
+
+ public AbstractEdmEntityContainer(final Edm edm, final FullQualifiedName entityContainerName,
+ final FullQualifiedName parentContainerName) {
super(edm, entityContainerName.getName());
this.entityContainerName = entityContainerName;
+ this.parentContainerName = parentContainerName;
}
@Override
@@ -148,4 +152,9 @@ public abstract class AbstractEdmEntityContainer extends EdmNamedImpl implements
}
protected abstract void loadAllActionImports();
+
+ @Override
+ public FullQualifiedName getParentContainerName() {
+ return parentContainerName;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmNavigationPropertyBindingImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmNavigationPropertyBindingImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmNavigationPropertyBindingImpl.java
new file mode 100644
index 0000000..233e5d2
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmNavigationPropertyBindingImpl.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm;
+
+import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
+
+public class EdmNavigationPropertyBindingImpl implements EdmNavigationPropertyBinding {
+
+ private final String path;
+ private final String target;
+
+ public EdmNavigationPropertyBindingImpl(String path, String target){
+ this.path = path;
+ this.target = target;
+ }
+
+ @Override
+ public String getPath() {
+ return path;
+ }
+
+ @Override
+ public String getTarget() {
+ return target;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmReferentialConstraintImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmReferentialConstraintImpl.java
new file mode 100644
index 0000000..93e1519
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmReferentialConstraintImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm;
+
+import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
+
+public class EdmReferentialConstraintImpl implements EdmReferentialConstraint {
+
+ private final String property;
+ private final String referencedProperty;
+
+ public EdmReferentialConstraintImpl(String property, String referencedProperty) {
+ this.property = property;
+ this.referencedProperty = referencedProperty;
+ }
+
+ @Override
+ public String getPropertyName() {
+ return property;
+ }
+
+ @Override
+ public String getReferencedPropertyName() {
+ return referencedProperty;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
index c1aacb1..78651bc 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmBindingTargetImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.olingo.server.core.edm.provider;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -25,14 +26,17 @@ import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmBindingTarget;
import org.apache.olingo.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.commons.api.edm.EdmException;
+import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
import org.apache.olingo.commons.api.edm.Target;
import org.apache.olingo.commons.core.edm.AbstractEdmBindingTarget;
+import org.apache.olingo.commons.core.edm.EdmNavigationPropertyBindingImpl;
import org.apache.olingo.server.api.edm.provider.BindingTarget;
import org.apache.olingo.server.api.edm.provider.NavigationPropertyBinding;
public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
private final BindingTarget target;
+ private List<EdmNavigationPropertyBinding> navigationPropertyBindings;
public EdmBindingTargetImpl(final Edm edm, final EdmEntityContainer container, final BindingTarget target) {
super(edm, container, target.getName(), target.getType());
@@ -74,4 +78,24 @@ public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
return bindingTarget;
}
+
+ @Override
+ public List<EdmNavigationPropertyBinding> getNavigationPropertyBindings() {
+ if (navigationPropertyBindings == null) {
+ List<NavigationPropertyBinding> providerBindings = target.getNavigationPropertyBindings();
+ navigationPropertyBindings = new ArrayList<EdmNavigationPropertyBinding>();
+ if (providerBindings != null) {
+ for (NavigationPropertyBinding binding : providerBindings) {
+ Target providerTarget = binding.getTarget();
+ String targetString = "";
+ if (providerTarget.getEntityContainer() != null) {
+ targetString = targetString + providerTarget.getEntityContainer().getFullQualifiedNameAsString() + "/";
+ }
+ targetString = targetString + providerTarget.getTargetName();
+ navigationPropertyBindings.add(new EdmNavigationPropertyBindingImpl(binding.getPath(), targetString));
+ }
+ }
+ }
+ return navigationPropertyBindings;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
index 7c81980..1a1012a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEntityContainerImpl.java
@@ -44,14 +44,13 @@ public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
public EdmEntityContainerImpl(final Edm edm, final EdmProvider provider,
final EntityContainerInfo entityContainerInfo) {
-
- super(edm, entityContainerInfo.getContainerName());
+ super(edm, entityContainerInfo.getContainerName(), entityContainerInfo.getExtendsContainer());
this.provider = provider;
}
public EdmEntityContainerImpl(final Edm edm, final EdmProvider provider, final FullQualifiedName containerFQN,
final EntityContainer entityContainer) {
- super(edm, containerFQN);
+ super(edm, containerFQN, entityContainer.getExtendsContainer());
this.provider = provider;
container = entityContainer;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
index 7f570da..4c7e0cb 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmNavigationPropertyImpl.java
@@ -18,17 +18,21 @@
*/
package org.apache.olingo.server.core.edm.provider;
+import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.core.edm.AbstractEdmNavigationProperty;
+import org.apache.olingo.commons.core.edm.EdmReferentialConstraintImpl;
import org.apache.olingo.server.api.edm.provider.NavigationProperty;
import org.apache.olingo.server.api.edm.provider.ReferentialConstraint;
public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
private final NavigationProperty navigationProperty;
+ private List<EdmReferentialConstraint> referentialConstraints;
public EdmNavigationPropertyImpl(final Edm edm, final NavigationProperty navigationProperty) {
super(edm, navigationProperty.getName());
@@ -68,4 +72,18 @@ public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
return null;
}
+ @Override
+ public List<EdmReferentialConstraint> getReferentialConstraints() {
+ if (referentialConstraints == null) {
+ final List<ReferentialConstraint> providerConstraints = navigationProperty.getReferentialConstraints();
+ referentialConstraints = new ArrayList<EdmReferentialConstraint>();
+ if (providerConstraints != null) {
+ for (ReferentialConstraint constraint : providerConstraints) {
+ referentialConstraints.add(new EdmReferentialConstraintImpl(constraint.getProperty(), constraint
+ .getReferencedProperty()));
+ }
+ }
+ }
+ return referentialConstraints;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/ODataXmlSerializerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/ODataXmlSerializerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/ODataXmlSerializerImpl.java
index 4790446..49f8831 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/ODataXmlSerializerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/ODataXmlSerializerImpl.java
@@ -18,9 +18,7 @@
*/
package org.apache.olingo.server.core.serializer;
-import java.io.BufferedWriter;
import java.io.InputStream;
-import java.io.OutputStreamWriter;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
@@ -46,14 +44,12 @@ public class ODataXmlSerializerImpl implements ODataSerializer {
@Override
public InputStream metadataDocument(final Edm edm) {
CircleStreamBuffer buffer;
- BufferedWriter writer;
XMLStreamWriter xmlStreamWriter = null;
// TODO: move stream initialization into separate method
try {
buffer = new CircleStreamBuffer();
- writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET));
- xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
+ xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET);
MetadataDocumentXmlSerializer serializer = new MetadataDocumentXmlSerializer(edm);
serializer.writeMetadataDocument(xmlStreamWriter);
xmlStreamWriter.close();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
index b7f6015..2313a3a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
@@ -26,6 +26,7 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmAction;
import org.apache.olingo.commons.api.edm.EdmActionImport;
+import org.apache.olingo.commons.api.edm.EdmBindingTarget;
import org.apache.olingo.commons.api.edm.EdmComplexType;
import org.apache.olingo.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.commons.api.edm.EdmEntitySet;
@@ -35,16 +36,64 @@ import org.apache.olingo.commons.api.edm.EdmFunction;
import org.apache.olingo.commons.api.edm.EdmFunctionImport;
import org.apache.olingo.commons.api.edm.EdmKeyPropertyRef;
import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
+import org.apache.olingo.commons.api.edm.EdmOperation;
import org.apache.olingo.commons.api.edm.EdmParameter;
import org.apache.olingo.commons.api.edm.EdmProperty;
+import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
import org.apache.olingo.commons.api.edm.EdmReturnType;
import org.apache.olingo.commons.api.edm.EdmSchema;
import org.apache.olingo.commons.api.edm.EdmSingleton;
import org.apache.olingo.commons.api.edm.EdmStructuredType;
import org.apache.olingo.commons.api.edm.EdmType;
+import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.serializer.ODataSerializer;
public class MetadataDocumentXmlSerializer {
+ private static final String XML_EXTENDS = "Extends";
+ private static final String XML_TARGET = "Target";
+ private static final String XML_PATH = "Path";
+ private static final String XML_NAVIGATION_PROPERTY_BINDING = "NavigationPropertyBinding";
+ private static final String XML_VALUE = "Value";
+ private static final String XML_MEMBER = "Member";
+ private static final String XML_UNDERLYING_TYPE = "UnderlyingType";
+ private static final String XML_IS_FLAGS = "IsFlags";
+ private static final String XML_ENUM_TYPE = "EnumType";
+ private static final String XML_PROPERTY_REF = "PropertyRef";
+ private static final String XML_KEY = "Key";
+ private static final String XML_SCALE = "Scale";
+ private static final String XML_PRECISION = "Precision";
+ private static final String XML_MAX_LENGTH = "MaxLength";
+ private static final String XML_DEFAULT_VALUE = "DefaultValue";
+ private static final String XML_UNICODE = "Unicode";
+ private static final String XML_PROPERTY = "Property";
+ private static final String XML_PARTNER = "Partner";
+ private static final String XML_NULLABLE = "Nullable";
+ private static final String XML_NAVIGATION_PROPERTY = "NavigationProperty";
+ private static final String XML_HAS_STREAM = "HasStream";
+ private static final String XML_BASE_TYPE = "BaseType";
+ private static final String XML_COMPLEX_TYPE = "ComplexType";
+ private static final String XML_RETURN_TYPE = "ReturnType";
+ private static final String XML_TYPE = "Type";
+ private static final String XML_PARAMETER = "Parameter";
+ private static final String XML_IS_COMPOSABLE = "IsComposable";
+ private static final String XML_IS_BOUND = "IsBound";
+ private static final String XML_ENTITY_TYPE = "EntityType";
+ private static final String XML_SINGLETON = "Singleton";
+ private static final String XML_ACTION = "Action";
+ private static final String XML_ACTION_IMPORT = "ActionImport";
+ private static final String XML_INCLUDE_IN_SERVICE_DOCUMENT = "IncludeInServiceDocument";
+ private static final String XML_ENTITY_SET = "EntitySet";
+ private static final String XML_FUNCTION = "Function";
+ private static final String XML_FUNCTION_IMPORT = "FunctionImport";
+ private static final String XML_NAME = "Name";
+ private static final String XML_ENTITY_CONTAINER = "EntityContainer";
+ private static final String XML_ALIAS = "Alias";
+ private static final String XML_NAMESPACE = "Namespace";
+ private static final String XML_TYPE_DEFINITION = "TypeDefinition";
+
private final Edm edm;
private final static String EDMX = "Edmx";
@@ -58,7 +107,7 @@ public class MetadataDocumentXmlSerializer {
}
public void writeMetadataDocument(final XMLStreamWriter writer) throws XMLStreamException {
- writer.writeStartDocument();
+ writer.writeStartDocument(ODataSerializer.DEFAULT_CHARSET, "1.0");
writer.setPrefix(PREFIX_EDMX, NS_EDMX);
writer.setDefaultNamespace(NS_EDMX);
writer.writeStartElement(PREFIX_EDMX, EDMX, NS_EDMX);
@@ -74,7 +123,6 @@ public class MetadataDocumentXmlSerializer {
private void appendDataServices(final XMLStreamWriter writer) throws XMLStreamException {
writer.setDefaultNamespace(NS_EDM);
-// writer.writeStartElement(PREFIX_EDM, "DataServices", NS_EDMX);
writer.writeStartElement(NS_EDMX, "DataServices");
for (EdmSchema schema : edm.getSchemas()) {
appendSchema(writer, schema);
@@ -85,8 +133,8 @@ public class MetadataDocumentXmlSerializer {
private void appendSchema(final XMLStreamWriter writer, final EdmSchema schema) throws XMLStreamException {
writer.writeStartElement(NS_EDM, "Schema");
writer.writeDefaultNamespace(NS_EDM);
- writer.writeAttribute("Namespace", schema.getNamespace());
- writer.writeAttribute("Alias", schema.getAlias());
+ writer.writeAttribute(XML_NAMESPACE, schema.getNamespace());
+ writer.writeAttribute(XML_ALIAS, schema.getAlias());
// EnumTypes
appendEnumTypes(writer, schema.getEnumTypes());
@@ -98,7 +146,7 @@ public class MetadataDocumentXmlSerializer {
appendComplexTypes(writer, schema.getComplexTypes());
// TypeDefinitions
- // TODO: TypeDefinitions
+ appendTypeDefinitions(writer, schema.getTypeDefinitions());
// Actions
appendActions(writer, schema.getActions());
@@ -112,13 +160,38 @@ public class MetadataDocumentXmlSerializer {
writer.writeEndElement();
}
+ private void appendTypeDefinitions(XMLStreamWriter writer, List<EdmTypeDefinition> typeDefinitions)
+ throws XMLStreamException {
+ for (EdmTypeDefinition definition : typeDefinitions) {
+ writer.writeEmptyElement(XML_TYPE_DEFINITION);
+ writer.writeAttribute(XML_NAME, definition.getName());
+ writer.writeAttribute(XML_TYPE, getFullQualifiedName(definition.getUnderlyingType(), false));
+
+ // Facets
+ if (definition.getMaxLength() != null) {
+ writer.writeAttribute(XML_MAX_LENGTH, "" + definition.getMaxLength());
+ }
+
+ if (definition.getPrecision() != null) {
+ writer.writeAttribute(XML_PRECISION, "" + definition.getPrecision());
+ }
+
+ if (definition.getScale() != null) {
+ writer.writeAttribute(XML_SCALE, "" + definition.getScale());
+ }
+ }
+ }
+
private void appendEntityContainer(final XMLStreamWriter writer, final EdmEntityContainer container)
throws XMLStreamException {
if (container != null) {
- writer.writeStartElement("EntityContainer");
+ writer.writeStartElement(XML_ENTITY_CONTAINER);
- writer.writeAttribute("Name", container.getName());
- // TODO: extends attribute
+ writer.writeAttribute(XML_NAME, container.getName());
+ FullQualifiedName parentContainerName = container.getParentContainerName();
+ if (parentContainerName != null) {
+ writer.writeAttribute(XML_EXTENDS, parentContainerName.getFullQualifiedNameAsString());
+ }
// EntitySets
appendEntitySets(writer, container.getEntitySets());
@@ -139,14 +212,14 @@ public class MetadataDocumentXmlSerializer {
private void appendFunctionImports(final XMLStreamWriter writer, final List<EdmFunctionImport> functionImports,
final String containerNamespace) throws XMLStreamException {
for (EdmFunctionImport functionImport : functionImports) {
- writer.writeStartElement("FunctionImport");
- writer.writeAttribute("Name", functionImport.getName());
- writer.writeAttribute("Function", functionImport.getFunctionFqn().getFullQualifiedNameAsString());
+ writer.writeStartElement(XML_FUNCTION_IMPORT);
+ writer.writeAttribute(XML_NAME, functionImport.getName());
+ writer.writeAttribute(XML_FUNCTION, functionImport.getFunctionFqn().getFullQualifiedNameAsString());
EdmEntitySet returnedEntitySet = functionImport.getReturnedEntitySet();
if (returnedEntitySet != null) {
- writer.writeAttribute("EntitySet", containerNamespace + "." + returnedEntitySet.getName());
+ writer.writeAttribute(XML_ENTITY_SET, containerNamespace + "." + returnedEntitySet.getName());
}
- writer.writeAttribute("IncludeInServiceDocument", "" + functionImport.isIncludeInServiceDocument());
+ writer.writeAttribute(XML_INCLUDE_IN_SERVICE_DOCUMENT, "" + functionImport.isIncludeInServiceDocument());
// TODO: Annotations
writer.writeEndElement();
@@ -156,9 +229,9 @@ public class MetadataDocumentXmlSerializer {
private void appendActionImports(final XMLStreamWriter writer, final List<EdmActionImport> actionImports)
throws XMLStreamException {
for (EdmActionImport actionImport : actionImports) {
- writer.writeStartElement("ActionImport");
- writer.writeAttribute("Name", actionImport.getName());
- writer.writeAttribute("Action", getFullQualifiedName(actionImport.getAction(), false));
+ writer.writeStartElement(XML_ACTION_IMPORT);
+ writer.writeAttribute(XML_NAME, actionImport.getName());
+ writer.writeAttribute(XML_ACTION, getFullQualifiedName(actionImport.getAction(), false));
// TODO: Annotations
writer.writeEndElement();
}
@@ -166,29 +239,37 @@ public class MetadataDocumentXmlSerializer {
private void appendSingletons(final XMLStreamWriter writer, final List<EdmSingleton> singletons)
throws XMLStreamException {
- // TODO: Merge with entity set method
for (EdmSingleton singleton : singletons) {
- writer.writeStartElement("Singleton");
- writer.writeAttribute("Name", singleton.getName());
- writer.writeAttribute("EntityType", getFullQualifiedName(singleton.getEntityType(), false));
-
- // TODO: NavigationProperty Bindigs at edm api level
+ writer.writeStartElement(XML_SINGLETON);
+ writer.writeAttribute(XML_NAME, singleton.getName());
+ writer.writeAttribute(XML_ENTITY_TYPE, getFullQualifiedName(singleton.getEntityType(), false));
+ appendNavigationPropertyBindings(writer, singleton);
// TODO: Annotations
writer.writeEndElement();
}
}
+ private void appendNavigationPropertyBindings(final XMLStreamWriter writer, EdmBindingTarget bindingTarget)
+ throws XMLStreamException {
+ if (bindingTarget.getNavigationPropertyBindings() != null) {
+ for (EdmNavigationPropertyBinding binding : bindingTarget.getNavigationPropertyBindings()) {
+ writer.writeEmptyElement(XML_NAVIGATION_PROPERTY_BINDING);
+ writer.writeAttribute(XML_PATH, binding.getPath());
+ writer.writeAttribute(XML_TARGET, binding.getTarget());
+ }
+ }
+ }
+
private void appendEntitySets(final XMLStreamWriter writer, final List<EdmEntitySet> entitySets)
throws XMLStreamException {
for (EdmEntitySet entitySet : entitySets) {
- writer.writeStartElement("EntitySet");
- writer.writeAttribute("Name", entitySet.getName());
- writer.writeAttribute("EntityType", getFullQualifiedName(entitySet.getEntityType(), false));
-
- // TODO: NavigationProperty Bindigs at edm api level
+ writer.writeStartElement(XML_ENTITY_SET);
+ writer.writeAttribute(XML_NAME, entitySet.getName());
+ writer.writeAttribute(XML_ENTITY_TYPE, getFullQualifiedName(entitySet.getEntityType(), false));
+ appendNavigationPropertyBindings(writer, entitySet);
// TODO: Annotations
writer.writeEndElement();
}
@@ -197,64 +278,95 @@ public class MetadataDocumentXmlSerializer {
private void appendFunctions(final XMLStreamWriter writer, final List<EdmFunction> functions)
throws XMLStreamException {
for (EdmFunction function : functions) {
- writer.writeStartElement("Function");
- writer.writeAttribute("Name", function.getName());
- writer.writeAttribute("IsBound", "" + function.isBound());
- writer.writeAttribute("IsComposable", "" + function.isComposable());
-
- // TODO: move to separate method like for actions
- for (String parameterName : function.getParameterNames()) {
- EdmParameter parameter = function.getParameter(parameterName);
- writer.writeEmptyElement("Parameter");
- writer.writeAttribute("Name", parameterName);
- writer.writeAttribute("Type", getFullQualifiedName(parameter.getType(), parameter.isCollection()));
- // TODO: Parameter facets
- }
+ writer.writeStartElement(XML_FUNCTION);
+ writer.writeAttribute(XML_NAME, function.getName());
+ // TODO: EntitySetPath
+ writer.writeAttribute(XML_IS_BOUND, "" + function.isBound());
+ writer.writeAttribute(XML_IS_COMPOSABLE, "" + function.isComposable());
- EdmReturnType returnType = function.getReturnType();
- if (returnType != null) {
- writer.writeEmptyElement("ReturnType");
- writer.writeAttribute("Type", getFullQualifiedName(returnType.getType(), returnType.isCollection()));
- // TODO: Return type facets
- }
+ appendOperationParameters(writer, function);
+
+ appendOperationReturnType(writer, function);
writer.writeEndElement();
}
}
+ private void appendOperationReturnType(final XMLStreamWriter writer, EdmOperation operation)
+ throws XMLStreamException {
+ EdmReturnType returnType = operation.getReturnType();
+ if (returnType != null) {
+ writer.writeEmptyElement(XML_RETURN_TYPE);
+ writer.writeAttribute(XML_TYPE, getFullQualifiedName(returnType.getType(), returnType.isCollection()));
+
+ appendReturnTypeFacets(writer, returnType);
+ }
+ }
+
+ private void appendOperationParameters(final XMLStreamWriter writer, EdmOperation operation)
+ throws XMLStreamException {
+ for (String parameterName : operation.getParameterNames()) {
+ EdmParameter parameter = operation.getParameter(parameterName);
+ writer.writeEmptyElement(XML_PARAMETER);
+ writer.writeAttribute(XML_NAME, parameterName);
+ writer.writeAttribute(XML_TYPE, getFullQualifiedName(parameter.getType(), parameter.isCollection()));
+
+ appendParameterFacets(writer, parameter);
+ }
+ }
+
private void appendActions(final XMLStreamWriter writer, final List<EdmAction> actions) throws XMLStreamException {
for (EdmAction action : actions) {
- writer.writeStartElement("Action");
- writer.writeAttribute("Name", action.getName());
- writer.writeAttribute("IsBound", "" + action.isBound());
-
- for (String parameterName : action.getParameterNames()) {
- EdmParameter parameter = action.getParameter(parameterName);
- writer.writeEmptyElement("Parameter");
- writer.writeAttribute("Name", parameterName);
- writer.writeAttribute("Type", getFullQualifiedName(parameter.getType(), parameter.isCollection()));
- // TODO: Parameter facets
- }
+ writer.writeStartElement(XML_ACTION);
+ writer.writeAttribute(XML_NAME, action.getName());
+ writer.writeAttribute(XML_IS_BOUND, "" + action.isBound());
- EdmReturnType returnType = action.getReturnType();
- if (returnType != null) {
- writer.writeEmptyElement("ReturnType");
- writer.writeAttribute("Type", getFullQualifiedName(returnType.getType(), returnType.isCollection()));
- // TODO: Return type facets
- }
+ appendOperationParameters(writer, action);
+
+ appendOperationReturnType(writer, action);
writer.writeEndElement();
}
}
+ private void appendReturnTypeFacets(XMLStreamWriter writer, EdmReturnType returnType) throws XMLStreamException {
+ if (returnType.isNullable() != null) {
+ writer.writeAttribute(XML_NULLABLE, "" + returnType.isNullable());
+ }
+ if (returnType.getMaxLength() != null) {
+ writer.writeAttribute(XML_MAX_LENGTH, "" + returnType.getMaxLength());
+ }
+ if (returnType.getPrecision() != null) {
+ writer.writeAttribute(XML_PRECISION, "" + returnType.getPrecision());
+ }
+ if (returnType.getScale() != null) {
+ writer.writeAttribute(XML_SCALE, "" + returnType.getScale());
+ }
+ }
+
+ private void appendParameterFacets(XMLStreamWriter writer, EdmParameter parameter) throws XMLStreamException {
+ if (parameter.isNullable() != null) {
+ writer.writeAttribute(XML_NULLABLE, "" + parameter.isNullable());
+ }
+ if (parameter.getMaxLength() != null) {
+ writer.writeAttribute(XML_MAX_LENGTH, "" + parameter.getMaxLength());
+ }
+ if (parameter.getPrecision() != null) {
+ writer.writeAttribute(XML_PRECISION, "" + parameter.getPrecision());
+ }
+ if (parameter.getScale() != null) {
+ writer.writeAttribute(XML_SCALE, "" + parameter.getScale());
+ }
+ }
+
private void appendComplexTypes(final XMLStreamWriter writer, final List<EdmComplexType> complexTypes)
throws XMLStreamException {
for (EdmComplexType complexType : complexTypes) {
- writer.writeStartElement("ComplexType");
- writer.writeAttribute("Name", complexType.getName());
+ writer.writeStartElement(XML_COMPLEX_TYPE);
+ writer.writeAttribute(XML_NAME, complexType.getName());
if (complexType.getBaseType() != null) {
- writer.writeAttribute("BaseType", getFullQualifiedName(complexType.getBaseType(), false));
+ writer.writeAttribute(XML_BASE_TYPE, getFullQualifiedName(complexType.getBaseType(), false));
}
appendProperties(writer, complexType);
@@ -268,15 +380,15 @@ public class MetadataDocumentXmlSerializer {
private void appendEntityTypes(final XMLStreamWriter writer, final List<EdmEntityType> entityTypes)
throws XMLStreamException {
for (EdmEntityType entityType : entityTypes) {
- writer.writeStartElement("EntityType");
- writer.writeAttribute("Name", entityType.getName());
+ writer.writeStartElement(XML_ENTITY_TYPE);
+ writer.writeAttribute(XML_NAME, entityType.getName());
if (entityType.hasStream()) {
- writer.writeAttribute("HasStream", "" + entityType.hasStream());
+ writer.writeAttribute(XML_HAS_STREAM, "" + entityType.hasStream());
}
if (entityType.getBaseType() != null) {
- writer.writeAttribute("BaseType", getFullQualifiedName(entityType.getBaseType(), false));
+ writer.writeAttribute(XML_BASE_TYPE, getFullQualifiedName(entityType.getBaseType(), false));
}
appendKey(writer, entityType);
@@ -298,18 +410,28 @@ public class MetadataDocumentXmlSerializer {
for (String navigationPropertyName : navigationPropertyNames) {
EdmNavigationProperty navigationProperty = type.getNavigationProperty(navigationPropertyName);
- writer.writeEmptyElement("NavigationProperty");
- writer.writeAttribute("Name", navigationPropertyName);
- writer.writeAttribute("Type", getFullQualifiedName(navigationProperty.getType(), navigationProperty
+ writer.writeStartElement(XML_NAVIGATION_PROPERTY);
+ writer.writeAttribute(XML_NAME, navigationPropertyName);
+ writer.writeAttribute(XML_TYPE, getFullQualifiedName(navigationProperty.getType(), navigationProperty
.isCollection()));
if (navigationProperty.isNullable() != null) {
- writer.writeAttribute("Nullable", "" + navigationProperty.isNullable());
+ writer.writeAttribute(XML_NULLABLE, "" + navigationProperty.isNullable());
}
if (navigationProperty.getPartner() != null) {
EdmNavigationProperty partner = navigationProperty.getPartner();
- writer.writeAttribute("Partner", partner.getName());
+ writer.writeAttribute(XML_PARTNER, partner.getName());
+ }
+
+ if (navigationProperty.getReferentialConstraints() != null) {
+ for (EdmReferentialConstraint constraint : navigationProperty.getReferentialConstraints()) {
+ writer.writeEmptyElement("ReferentialConstraint");
+ writer.writeAttribute(XML_PROPERTY, constraint.getPropertyName());
+ writer.writeAttribute("ReferencedProperty", constraint.getReferencedPropertyName());
+ }
}
+
+ writer.writeEndElement();
}
}
@@ -320,33 +442,33 @@ public class MetadataDocumentXmlSerializer {
}
for (String propertyName : propertyNames) {
EdmProperty property = type.getStructuralProperty(propertyName);
- writer.writeEmptyElement("Property");
- writer.writeAttribute("Name", propertyName);
- writer.writeAttribute("Type", getFullQualifiedName(property.getType(), property.isCollection()));
+ writer.writeEmptyElement(XML_PROPERTY);
+ writer.writeAttribute(XML_NAME, propertyName);
+ writer.writeAttribute(XML_TYPE, getFullQualifiedName(property.getType(), property.isCollection()));
// Facets
if (property.isNullable() != null) {
- writer.writeAttribute("Nullable", "" + property.isNullable());
+ writer.writeAttribute(XML_NULLABLE, "" + property.isNullable());
}
if (property.isUnicode() != null) {
- writer.writeAttribute("Unicode", "" + property.isUnicode());
+ writer.writeAttribute(XML_UNICODE, "" + property.isUnicode());
}
if (property.getDefaultValue() != null) {
- writer.writeAttribute("DefaultValue", property.getDefaultValue());
+ writer.writeAttribute(XML_DEFAULT_VALUE, property.getDefaultValue());
}
if (property.getMaxLength() != null) {
- writer.writeAttribute("MaxLength", "" + property.getMaxLength());
+ writer.writeAttribute(XML_MAX_LENGTH, "" + property.getMaxLength());
}
if (property.getPrecision() != null) {
- writer.writeAttribute("Precision", "" + property.getPrecision());
+ writer.writeAttribute(XML_PRECISION, "" + property.getPrecision());
}
if (property.getScale() != null) {
- writer.writeAttribute("Scale", "" + property.getScale());
+ writer.writeAttribute(XML_SCALE, "" + property.getScale());
}
}
}
@@ -354,19 +476,25 @@ public class MetadataDocumentXmlSerializer {
private void appendKey(final XMLStreamWriter writer, final EdmEntityType entityType) throws XMLStreamException {
List<EdmKeyPropertyRef> keyPropertyRefs = entityType.getKeyPropertyRefs();
if (keyPropertyRefs != null && !keyPropertyRefs.isEmpty()) {
- writer.writeStartElement("Key");
+ // Resolve Base Type key as it is shown in derived type
+ EdmEntityType baseType = entityType.getBaseType();
+ if (baseType != null && baseType.getKeyPropertyRefs() != null && !(baseType.getKeyPropertyRefs().isEmpty())) {
+ return;
+ }
+
+ writer.writeStartElement(XML_KEY);
for (EdmKeyPropertyRef keyRef : keyPropertyRefs) {
- writer.writeEmptyElement("PropertyRef");
+ writer.writeEmptyElement(XML_PROPERTY_REF);
String keyName = null;
if (keyRef.getPath() != null) {
keyName = keyRef.getPath() + "/" + keyRef.getKeyPropertyName();
} else {
keyName = keyRef.getKeyPropertyName();
}
- writer.writeAttribute("Name", keyName);
+ writer.writeAttribute(XML_NAME, keyName);
if (keyRef.getAlias() != null) {
- writer.writeAttribute("Alias", keyRef.getAlias());
+ writer.writeAttribute(XML_ALIAS, keyRef.getAlias());
}
}
writer.writeEndElement();
@@ -376,15 +504,15 @@ public class MetadataDocumentXmlSerializer {
private void appendEnumTypes(final XMLStreamWriter writer, final List<EdmEnumType> enumTypes)
throws XMLStreamException {
for (EdmEnumType enumType : enumTypes) {
- writer.writeStartElement("EnumType");
- writer.writeAttribute("Name", enumType.getName());
- writer.writeAttribute("isFlags", "" + enumType.isFlags());
- writer.writeAttribute("UnderlyingType", getFullQualifiedName(enumType.getUnderlyingType(), false));
+ writer.writeStartElement(XML_ENUM_TYPE);
+ writer.writeAttribute(XML_NAME, enumType.getName());
+ writer.writeAttribute(XML_IS_FLAGS, "" + enumType.isFlags());
+ writer.writeAttribute(XML_UNDERLYING_TYPE, getFullQualifiedName(enumType.getUnderlyingType(), false));
for (String memberName : enumType.getMemberNames()) {
- writer.writeEmptyElement("Member");
- writer.writeAttribute("Name", memberName);
- writer.writeAttribute("Value", enumType.getMember(memberName).getValue());
+ writer.writeEmptyElement(XML_MEMBER);
+ writer.writeAttribute(XML_NAME, memberName);
+ writer.writeAttribute(XML_VALUE, enumType.getMember(memberName).getValue());
}
writer.writeEndElement();
@@ -405,10 +533,9 @@ public class MetadataDocumentXmlSerializer {
writer.writeAttribute("Uri", "http://docs.oasis-open.org/odata/odata/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml");
writer.writeEmptyElement(NS_EDMX, "Include");
// TODO: Where is this value comming from?
- writer.writeAttribute("Namespace", "Org.OData.Core.V1");
+ writer.writeAttribute(XML_NAMESPACE, "Org.OData.Core.V1");
// TODO: Where is this value comming from?
- writer.writeAttribute("Alias", "Core");
+ writer.writeAttribute(XML_ALIAS, "Core");
writer.writeEndElement();
}
-
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
index 40868df..88f84ec 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
@@ -41,7 +41,7 @@ public class MetadataDocumentTest {
}
@Test
- public void writeMetadataWithMockedEdm() {
+ public void writeMetadataWithEmptyMockedEdm() {
ODataSerializer serializer = ODataServer.newInstance().getSerializer(ODataFormat.XML);
Edm edm = mock(Edm.class);
serializer.metadataDocument(edm);
@@ -52,7 +52,7 @@ public class MetadataDocumentTest {
ODataSerializer serializer = ODataServer.newInstance().getSerializer(ODataFormat.XML);
EdmProviderImpl edm = new EdmProviderImpl(new EdmTechProvider());
InputStream metadata = serializer.metadataDocument(edm);
- System.out.println(StringUtils.inputStreamToString(metadata, true));
+ String metadataString = StringUtils.inputStreamToString(metadata, false);
+ //System.out.println(metadataString);
}
-
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
index f3cc85c..8e6fc1f 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
@@ -42,7 +42,7 @@ public class EdmTechTestProvider extends EdmTechProvider {
private static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName();
public static final String nameSpace = "com.sap.odata.test1";
public static final FullQualifiedName nameContainer = new FullQualifiedName(nameSpace, "Container");
-
+
Property propertyAInt16 = new Property().setName("a").setType(nameInt16);
Property propertyBInt16 = new Property().setName("b").setType(nameInt16);
Property propertyCInt16 = new Property().setName("c").setType(nameInt16);
@@ -70,7 +70,7 @@ public class EdmTechTestProvider extends EdmTechProvider {
@Override
public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String name) throws ODataException {
- if (entityContainer == nameContainer) {
+ if (nameContainer.equals(entityContainer)) {
if (name.equals("ESabc")) {
return new EntitySet()
.setName("ESabc")
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
index 3ddc6d9..ef3cb19 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
@@ -29,7 +29,7 @@ import org.apache.olingo.server.api.edm.provider.ReturnType;
public class ActionProvider {
- //Bound Actions
+ // Bound Actions
public static final FullQualifiedName nameBAESAllPrimRTETAllPrim =
new FullQualifiedName(SchemaProvider.nameSpace, "BAESAllPrimRTETAllPrim");
@@ -45,18 +45,22 @@ public class ActionProvider {
public static final FullQualifiedName nameBAETTwoKeyNavRTETTwoKeyNav =
new FullQualifiedName(SchemaProvider.nameSpace, "BAETTwoKeyNavRTETTwoKeyNav");
+ // Unbound Actions
+ public static final FullQualifiedName nameUARTCompCollParam = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UARTCompCollParam");
+ public static final FullQualifiedName nameUARTCompParam = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UARTCompParam");
+ public static final FullQualifiedName nameUARTESParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UARTESParam");
+
+ public static final FullQualifiedName nameUARTETParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UARTETParam");
- //Unbound Actions
- public static final FullQualifiedName nameUARTCompCollParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTCompCollParam");
- public static final FullQualifiedName nameUARTCompParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTCompParam");
- public static final FullQualifiedName nameUARTETCollAllPrimParam =
- new FullQualifiedName(SchemaProvider.nameSpace, "UARTETCollAllPrimParam");
-
- public static final FullQualifiedName nameUARTETParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTETParam");
- public static final FullQualifiedName nameUARTPrimParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTPrimParam");
- public static final FullQualifiedName nameUARTPrimCollParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTPrimCollParam");
-
-
+ public static final FullQualifiedName nameUARTPrimParam = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UARTPrimParam");
+ public static final FullQualifiedName nameUARTPrimCollParam = new FullQualifiedName(SchemaProvider.nameSpace,
+ "UARTPrimCollParam");
+
public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
if (actionName.equals(nameUARTPrimParam)) {
return Arrays.asList(
@@ -99,35 +103,36 @@ public class ActionProvider {
} else if (actionName.equals(nameUARTETParam)) {
return Arrays.asList(
- new Action().setName("UARTCompCollParam")
+ new Action().setName("UARTETParam")
.setParameters(Arrays.asList(
new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETTwoKeyTwoPrim))
);
- } else if (actionName.equals(nameUARTETCollAllPrimParam)) {
+ } else if (actionName.equals(nameUARTESParam)) {
return Arrays.asList(
- new Action().setName("UARTETCollAllPrimParam")
+ new Action().setName("UARTESParam")
.setParameters(Arrays.asList(
new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
-
.setReturnType(
- new ReturnType().setType(EntityTypeProvider.nameETCollAllPrim).setCollection(true))
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setCollection(true))
);
} else if (actionName.equals(nameBAETTwoKeyNavRTETTwoKeyNav)) {
return Arrays.asList(
new Action().setName("BAETTwoKeyNavRTETTwoKeyNav")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setNullable(false)))
.setBound(true)
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
,
new Action().setName("BAETTwoKeyNavRTETTwoKeyNav")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterETKeyNav").setType(EntityTypeProvider.nameETKeyNav)))
+ new Parameter().setName("ParameterETKeyNav").setType(EntityTypeProvider.nameETKeyNav)
+ .setNullable(false)))
.setBound(true)
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
@@ -136,8 +141,10 @@ public class ActionProvider {
} else if (actionName.equals(nameBAESAllPrimRTETAllPrim)) {
return Arrays.asList(
new Action().setName("BAESAllPrimRTETAllPrim")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterESAllPrim").setType(EntityTypeProvider.nameETAllPrim).setCollection(true)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("ParameterESAllPrim").setType(EntityTypeProvider.nameETAllPrim)
+ .setCollection(true).setNullable(false)))
.setBound(true)
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETAllPrim))
@@ -146,8 +153,10 @@ public class ActionProvider {
} else if (actionName.equals(nameBAESTwoKeyNavRTESTwoKeyNav)) {
return Arrays.asList(
new Action().setName("BAESTwoKeyNavRTESTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true).setNullable(false)))
.setBound(true)
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
@@ -157,7 +166,8 @@ public class ActionProvider {
return Arrays.asList(
new Action().setName("BAETBaseTwoKeyNavRTETBaseTwoKeyNav")
.setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
.setBound(true)
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
@@ -166,8 +176,10 @@ public class ActionProvider {
} else if (actionName.equals(nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav)) {
return Arrays.asList(
new Action().setName("BAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoBaseTwoKeyNav").setType(EntityTypeProvider.nameETTwoBaseTwoKeyNav)))
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("ParameterETTwoBaseTwoKeyNav").setType(
+ EntityTypeProvider.nameETTwoBaseTwoKeyNav).setNullable(false)))
.setBound(true)
.setReturnType(
new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav))
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
index 3eaf86f..2fcbec2 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
@@ -30,14 +30,19 @@ public class ComplexTypeProvider {
public static final FullQualifiedName nameCTAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTAllPrim");
public static final FullQualifiedName nameCTBase = new FullQualifiedName(SchemaProvider.nameSpace, "CTBase");
- public static final FullQualifiedName nameCTBasePrimCompNav = new FullQualifiedName(SchemaProvider.nameSpace, "CTBasePrimCompNav");
- public static final FullQualifiedName nameCTCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTCollAllPrim");
- public static final FullQualifiedName nameCTCompCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTCompCollComp");
+ public static final FullQualifiedName nameCTBasePrimCompNav = new FullQualifiedName(SchemaProvider.nameSpace,
+ "CTBasePrimCompNav");
+ public static final FullQualifiedName nameCTCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace,
+ "CTCollAllPrim");
+ public static final FullQualifiedName nameCTCompCollComp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "CTCompCollComp");
public static final FullQualifiedName nameCTCompComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTCompComp");
public static final FullQualifiedName nameCTCompNav = new FullQualifiedName(SchemaProvider.nameSpace, "CTCompNav");
- public static final FullQualifiedName nameCTMixPrimCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTMixPrimCollComp");
- public static final FullQualifiedName nameCTNavFiveProp = new FullQualifiedName(SchemaProvider.nameSpace, "CTNavFiveProp");
+ public static final FullQualifiedName nameCTMixPrimCollComp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "CTMixPrimCollComp");
+ public static final FullQualifiedName nameCTNavFiveProp = new FullQualifiedName(SchemaProvider.nameSpace,
+ "CTNavFiveProp");
public static final FullQualifiedName nameCTPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTPrim");
public static final FullQualifiedName nameCTPrimComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTPrimComp");
public static final FullQualifiedName nameCTPrimEnum = new FullQualifiedName(SchemaProvider.nameSpace, "CTPrimEnum");
@@ -88,7 +93,8 @@ public class ComplexTypeProvider {
} else if (complexTypeName.equals(nameCTCompNav)) {
return new ComplexType()
.setName("CTCompNav")
- .setProperties(Arrays.asList(PropertyProvider.propertyInt16, PropertyProvider.propertyComplex_CTNavFiveProp));
+ .setProperties(Arrays.asList(PropertyProvider.propertyString,
+ PropertyProvider.propertyComplex_CTNavFiveProp));
} else if (complexTypeName.equals(nameCTMixPrimCollComp)) {
return new ComplexType()
@@ -112,7 +118,7 @@ public class ComplexTypeProvider {
.setBaseType(nameCTBase)
.setProperties(Arrays.asList(
new Property()
- .setName("AdditionalPropString")
+ .setName("AdditionalPropString2")
.setType(new FullQualifiedName("Edm", "String"))));
} else if (complexTypeName.equals(nameCTCompComp)) {
@@ -122,7 +128,7 @@ public class ComplexTypeProvider {
} else if (complexTypeName.equals(nameCTCompCollComp)) {
return new ComplexType()
- .setName("CTCompComp")
+ .setName("CTCompCollComp")
.setProperties(Arrays.asList(PropertyProvider.collPropertyComplex_CTTwoPrim));
} else if (complexTypeName.equals(nameCTPrimComp)) {
@@ -151,7 +157,9 @@ public class ComplexTypeProvider {
.setBaseType(nameCTPrimComp)
.setNavigationProperties(Arrays.asList(
PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
- PropertyProvider.collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav));
+ PropertyProvider.collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav,
+ PropertyProvider.navPropertyETKeyNavOne_ETKeyNav,
+ PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav));
} else if (complexTypeName.equals(nameCTPrimEnum)) {
return new ComplexType()
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
index 62b11e2..5b92317 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
@@ -211,7 +211,7 @@ public class ContainerProvider {
} else if (name.equals("AIRTETCollAllPrimParam")) {
return new ActionImport()
.setName("AIRTETCollAllPrimParam")
- .setAction(ActionProvider.nameUARTETCollAllPrimParam);
+ .setAction(ActionProvider.nameUARTESParam);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6a3a4a1d/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
index 45a35c8..93e9c9d 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
@@ -71,54 +71,66 @@ public class EdmTechProvider extends EdmProvider {
);
}
+ @Override
public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
return enumTypeProvider.getEnumType(enumTypeName);
}
+ @Override
public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
return typeDefinitionProvider.getTypeDefinition(typeDefinitionName);
}
+ @Override
public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
return entityTypeProvider.getEntityType(entityTypeName);
}
+ @Override
public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
return complexTypeProvider.getComplexType(complexTypeName);
}
+ @Override
public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
return actionProvider.getActions(actionName);
}
+ @Override
public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
return functionProvider.getFunctions(functionName);
}
+ @Override
public Term getTerm(final FullQualifiedName termName) throws ODataException {
return null;
}
+ @Override
public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
throws ODataException {
return containerProvider.getEntitySet(entityContainer, entitySetName);
}
+ @Override
public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
throws ODataException {
return containerProvider.getSingleton(entityContainer, singletonName);
}
+ @Override
public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
throws ODataException {
return containerProvider.getActionImport(entityContainer, actionImportName);
}
+ @Override
public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
throws ODataException {
return containerProvider.getFunctionImport(entityContainer, functionImportName);
}
+ @Override
public List<Schema> getSchemas() throws ODataException {
return schemaProvider.getSchemas();
}
[6/9] git commit: [OLINGO-168] Refactor Tech Provider
Posted by ch...@apache.org.
[OLINGO-168] Refactor Tech Provider
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/59ef14f4
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/59ef14f4
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/59ef14f4
Branch: refs/heads/olingo168
Commit: 59ef14f4cffeca9fdd7c8f2911a9218d57d77038
Parents: 6fdfc45
Author: Christian Amend <ch...@apache.org>
Authored: Tue Mar 25 12:58:15 2014 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Mar 25 12:58:15 2014 +0100
----------------------------------------------------------------------
.../serializer/xml/MetadataDocumentTest.java | 2 +-
.../server/core/testutil/EdmTechProvider.java | 2200 ------------------
.../core/testutil/EdmTechTestProvider.java | 6 +
.../testutil/techprovider/ActionProvider.java | 179 ++
.../techprovider/ComplexTypeProvider.java | 171 ++
.../techprovider/ContainerProvider.java | 361 +++
.../testutil/techprovider/EdmTechProvider.java | 135 ++
.../techprovider/EntityTypeProvider.java | 395 ++++
.../testutil/techprovider/EnumTypeProvider.java | 44 +
.../testutil/techprovider/FunctionProvider.java | 794 +++++++
.../testutil/techprovider/PropertyProvider.java | 308 +++
.../testutil/techprovider/SchemaProvider.java | 247 ++
.../techprovider/TypeDefinitionProvider.java | 30 +
.../olingo/server/core/uri/UriInfoImplTest.java | 4 +-
.../server/core/uri/UriResourceImplTest.java | 38 +-
.../core/uri/antlr/TestFullResourcePath.java | 1515 ++++++------
.../core/uri/antlr/TestUriParserImpl.java | 292 +--
.../queryoption/expression/ExpressionTest.java | 31 +-
18 files changed, 3616 insertions(+), 3136 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
index 0a8cd0e..40868df 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
@@ -28,8 +28,8 @@ import org.apache.olingo.server.api.ODataServer;
import org.apache.olingo.server.api.serializer.ODataFormat;
import org.apache.olingo.server.api.serializer.ODataSerializer;
import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
-import org.apache.olingo.server.core.testutil.EdmTechProvider;
import org.apache.olingo.server.core.testutil.StringUtils;
+import org.apache.olingo.server.core.testutil.techprovider.EdmTechProvider;
import org.junit.Test;
public class MetadataDocumentTest {
[2/9] [OLINGO-168] Refactor Tech Provider
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
index 351fd54..ec78def 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
@@ -30,8 +30,11 @@ import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKin
import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
-import org.apache.olingo.server.core.testutil.EdmTechProvider;
import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
+import org.apache.olingo.server.core.testutil.techprovider.ComplexTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EntityTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EnumTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.PropertyProvider;
import org.apache.olingo.server.core.uri.parser.UriParserException;
import org.apache.olingo.server.core.uri.testutil.FilterValidator;
import org.apache.olingo.server.core.uri.testutil.ResourceValidator;
@@ -62,28 +65,28 @@ public class TestFullResourcePath {
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()").goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
// with string parameter
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='ABC')").goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
// with string parameter
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()").goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
}
@Test
@@ -94,13 +97,13 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, false)
+ .isType(ComplexTypeProvider.nameCTPrimComp, false)
.n()
.isFunction("BFCCTPrimCompRTESBaseTwoKeyNav");
@@ -109,16 +112,16 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, false)
+ .isType(ComplexTypeProvider.nameCTPrimComp, false)
.n()
.isFunction("BFCCTPrimCompRTESBaseTwoKeyNav")
- .isType(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isUriPathInfoKind(UriResourceKind.count);
@@ -134,7 +137,7 @@ public class TestFullResourcePath {
.n()
.isUriPathInfoKind(UriResourceKind.complexProperty)
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, true)
+ .isType(ComplexTypeProvider.nameCTPrimComp, true)
.n()
.isFunction("BFCCollCTPrimCompRTESAllPrim");
@@ -147,10 +150,10 @@ public class TestFullResourcePath {
.n()
.isUriPathInfoKind(UriResourceKind.complexProperty)
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, true)
+ .isType(ComplexTypeProvider.nameCTPrimComp, true)
.n()
.isFunction("BFCCollCTPrimCompRTESAllPrim")
- .isType(EdmTechProvider.nameETAllPrim, true)
+ .isType(EntityTypeProvider.nameETAllPrim, true)
.n()
.isUriPathInfoKind(UriResourceKind.count);
}
@@ -167,7 +170,7 @@ public class TestFullResourcePath {
.n()
.isUriPathInfoKind(UriResourceKind.complexProperty)
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, false)
+ .isType(ComplexTypeProvider.nameCTPrimComp, false)
.n()
.isFunction("BFCCTPrimCompRTESTwoKeyNav");
@@ -181,10 +184,10 @@ public class TestFullResourcePath {
.n()
.isUriPathInfoKind(UriResourceKind.complexProperty)
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, false)
+ .isType(ComplexTypeProvider.nameCTPrimComp, false)
.n()
.isFunction("BFCCTPrimCompRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.n()
.isUriPathInfoKind(UriResourceKind.count);
@@ -210,10 +213,10 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isFunction("BFCETBaseTwoKeyNavRTESTwoKeyNav");
@@ -223,8 +226,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'(''2'')'")
.n()
@@ -238,8 +241,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isFunction("BFCESBaseTwoKeyNavRTESBaseTwoKey");
@@ -249,12 +252,12 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isFunction("BFCESBaseTwoKeyNavRTESBaseTwoKey")
- .isType(EdmTechProvider.nameETBaseTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ .isType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
testUri.run("ESTwoKeyNav"
+ "/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()"
@@ -265,11 +268,11 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
}
@Test
@@ -280,7 +283,7 @@ public class TestFullResourcePath {
.isEntitySet("ESAllPrim")
.n()
.isFunction("BFCESAllPrimRTCTAllPrim")
- .isType(EdmTechProvider.nameCTAllPrim);
+ .isType(ComplexTypeProvider.nameCTAllPrim);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTCTTwoPrim()/com.sap.odata.test1.CTBase")
.isKind(UriInfoKind.resource).goPath()
@@ -288,8 +291,8 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTCTTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim, false)
- .isTypeFilterOnEntry(EdmTechProvider.nameCTBase);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, false)
+ .isTypeFilterOnEntry(ComplexTypeProvider.nameCTBase);
}
@Test
@@ -300,7 +303,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTCollCTTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim, true);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, true);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTCollCTTwoPrim()/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -308,7 +311,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTCollCTTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim, true)
+ .isType(ComplexTypeProvider.nameCTTwoPrim, true)
.n()
.isUriPathInfoKind(UriResourceKind.count);
}
@@ -322,7 +325,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESTwoKeyNavRTTwoKeyNav")
.n()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false);
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTTwoKeyNav()/NavPropertyETKeyNavOne/$ref")
.isKind(UriInfoKind.resource).goPath()
@@ -331,7 +334,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESTwoKeyNavRTTwoKeyNav")
.n()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
.n()
.isUriPathInfoKind(UriResourceKind.ref);
@@ -342,7 +345,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESKeyNavRTETKeyNav")
.n()
- .isNavProperty("NavPropertyETMediaOne", EdmTechProvider.nameETMedia, false)
+ .isNavProperty("NavPropertyETMediaOne", EntityTypeProvider.nameETMedia, false)
.n()
.isValue();
@@ -355,7 +358,7 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNavParam")
.isParameter(0, "ParameterString", "'1'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false);
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNavParam(ParameterString='1')"
+ "/NavPropertyETTwoKeyNavOne/PropertyComplex")
@@ -366,10 +369,10 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNavParam")
.isParameter(0, "ParameterString", "'1'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp);
+ .isType(ComplexTypeProvider.nameCTPrimComp);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNavParam(ParameterString='1')"
+ "/NavPropertyETTwoKeyNavOne/PropertyComplex/PropertyComplex")
@@ -380,13 +383,13 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNavParam")
.isParameter(0, "ParameterString", "'1'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp)
+ .isType(ComplexTypeProvider.nameCTPrimComp)
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTAllPrim);
+ .isType(ComplexTypeProvider.nameCTAllPrim);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNavParam(ParameterString='1')"
+ "/NavPropertyETTwoKeyNavOne/PropertyString")
@@ -397,9 +400,9 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNavParam")
.isParameter(0, "ParameterString", "'1'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNavParam(ParameterString='1')"
+ "/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')/PropertyString")
@@ -410,11 +413,11 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNavParam")
.isParameter(0, "ParameterString", "'1'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
}
@Test
@@ -427,9 +430,9 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESTwoKeyNavRTTwoKeyNav")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav);
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav);
testUri
.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()(PropertyInt16=1,PropertyString='2')"
@@ -439,13 +442,13 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
}
@@ -460,7 +463,7 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNav")
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTNavFiveProp);
+ .isType(ComplexTypeProvider.nameCTNavFiveProp);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNav()/PropertyComplex/PropertyInt16")
.isKind(UriInfoKind.resource).goPath()
@@ -470,9 +473,9 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNav")
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTNavFiveProp)
+ .isType(ComplexTypeProvider.nameCTNavFiveProp)
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNav()/PropertyComplex/PropertyInt16/$value")
.isKind(UriInfoKind.resource).goPath()
@@ -482,9 +485,9 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNav")
.n()
.isComplex("PropertyComplex")
- .isType(EdmTechProvider.nameCTNavFiveProp)
+ .isType(ComplexTypeProvider.nameCTNavFiveProp)
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false)
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false)
.n()
.isValue();
@@ -503,8 +506,8 @@ public class TestFullResourcePath {
.isParameter(0, "ParameterString", "'1'")
.n()
.isComplex("PropertyComplexTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim)
- .isTypeFilter(EdmTechProvider.nameCTTwoBase);
+ .isType(ComplexTypeProvider.nameCTTwoPrim)
+ .isTypeFilter(ComplexTypeProvider.nameCTTwoBase);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNavParam(ParameterString='1')"
+ "/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')"
@@ -516,13 +519,13 @@ public class TestFullResourcePath {
.isFunction("BFCESKeyNavRTETKeyNavParam")
.isParameter(0, "ParameterString", "'1'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
.isComplex("PropertyComplexTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim)
- .isTypeFilter(EdmTechProvider.nameCTTwoBase);
+ .isType(ComplexTypeProvider.nameCTTwoPrim)
+ .isTypeFilter(ComplexTypeProvider.nameCTTwoBase);
}
@Test
@@ -534,7 +537,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESKeyNavRTETKeyNav")
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESKeyNavRTETKeyNav()/PropertyInt16/$value")
.isKind(UriInfoKind.resource).goPath()
@@ -543,7 +546,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESKeyNavRTETKeyNav")
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false)
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false)
.n()
.isValue();
@@ -558,7 +561,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='2')")
.isKind(UriInfoKind.resource).goPath()
@@ -567,7 +570,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
.isParameter(0, "ParameterString", "'2'")
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()")
.isKind(UriInfoKind.resource).goPath()
@@ -575,7 +578,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
testUri.run("ESKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='3')")
.isKind(UriInfoKind.resource).goPath()
@@ -584,7 +587,7 @@ public class TestFullResourcePath {
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
.isParameter(0, "ParameterString", "'3'")
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -592,7 +595,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.n()
.isCount();
@@ -618,7 +621,7 @@ public class TestFullResourcePath {
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp)
+ .isType(ComplexTypeProvider.nameCTPrimComp)
.n()
.isFunction("BFCCollCTPrimCompRTESAllPrim")
.n()
@@ -641,7 +644,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTString")
- .isType(EdmTechProvider.nameString)
+ .isType(PropertyProvider.nameString)
.n()
.isValue();
}
@@ -654,7 +657,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTCollString")
- .isType(EdmTechProvider.nameString, true);
+ .isType(PropertyProvider.nameString, true);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTCollString()/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -662,7 +665,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.n()
.isFunction("BFCESTwoKeyNavRTCollString")
- .isType(EdmTechProvider.nameString, true)
+ .isType(PropertyProvider.nameString, true)
.n()
.isCount();
}
@@ -675,10 +678,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true)
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true)
.n()
.isFunction("BFCCollStringRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true);
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true);
testUri.run("ESKeyNav(1)/CollPropertyString/com.sap.odata.test1.BFCCollStringRTESTwoKeyNav()/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -686,10 +689,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true)
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true)
.n()
.isFunction("BFCCollStringRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.n()
.isCount();
}
@@ -703,10 +706,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false)
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false)
.n()
.isFunction("BFCStringRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true);
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true);
testUri.run("ESKeyNav(1)/PropertyString/com.sap.odata.test1.BFCStringRTESTwoKeyNav()/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -714,10 +717,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false)
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false)
.n()
.isFunction("BFCStringRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.n()
.isCount();
@@ -727,10 +730,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false)
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false)
.n()
.isFunction("BFCStringRTESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.n()
.isRef();
}
@@ -742,7 +745,7 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.n()
.isFunction("BFCSINavRTESTwoKeyNav");
}
@@ -753,8 +756,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isFunction("BFCETBaseTwoKeyNavRTESBaseTwoKey");
}
@@ -798,20 +801,20 @@ public class TestFullResourcePath {
.goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETAllPrim, false)
+ .isType(EntityTypeProvider.nameETAllPrim, false)
.at(1)
.isUriPathInfoKind(UriResourceKind.primitiveProperty)
- .isType(EdmTechProvider.nameString);
+ .isType(PropertyProvider.nameString);
// on collection of primitive
testUri.run("ESCollAllPrim(1)/CollPropertyString/com.sap.odata.test1.BFCCollStringRTESTwoKeyNav()")
.goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETCollAllPrim, false)
+ .isType(EntityTypeProvider.nameETCollAllPrim, false)
.at(1)
.isUriPathInfoKind(UriResourceKind.primitiveProperty)
- .isType(EdmTechProvider.nameString);
+ .isType(PropertyProvider.nameString);
// on complex
testUri.run("ESTwoKeyNav(ParameterInt16=1,PropertyString='ABC')"
@@ -819,11 +822,11 @@ public class TestFullResourcePath {
.goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.at(1)
.isUriPathInfoKind(UriResourceKind.complexProperty)
.at(2)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
// on collection of complex
testUri.run("ESKeyNav(1)/CollPropertyComplex/com.sap.odata.test1.BFCCollCTPrimCompRTESAllPrim()")
@@ -831,10 +834,10 @@ public class TestFullResourcePath {
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
.at(1)
- .isType(EdmTechProvider.nameCTPrimComp, true)
+ .isType(ComplexTypeProvider.nameCTPrimComp, true)
.at(2)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETAllPrim);
+ .isType(EntityTypeProvider.nameETAllPrim);
// on entity
testUri.run("ESTwoKeyNav(ParameterInt16=1,PropertyString='ABC')"
@@ -842,19 +845,19 @@ public class TestFullResourcePath {
.goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.at(1)
.isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
// on collection of entity
testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()")
.goPath()
.at(0)
.isUriPathInfoKind(UriResourceKind.entitySet)
- .isType(EdmTechProvider.nameETTwoKeyNav, true)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, true)
.at(1).isUriPathInfoKind(UriResourceKind.function)
- .isType(EdmTechProvider.nameETTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav);
}
@Test
@@ -867,7 +870,7 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isAction("BAETBaseTwoKeyNavRTETBaseTwoKeyNav");
@@ -876,10 +879,10 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBaseTwoKeyNav)
.n()
.isAction("BAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav");
}
@@ -910,7 +913,7 @@ public class TestFullResourcePath {
.isIdText("ESKeyNav(1)");
testUri.run("$entity/com.sap.odata.test1.ETKeyNav?$id=ESKeyNav(1)")
.isKind(UriInfoKind.entityId)
- .isEntityType(EdmTechProvider.nameETKeyNav)
+ .isEntityType(EntityTypeProvider.nameETKeyNav)
.isIdText("ESKeyNav(1)");
}
@@ -929,13 +932,13 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESAllPrim")
- .isType(EdmTechProvider.nameETAllPrim, true);
+ .isType(EntityTypeProvider.nameETAllPrim, true);
testUri.run("ESAllPrim/$count")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESAllPrim")
- .isType(EdmTechProvider.nameETAllPrim, true)
+ .isType(EntityTypeProvider.nameETAllPrim, true)
.n()
.isCount();
}
@@ -988,32 +991,32 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim, true)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase);
+ .isType(EntityTypeProvider.nameETTwoPrim, true)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase);
testUri.run("ESTwoPrim/com.sap.odata.test1.ETBase(-32768)/com.sap.odata.test1.ETTwoBase")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim, false)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase)
+ .isType(EntityTypeProvider.nameETTwoPrim, false)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase)
.isKeyPredicate(0, "PropertyInt16", "-32768")
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBase);
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBase);
testUri.run("ESTwoPrim/com.sap.odata.test1.ETTwoBase(-32768)")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim, false)
- .isTypeFilterOnCollection(EdmTechProvider.nameETTwoBase)
+ .isType(EntityTypeProvider.nameETTwoPrim, false)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETTwoBase)
.isKeyPredicate(0, "PropertyInt16", "-32768");
testUri.run("ESTwoPrim/Namespace1_Alias.ETTwoBase(-32768)")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim, false)
- .isTypeFilterOnCollection(EdmTechProvider.nameETTwoBase)
+ .isType(EntityTypeProvider.nameETTwoPrim, false)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETTwoBase)
.isKeyPredicate(0, "PropertyInt16", "-32768");
}
@@ -1025,26 +1028,26 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isPrimitiveProperty("PropertyDate", EdmTechProvider.nameDate, false);
+ .isPrimitiveProperty("PropertyDate", PropertyProvider.nameDate, false);
testUri.run("ESTwoKeyNav(PropertyInt16=1,PropertyString='2')/com.sap.odata.test1.ETBaseTwoKeyNav"
+ "/PropertyComplex/PropertyInt16")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplex")
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
}
@Test
@@ -1118,48 +1121,48 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim)
+ .isType(EntityTypeProvider.nameETTwoPrim)
.isKeyPredicate(0, "PropertyInt16", "1")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBase);
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBase);
testUri.run("ESTwoPrim(1)/com.sap.odata.test1.ETTwoBase")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim)
+ .isType(EntityTypeProvider.nameETTwoPrim)
.isKeyPredicate(0, "PropertyInt16", "1")
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBase);
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBase);
testUri.run("ESTwoPrim/com.sap.odata.test1.ETBase(1)")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim)
+ .isType(EntityTypeProvider.nameETTwoPrim)
.isKeyPredicate(0, "PropertyInt16", "1")
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase);
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase);
testUri.run("ESTwoPrim/com.sap.odata.test1.ETTwoBase(1)")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim)
+ .isType(EntityTypeProvider.nameETTwoPrim)
.isKeyPredicate(0, "PropertyInt16", "1")
- .isTypeFilterOnCollection(EdmTechProvider.nameETTwoBase);
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETTwoBase);
testUri.run("ESTwoPrim/com.sap.odata.test1.ETBase(1)/com.sap.odata.test1.ETTwoBase")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim)
+ .isType(EntityTypeProvider.nameETTwoPrim)
.isKeyPredicate(0, "PropertyInt16", "1")
- .isTypeFilterOnCollection(EdmTechProvider.nameETBase);
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBase);
testUri.run("ESTwoPrim/com.sap.odata.test1.ETTwoBase")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoPrim")
- .isType(EdmTechProvider.nameETTwoPrim)
- .isTypeFilterOnCollection(EdmTechProvider.nameETTwoBase);
+ .isType(EntityTypeProvider.nameETTwoPrim)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETTwoBase);
}
@Test
@@ -1168,17 +1171,17 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav);
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav);
testUri.run("ESTwoKeyNav/com.sap.odata.test1.ETBaseTwoKeyNav(PropertyInt16=1,PropertyString='2')")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'");
}
@@ -1215,27 +1218,27 @@ public class TestFullResourcePath {
.isKeyPredicate(0, "PropertyInt16", "5")
.n()
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTTwoPrim, true);
+ .isType(ComplexTypeProvider.nameCTTwoPrim, true);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne/CollPropertyComplex")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESKeyNav")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
.n()
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, true);
+ .isType(ComplexTypeProvider.nameCTPrimComp, true);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavOne/CollPropertyComplex/$count")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESKeyNav")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false)
.n()
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, true)
+ .isType(ComplexTypeProvider.nameCTPrimComp, true)
.n()
.isCount();
}
@@ -1248,8 +1251,8 @@ public class TestFullResourcePath {
.isEntitySet("ESTwoKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplex");
@@ -1259,8 +1262,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
.n()
@@ -1274,15 +1277,15 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplexTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim)
- .isTypeFilter(EdmTechProvider.nameCTBase);
+ .isType(ComplexTypeProvider.nameCTTwoPrim)
+ .isTypeFilter(ComplexTypeProvider.nameCTBase);
testUri
.run("ESTwoKeyNav(PropertyInt16=1,PropertyString='2')/com.sap.odata.test1.ETBaseTwoKeyNav"
@@ -1290,14 +1293,14 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplexTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim)
- .isTypeFilter(EdmTechProvider.nameCTTwoBase);
+ .isType(ComplexTypeProvider.nameCTTwoPrim)
+ .isTypeFilter(ComplexTypeProvider.nameCTTwoBase);
}
@Test
@@ -1308,7 +1311,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, true);
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, true);
testUri.run("ESKeyNav(1)/NavPropertyETKeyNavMany(2)")
.isKind(UriInfoKind.resource).goPath()
@@ -1316,7 +1319,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2");
testUri.run("ESKeyNav(PropertyInt16=1)/NavPropertyETKeyNavMany(PropertyInt16=2)")
@@ -1325,7 +1328,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2");
testUri.run("ESKeyNav(1)/NavPropertyETKeyNavMany(2)/PropertyInt16")
@@ -1334,10 +1337,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESKeyNav(1)/NavPropertyETKeyNavMany(2)/PropertyComplex")
.isKind(UriInfoKind.resource).goPath()
@@ -1345,7 +1348,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.n()
.isComplex("PropertyComplex");
@@ -1356,10 +1359,10 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.n()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false);
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')"
+ "/NavPropertyETKeyNavMany(4)")
@@ -1368,11 +1371,11 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "4");
testUri.run("ESKeyNav(1)/PropertyComplex/NavPropertyETTwoKeyNavOne")
@@ -1383,7 +1386,7 @@ public class TestFullResourcePath {
.n()
.isComplex("PropertyComplex")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false);
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='(3)')"
+ "/PropertyComplex/PropertyComplex/PropertyInt16")
@@ -1392,7 +1395,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'(3)'")
.n()
@@ -1400,7 +1403,7 @@ public class TestFullResourcePath {
.n()
.isComplex("PropertyComplex")
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESKeyNav(1)/NavPropertyETMediaMany(2)/$value")
.isKind(UriInfoKind.resource).goPath()
@@ -1408,7 +1411,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETMediaMany", EdmTechProvider.nameETMedia, false)
+ .isNavProperty("NavPropertyETMediaMany", EntityTypeProvider.nameETMedia, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.n()
.isValue();
@@ -1420,13 +1423,13 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
.n()
- .isNavProperty("NavPropertyETMediaOne", EdmTechProvider.nameETMedia, false)
+ .isNavProperty("NavPropertyETMediaOne", EntityTypeProvider.nameETMedia, false)
.n()
.isValue();
@@ -1437,11 +1440,11 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
.n()
.isRef();
}
@@ -1453,24 +1456,24 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true);
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true);
testUri.run("ESTwoKeyNav(PropertyInt16=1,PropertyString='2')/com.sap.odata.test1.ETBaseTwoKeyNav"
+ "/NavPropertyETKeyNavMany(3)")
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "3");
testUri.run("ESTwoKeyNav(PropertyInt16=1,PropertyString='2')/com.sap.odata.test1.ETBaseTwoKeyNav"
@@ -1478,15 +1481,15 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isEntitySet("ESTwoKeyNav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "3")
.isKeyPredicate(1, "PropertyString", "'4'")
- .isTypeFilterOnCollection(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')"
+ "/NavPropertyETTwoKeyNavMany/com.sap.odata.test1.ETBaseTwoKeyNav(PropertyInt16=4,PropertyString='5')"
@@ -1496,18 +1499,18 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "4")
.isKeyPredicate(1, "PropertyString", "'5'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBaseTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBaseTwoKeyNav)
.n()
- .isNavProperty("NavPropertyETBaseTwoKeyNavMany", EdmTechProvider.nameETBaseTwoKeyNav, true);
+ .isNavProperty("NavPropertyETBaseTwoKeyNavMany", EntityTypeProvider.nameETBaseTwoKeyNav, true);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')/"
+ "NavPropertyETTwoKeyNavMany/com.sap.odata.test1.ETBaseTwoKeyNav(PropertyInt16=4,PropertyString='5')/"
@@ -1517,16 +1520,16 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "4")
.isKeyPredicate(1, "PropertyString", "'5'")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true);
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true);
}
@Test
@@ -1537,7 +1540,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicateRef(0, "PropertyInt16", "PropertyInt16")
.isKeyPredicate(1, "PropertyString", "'2'");
@@ -1546,7 +1549,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicateRef(0, "PropertyInt16", "PropertyInt16")
.isKeyPredicate(1, "PropertyString", "'2'");
@@ -1560,7 +1563,7 @@ public class TestFullResourcePath {
.isEntitySet("ESAllPrim")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("PropertyByte", EdmTechProvider.nameByte, false);
+ .isPrimitiveProperty("PropertyByte", PropertyProvider.nameByte, false);
testUri.run("ESAllPrim(1)/PropertyByte/$value")
.isKind(UriInfoKind.resource).goPath()
@@ -1568,7 +1571,7 @@ public class TestFullResourcePath {
.isEntitySet("ESAllPrim")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("PropertyByte", EdmTechProvider.nameByte, false)
+ .isPrimitiveProperty("PropertyByte", PropertyProvider.nameByte, false)
.n()
.isValue();
@@ -1580,7 +1583,7 @@ public class TestFullResourcePath {
.n()
.isComplex("PropertyComplex")
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
}
@Test
@@ -1591,7 +1594,7 @@ public class TestFullResourcePath {
.isEntitySet("ESCollAllPrim")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true);
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')/CollPropertyString")
.isKind(UriInfoKind.resource).goPath()
@@ -1599,9 +1602,9 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true);
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true);
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=2,PropertyString='3')/CollPropertyString/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -1609,11 +1612,11 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true)
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true)
.n()
.isCount();
@@ -1641,7 +1644,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, true)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, true)
.n()
.isRef();
testUri.run("ESKeyNav(1)/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='2')/$ref")
@@ -1650,7 +1653,7 @@ public class TestFullResourcePath {
.isEntitySet("ESKeyNav")
.isKeyPredicate(0, "PropertyInt16", "1")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'")
.n()
@@ -1673,8 +1676,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTETTwoKeyNavParam")
.isFunction("UFCRTETTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isFunction("BFCETBaseTwoKeyNavRTETTwoKeyNav");
@@ -1686,8 +1689,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
.n()
@@ -1702,7 +1705,7 @@ public class TestFullResourcePath {
.first()
.isFunctionImport("FICRTETKeyNav")
.isFunction("UFCRTETKeyNav")
- .isType(EdmTechProvider.nameETKeyNav);
+ .isType(EntityTypeProvider.nameETKeyNav);
testUri.run("FICRTETTwoKeyNavParam(ParameterInt16=1)(PropertyInt16=2,PropertyString='3')")
.isKind(UriInfoKind.resource).goPath()
@@ -1741,8 +1744,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTETTwoKeyNavParam")
.isFunction("UFCRTETTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav);
testUri.run("FICRTETTwoKeyNavParam(ParameterInt16=1)(PropertyInt16=2,PropertyString='3')"
+ "/com.sap.odata.test1.ETBaseTwoKeyNav")
@@ -1753,8 +1756,8 @@ public class TestFullResourcePath {
.isParameter(0, "ParameterInt16", "1")
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnEntry(EdmTechProvider.nameETBaseTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETBaseTwoKeyNav);
testUri.run("FICRTESTwoKeyNavParam(ParameterInt16=1)"
+ "/com.sap.odata.test1.ETBaseTwoKeyNav(PropertyInt16=2,PropertyString='3')")
@@ -1763,8 +1766,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'");
}
@@ -1779,7 +1782,7 @@ public class TestFullResourcePath {
.isFunction("UFCRTESMixPrimCollCompTwoParam")
.isParameter(0, "ParameterInt16", "1")
.isParameter(1, "ParameterString", "'2'")
- .isType(EdmTechProvider.nameETMixPrimCollComp);
+ .isType(EntityTypeProvider.nameETMixPrimCollComp);
testUri.run("FINRTESMixPrimCollCompTwoParam(ParameterInt16=1,ParameterString='2')")
.isKind(UriInfoKind.resource).goPath()
@@ -1788,7 +1791,7 @@ public class TestFullResourcePath {
.isFunction("UFNRTESMixPrimCollCompTwoParam")
.isParameter(0, "ParameterInt16", "1")
.isParameter(1, "ParameterString", "'2'")
- .isType(EdmTechProvider.nameETMixPrimCollComp);
+ .isType(EntityTypeProvider.nameETMixPrimCollComp);
testUri.run("FICRTESMixPrimCollCompTwoParam(ParameterInt16=1,ParameterString='2')/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -1797,7 +1800,7 @@ public class TestFullResourcePath {
.isFunction("UFCRTESMixPrimCollCompTwoParam")
.isParameter(0, "ParameterInt16", "1")
.isParameter(1, "ParameterString", "'2'")
- .isType(EdmTechProvider.nameETMixPrimCollComp)
+ .isType(EntityTypeProvider.nameETMixPrimCollComp)
.n()
.isCount();
}
@@ -1825,8 +1828,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav);
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav);
testUri.run("FICRTESTwoKeyNavParam(ParameterInt16=1)/com.sap.odata.test1.ETBaseTwoKeyNav/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -1834,8 +1837,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isCount();
@@ -1846,8 +1849,8 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'");
@@ -1859,11 +1862,11 @@ public class TestFullResourcePath {
.isFunctionImport("FICRTESTwoKeyNavParam")
.isFunction("UFCRTESTwoKeyNavParam")
.isParameter(0, "ParameterInt16", "1")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilterOnCollection(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilterOnCollection(EntityTypeProvider.nameETBaseTwoKeyNav)
.isKeyPredicate(0, "PropertyInt16", "2")
.isKeyPredicate(1, "PropertyString", "'3'")
- .isTypeFilterOnEntry(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ .isTypeFilterOnEntry(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
}
@@ -1882,19 +1885,19 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true);
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true);
testUri.run("SINav/com.sap.odata.test1.ETBaseTwoKeyNav/NavPropertyETKeyNavMany(1)")
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1");
}
@@ -1905,8 +1908,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplex");
@@ -1914,8 +1917,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplex")
.n()
@@ -1925,12 +1928,12 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
.isComplex("PropertyComplexTwoPrim")
- .isType(EdmTechProvider.nameCTTwoPrim)
- .isTypeFilter(EdmTechProvider.nameCTBase);
+ .isType(ComplexTypeProvider.nameCTTwoPrim)
+ .isTypeFilter(ComplexTypeProvider.nameCTBase);
}
@@ -1940,20 +1943,20 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("SINav/com.sap.odata.test1.ETBaseTwoKeyNav/CollPropertyString")
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
- .isType(EdmTechProvider.nameETTwoKeyNav)
- .isTypeFilter(EdmTechProvider.nameETBaseTwoKeyNav)
+ .isType(EntityTypeProvider.nameETTwoKeyNav)
+ .isTypeFilter(EntityTypeProvider.nameETBaseTwoKeyNav)
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true)
- .isType(EdmTechProvider.nameString, true);
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true)
+ .isType(PropertyProvider.nameString, true);
}
@@ -1964,14 +1967,14 @@ public class TestFullResourcePath {
.first()
.isSingleton("SINav")
.n()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true);
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true);
testUri.run("SINav/NavPropertyETTwoKeyNavMany(PropertyInt16=1,PropertyString='2')")
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
.n()
- .isNavProperty("NavPropertyETTwoKeyNavMany", EdmTechProvider.nameETTwoKeyNav, false)
+ .isNavProperty("NavPropertyETTwoKeyNavMany", EntityTypeProvider.nameETTwoKeyNav, false)
.isKeyPredicate(0, "PropertyInt16", "1")
.isKeyPredicate(1, "PropertyString", "'2'");
@@ -2005,7 +2008,7 @@ public class TestFullResourcePath {
.isSingleton("SINav")
.n()
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, true);
+ .isType(ComplexTypeProvider.nameCTPrimComp, true);
testUri.run("SINav/CollPropertyComplex/$count")
.isKind(UriInfoKind.resource).goPath()
@@ -2013,7 +2016,7 @@ public class TestFullResourcePath {
.isSingleton("SINav")
.n()
.isComplex("CollPropertyComplex")
- .isType(EdmTechProvider.nameCTPrimComp, true)
+ .isType(ComplexTypeProvider.nameCTPrimComp, true)
.n()
.isCount();
}
@@ -2025,7 +2028,7 @@ public class TestFullResourcePath {
.first()
.isSingleton("SINav")
.n()
- .isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
}
@Test
@@ -2036,13 +2039,13 @@ public class TestFullResourcePath {
.first()
.isSingleton("SINav")
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true);
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true);
testUri.run("SINav/CollPropertyString/$count")
.isKind(UriInfoKind.resource).goPath()
.first()
.isSingleton("SINav")
.n()
- .isPrimitiveProperty("CollPropertyString", EdmTechProvider.nameString, true)
+ .isPrimitiveProperty("CollPropertyString", PropertyProvider.nameString, true)
.n()
.isCount();
}
@@ -2067,7 +2070,7 @@ public class TestFullResourcePath {
.isSegmentStar(0).isSegmentRef(1)
.next()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true);
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true);
testUri.run("ESKeyNav(1)?$expand=*($levels=3)")
.isKind(UriInfoKind.resource).goPath().goExpand()
@@ -2085,24 +2088,24 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef();
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavOne/$ref")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .isType(EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .isType(EntityTypeProvider.nameETKeyNav, false)
.n().isRef();
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavMany/$ref($filter=PropertyInt16 eq 1)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator().isFilterSerialized("<<PropertyInt16> eq <1>>");
@@ -2110,19 +2113,19 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator()
.isSortOrder(0, false)
- .goOrder(0).goPath().isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .goOrder(0).goPath().isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavMany/$ref($skip=1)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator()
.isSkipText("1");
@@ -2131,8 +2134,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator()
.isTopText("2");
@@ -2141,8 +2144,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator()
.isInlineCountText("true");
@@ -2151,8 +2154,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator()
.isSkipText("1")
@@ -2162,8 +2165,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isRef()
.goUpExpandValidator()
.isSkipText("1")
@@ -2173,24 +2176,24 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isCount();
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavOne/$count")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .isType(EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .isType(EntityTypeProvider.nameETKeyNav, false)
.n().isCount();
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavMany/$count($filter=PropertyInt16 gt 1)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.n().isCount()
.goUpExpandValidator()
.isFilterSerialized("<<PropertyInt16> gt <1>>");
@@ -2199,8 +2202,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isFilterSerialized("<<PropertyInt16> eq <1>>");
@@ -2208,18 +2211,18 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isSortOrder(0, false)
- .goOrder(0).goPath().isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false);
+ .goOrder(0).goPath().isPrimitiveProperty("PropertyInt16", PropertyProvider.nameInt16, false);
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavMany($skip=1)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isSkipText("1");
@@ -2227,8 +2230,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isTopText("2");
@@ -2236,8 +2239,8 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isInlineCountText("true");
@@ -2245,40 +2248,40 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isSelectText("PropertyString")
- .goSelectItem(0).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .goSelectItem(0).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavMany($expand=NavPropertyETTwoKeyNavOne)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.goExpand()
.goPath().first()
- .isNavProperty("NavPropertyETTwoKeyNavOne", EdmTechProvider.nameETTwoKeyNav, false);
+ .isNavProperty("NavPropertyETTwoKeyNavOne", EntityTypeProvider.nameETTwoKeyNav, false);
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavMany($expand=NavPropertyETKeyNavMany)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.goExpand()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true);
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true);
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavOne($levels=5)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .isType(EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .isType(EntityTypeProvider.nameETKeyNav, false)
.goUpExpandValidator()
.isLevelText("5");
@@ -2286,18 +2289,18 @@ public class TestFullResourcePath {
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavMany", EdmTechProvider.nameETKeyNav, true)
- .isType(EdmTechProvider.nameETKeyNav, true)
+ .isNavProperty("NavPropertyETKeyNavMany", EntityTypeProvider.nameETKeyNav, true)
+ .isType(EntityTypeProvider.nameETKeyNav, true)
.goUpExpandValidator()
.isSelectText("PropertyString")
- .goSelectItem(0).isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false);
+ .goSelectItem(0).isPrimitiveProperty("PropertyString", PropertyProvider.nameString, false);
testUri.run("ESKeyNav(1)?$expand=NavPropertyETKeyNavOne($levels=max)")
.isKind(UriInfoKind.resource).goPath().goExpand()
.first()
.goPath().first()
- .isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
- .isType(EdmTechProvider.nameETKeyNav, false)
+ .isNavProperty("NavPropertyETKeyNavOne", EntityTypeProvider.nameETKeyNav, false)
+ .isType(EntityTypeProv
<TRUNCATED>
[3/9] [OLINGO-168] Refactor Tech Provider
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
new file mode 100644
index 0000000..f9e15ec
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
@@ -0,0 +1,794 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.Function;
+import org.apache.olingo.server.api.edm.provider.Parameter;
+import org.apache.olingo.server.api.edm.provider.ReturnType;
+
+public class FunctionProvider {
+
+ // Bound Functions
+ public static final FullQualifiedName nameBFCCollCTPrimCompRTESAllPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCCollCTPrimCompRTESAllPrim");
+
+ public static final FullQualifiedName nameBFCCollStringRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCCollStringRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCCTPrimCompRTESBaseTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESBaseTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNavParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESTwoKeyNavParam");
+
+ public static final FullQualifiedName nameBFCCTPrimCompRTETTwoKeyNavParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTETTwoKeyNavParam");
+
+ public static final FullQualifiedName nameBFCESAllPrimRTCTAllPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESAllPrimRTCTAllPrim");
+
+ public static final FullQualifiedName nameBFCESBaseTwoKeyNavRTESBaseTwoKey =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESBaseTwoKeyNavRTESBaseTwoKey");
+
+ public static final FullQualifiedName nameBFCESKeyNavRTETKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESKeyNavRTETKeyNav");
+
+ public static final FullQualifiedName nameBFCESKeyNavRTETKeyNavParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESKeyNavRTETKeyNavParam");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollCTTwoPrim");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTCollString =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollString");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTCTTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCTTwoPrim");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTString =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTString");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTStringParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTStringParam");
+
+ public static final FullQualifiedName nameBFCESTwoKeyNavRTTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESBaseTwoKey =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTESBaseTwoKey");
+
+ public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTETTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTETTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCETKeyNavRTETKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETKeyNavRTETKeyNav");
+
+ public static final FullQualifiedName nameBFCETTwoKeyNavRTCTTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTCTTwoPrim");
+
+ public static final FullQualifiedName nameBFCETTwoKeyNavRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCETTwoKeyNavRTETTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTETTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCSINavRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCSINavRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFCStringRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFCStringRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBFESTwoKeyNavRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BFESTwoKeyNavRTESTwoKeyNav");
+
+ // TODO: warum BAET?
+ public static final FullQualifiedName nameBAETTwoKeyNavRTETTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BAETTwoKeyNavRTETTwoKeyNav");
+
+ // Unbound Functions
+ public static final FullQualifiedName nameUFCRTCollCTTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrim");
+ public static final FullQualifiedName nameUFCRTCollCTTwoPrimParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrimParam");
+ public static final FullQualifiedName nameUFCRTCollString = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollString");
+ public static final FullQualifiedName nameUFCRTCollStringTwoParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollStringTwoParam");
+ public static final FullQualifiedName nameUFCRTCTAllPrimTwoParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTAllPrimTwoParam");
+ public static final FullQualifiedName nameUFCRTCTTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTTwoPrim");
+ public static final FullQualifiedName nameUFCRTCTTwoPrimParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTTwoPrimParam");
+ public static final FullQualifiedName nameUFCRTESMixPrimCollCompTwoParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESMixPrimCollCompTwoParam");
+ public static final FullQualifiedName nameUFCRTESTwoKeyNavParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESTwoKeyNavParam");
+ public static final FullQualifiedName nameUFCRTETAllPrimTwoParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETAllPrimTwoParam");
+ public static final FullQualifiedName nameUFCRTETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETKeyNav");
+ public static final FullQualifiedName nameUFCRTETMedia = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETMedia");
+
+ public static final FullQualifiedName nameUFCRTETTwoKeyNavParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParam");
+
+ public static final FullQualifiedName nameUFCRTETTwoKeyNavParamCTTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParamCTTwoPrim");
+
+ public static final FullQualifiedName nameUFCRTString = new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTString");
+
+ public static final FullQualifiedName nameUFCRTStringTwoParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTStringTwoParam");
+
+ public static final FullQualifiedName nameUFNRTESMixPrimCollCompTwoParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTESMixPrimCollCompTwoParam");
+ public static final FullQualifiedName nameUFNRTInt16 =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTInt16");
+
+ public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
+
+ if (functionName.equals(nameUFNRTInt16)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFNRTInt16")
+ .setParameters(new ArrayList<Parameter>())
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString))
+ );
+
+ } else if (functionName.equals(nameUFCRTETKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETKeyNav")
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ );
+
+ } else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETTwoKeyNavParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTETTwoKeyNavParamCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETTwoKeyNavParamCTTwoPrim")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTStringTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTStringTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter()
+ .setName("ParameterInt16")
+ .setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString)),
+ new Function()
+ .setName("UFCRTStringTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter()
+ .setName("ParameterString")
+ .setType(PropertyProvider.nameString),
+ new Parameter()
+ .setName("ParameterInt16")
+ .setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString))
+
+ );
+
+ } else if (functionName.equals(nameUFCRTESTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTESTwoKeyNavParam")
+ .setParameters(Arrays.asList(
+ new Parameter()
+ .setName("ParameterInt16")
+ .setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFCRTString)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTString")
+
+ .setComposable(true)
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTCollStringTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCollStringTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFCRTCollString)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCollString")
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTAllPrimTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim))
+ );
+
+ } else if (functionName.equals(nameUFCRTCTTwoPrimParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTTwoPrimParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ );
+ } else if (functionName.equals(nameUFCRTCollCTTwoPrimParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCollCTTwoPrimParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFCRTCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTTwoPrim")
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ );
+
+ } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTTwoPrim")
+
+ .setParameters(new ArrayList<Parameter>())
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFCRTETMedia)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETMedia")
+ .setParameters(new ArrayList<Parameter>())
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETMedia))
+ );
+
+ } else if (functionName.equals(nameUFCRTString)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTString")
+ .setParameters(new ArrayList<Parameter>())
+ .setReturnType(new ReturnType()
+ .setType(PropertyProvider.nameString)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCollCTTwoPrim")
+ .setComposable(true)
+ .setParameters(new ArrayList<Parameter>())
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFNRTESMixPrimCollCompTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFNRTESMixPrimCollCompTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(false)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETAllPrimTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim))
+ );
+
+ } else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTESMixPrimCollCompTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString),
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)
+ ))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays
+ .asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)),
+
+ new Function()
+ .setName("BFCESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setCollection(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)),
+ new Function()
+ .setName("BFCESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)),
+ new Function()
+ .setName("BFCESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)
+ .setCollection(true),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setCollection(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function().setName("BFCStringRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(PropertyProvider.nameString)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETBaseTwoKeyNavRTETTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav)
+ )
+ );
+
+ } else if (functionName.equals(nameBFCESBaseTwoKeyNavRTESBaseTwoKey)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESBaseTwoKeyNavRTESBaseTwoKey")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCESAllPrimRTCTAllPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESAllPrimRTCTAllPrim")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim).setCollection(
+ true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim))
+ );
+
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTCTTwoPrim")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ );
+
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTCollCTTwoPrim")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTString)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTString")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString))
+ );
+
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTCollString)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTCollString")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETBaseTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCSINavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCSINavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESBaseTwoKey)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETBaseTwoKeyNavRTESBaseTwoKey")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCCollStringRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCollStringRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection(true)))
+ .setComposable(true)
+ .setReturnType(new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCCTPrimCompRTESBaseTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTESBaseTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCCollCTPrimCompRTESAllPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCollCTPrimCompRTESAllPrim")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true))
+ );
+
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ );
+
+ } else if (functionName.equals(nameBFCESKeyNavRTETKeyNav)) {
+ return Arrays
+ .asList(
+ new Function()
+ .setName("BFCESKeyNavRTETKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ );
+
+ } else if (functionName.equals(nameBFCETKeyNavRTETKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETKeyNavRTETKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ );
+ } else if (functionName.equals(nameBFESTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)))
+ .setComposable(true)
+ .setReturnType(new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+
+ );
+
+ } else if (functionName.equals(nameBFCETTwoKeyNavRTETTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETTwoKeyNavRTETTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ );
+
+ } else if (functionName.equals(nameBFCETTwoKeyNavRTCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETTwoKeyNavRTCTTwoPrim")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ );
+ } else if (functionName.equals(nameBFCESTwoKeyNavRTStringParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESTwoKeyNavRTStringParam")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true),
+ new Parameter().setName("ParameterComplex").setType(ComplexTypeProvider.nameCTTwoPrim)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString))
+ );
+
+ } else if (functionName.equals(nameBFCESKeyNavRTETKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCESKeyNavRTETKeyNavParam")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(true),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav))
+ );
+ } else if (functionName.equals(nameBFCCTPrimCompRTETTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTETTwoKeyNavParam")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)))
+ .setComposable(true)
+ .setReturnType(new ReturnType()
+ .setType(EntityTypeProvider.nameETTwoKeyNav)
+ )
+ );
+ } else if (functionName.equals(nameBAETTwoKeyNavRTETTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BAETTwoKeyNavRTETTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(PropertyProvider.nameInt16).setCollection(true),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
+ } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTESTwoKeyNavParam")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+ }
+
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
new file mode 100644
index 0000000..a237ebd
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
@@ -0,0 +1,308 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.server.api.edm.provider.NavigationProperty;
+import org.apache.olingo.server.api.edm.provider.Property;
+
+public class PropertyProvider {
+
+ // Primitive Type Names
+ public static final FullQualifiedName nameBinary = EdmPrimitiveTypeKind.Binary.getFullQualifiedName();
+ public static final FullQualifiedName nameBoolean = EdmPrimitiveTypeKind.Boolean.getFullQualifiedName();
+ public static final FullQualifiedName nameByte = EdmPrimitiveTypeKind.Byte.getFullQualifiedName();
+
+ public static final FullQualifiedName nameDate = EdmPrimitiveTypeKind.Date.getFullQualifiedName();
+ public static final FullQualifiedName nameDateTimeOffset =
+ EdmPrimitiveTypeKind.DateTimeOffset.getFullQualifiedName();
+
+ public static final FullQualifiedName nameDecimal = EdmPrimitiveTypeKind.Decimal.getFullQualifiedName();
+ public static final FullQualifiedName nameDouble = EdmPrimitiveTypeKind.Double.getFullQualifiedName();
+ public static final FullQualifiedName nameDuration = EdmPrimitiveTypeKind.Duration.getFullQualifiedName();
+
+ public static final FullQualifiedName nameGuid = EdmPrimitiveTypeKind.Guid.getFullQualifiedName();
+ public static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName();
+ public static final FullQualifiedName nameInt32 = EdmPrimitiveTypeKind.Int32.getFullQualifiedName();
+ public static final FullQualifiedName nameInt64 = EdmPrimitiveTypeKind.Int64.getFullQualifiedName();
+
+ public static final FullQualifiedName nameSByte = EdmPrimitiveTypeKind.SByte.getFullQualifiedName();
+ public static final FullQualifiedName nameSingle = EdmPrimitiveTypeKind.Single.getFullQualifiedName();
+
+ public static final FullQualifiedName nameString = EdmPrimitiveTypeKind.String.getFullQualifiedName();
+ public static final FullQualifiedName nameTimeOfDay = EdmPrimitiveTypeKind.TimeOfDay.getFullQualifiedName();
+
+ // Primitive Properties --------------------------------------------------------------------------------------------
+ public static final Property collPropertyBinary = new Property()
+ .setName("CollPropertyBinary")
+ .setType(nameBinary)
+ .setCollection(true);
+
+ public static final Property collPropertyBoolean = new Property()
+ .setName("CollPropertyBoolean")
+ .setType(nameBoolean)
+ .setCollection(true);
+
+ public static final Property collPropertyByte = new Property()
+ .setName("CollPropertyByte")
+ .setType(nameByte)
+ .setCollection(true);
+
+ public static final Property collPropertyDate = new Property()
+ .setName("CollPropertyDate")
+ .setType(nameDate)
+ .setCollection(true);
+
+ public static final Property collPropertyDateTimeOffset = new Property()
+ .setName("CollPropertyDateTimeOffset")
+ .setType(nameDateTimeOffset)
+ .setCollection(true);
+
+ public static final Property collPropertyDecimal = new Property()
+ .setName("CollPropertyDecimal")
+ .setType(nameDecimal)
+ .setCollection(true);
+
+ public static final Property collPropertyDouble = new Property()
+ .setName("CollPropertyDouble")
+ .setType(nameDouble)
+ .setCollection(true);
+
+ public static final Property collPropertyDuration = new Property()
+ .setName("CollPropertyDuration")
+ .setType(nameDuration)
+ .setCollection(true);
+ public static final Property collPropertyGuid = new Property()
+ .setName("CollPropertyGuid")
+ .setType(nameGuid)
+ .setCollection(true);
+ public static final Property collPropertyInt16 = new Property()
+ .setName("CollPropertyInt16")
+ .setType(nameInt16)
+ .setCollection(true);
+ public static final Property collPropertyInt32 = new Property()
+ .setName("CollPropertyInt32")
+ .setType(nameInt32)
+ .setCollection(true);
+ public static final Property collPropertyInt64 = new Property()
+ .setName("CollPropertyInt64")
+ .setType(nameInt64)
+ .setCollection(true);
+
+ public static final Property collPropertySByte = new Property()
+ .setName("CollPropertySByte")
+ .setType(nameSByte)
+ .setCollection(true);
+
+ public static final Property collPropertySingle = new Property()
+ .setName("CollPropertySingle")
+ .setType(nameSingle)
+ .setCollection(true);
+
+ public static final Property collPropertyString = new Property()
+ .setName("CollPropertyString")
+ .setType(nameString)
+ .setCollection(true);
+
+ public static final Property collPropertyTimeOfDay = new Property()
+ .setName("CollPropertyTimeOfDay")
+ .setType(nameTimeOfDay)
+ .setCollection(true);
+
+ public static final Property propertyBinary = new Property()
+ .setName("PropertyBinary")
+ .setType(nameBinary);
+ public static final Property propertyBoolean = new Property()
+ .setName("PropertyBoolean")
+ .setType(nameBoolean);
+ public static final Property propertyByte = new Property()
+ .setName("PropertyByte")
+ .setType(nameByte);
+
+ public static final Property propertyDate = new Property()
+ .setName("PropertyDate")
+ .setType(nameDate);
+
+ public static final Property propertyDateTimeOffset = new Property()
+ .setName("PropertyDateTimeOffset")
+ .setType(nameDateTimeOffset);
+
+ public static final Property propertyDecimal = new Property()
+ .setName("PropertyDecimal")
+ .setType(nameDecimal);
+
+ public static final Property propertyDouble = new Property()
+ .setName("PropertyDouble")
+ .setType(nameDouble);
+
+ public static final Property propertyDuration = new Property()
+ .setName("PropertyDuration")
+ .setType(nameDuration);
+
+ public static final Property propertyGuid = new Property()
+ .setName("PropertyGuid")
+ .setType(nameGuid);
+
+ public static final Property propertyInt16 = new Property()
+ .setName("PropertyInt16")
+ .setType(nameInt16);
+
+ public static final Property propertyInt16_NotNullable = new Property()
+ .setName("PropertyInt16")
+ .setType(nameInt16)
+ .setNullable(false);
+ public static final Property propertyInt32 = new Property()
+ .setName("PropertyInt32")
+ .setType(nameInt32);
+
+ public static final Property propertyInt64 = new Property()
+ .setName("PropertyInt64")
+ .setType(nameInt64);
+
+ public static final Property propertySByte = new Property()
+ .setName("PropertySByte")
+ .setType(nameSByte);
+
+ public static final Property propertySingle = new Property()
+ .setName("PropertySingle")
+ .setType(nameSingle);
+
+ public static final Property propertyString = new Property()
+ .setName("PropertyString")
+ .setType(nameString);
+
+ public static final Property propertyString_NotNullable = new Property()
+ .setName("PropertyString")
+ .setType(nameString);
+
+ public static final Property propertyTimeOfDay = new Property().setName("PropertyTimeOfDay")
+ .setType(nameTimeOfDay);
+
+ /*
+ * TODO add propertyStream
+ * Property propertyStream = new Property()
+ * .setName("PropertyStream")
+ * .setType(EdmStream.getFullQualifiedName());
+ */
+
+ // Complex Properties ----------------------------------------------------------------------------------------------
+ public static final Property collPropertyComplex_CTPrimComp = new Property()
+ .setName("CollPropertyComplex")
+ .setType(ComplexTypeProvider.nameCTPrimComp)
+ .setCollection(true);
+
+ public static final Property collPropertyComplex_CTTwoPrim = new Property()
+ .setName("CollPropertyComplex")
+ .setType(ComplexTypeProvider.nameCTTwoPrim)
+ .setCollection(true);
+
+ public static final Property propertyComplex_CTAllPrim = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTAllPrim);
+
+ public static final Property propertyComplex_CTCollAllPrim = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTCollAllPrim);
+
+ public static final Property propertyComplex_CTCompCollComp = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTCompCollComp);
+
+ public static final Property propertyComplex_CTCompComp = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTCompComp);
+
+ public static final Property propertyComplex_CTNavFiveProp = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTNavFiveProp);
+
+ public static final Property propertyComplex_CTPrimComp_NotNullable = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTPrimComp);
+
+ public static final Property propertyComplex_CTTwoPrim = new Property()
+ .setName("PropertyComplex")
+ .setType(ComplexTypeProvider.nameCTTwoPrim);
+
+ public static final Property propertyComplexAllPrim_CTAllPrim = new Property()
+ .setName("PropertyComplexAllPrim")
+ .setType(ComplexTypeProvider.nameCTAllPrim);
+
+ public static final Property propertyComplexComplex_CTCompComp = new Property()
+ .setName("PropertyComplexComplex")
+ .setType(ComplexTypeProvider.nameCTCompComp);
+
+ public static final Property propertyComplexEnum_CTPrimEnum_NotNullable = new Property()
+ .setName("PropertyComplexEnum")
+ .setType(ComplexTypeProvider.nameCTPrimEnum);
+
+ public static final Property propertyComplexTwoPrim_CTTwoPrim = new Property()
+ .setName("PropertyComplexTwoPrim")
+ .setType(ComplexTypeProvider.nameCTTwoPrim);
+
+ public static final Property propertyMixedPrimCollComp_CTMixPrimCollComp = new Property()
+ .setName("PropertyMixedPrimCollComp")
+ .setType(ComplexTypeProvider.nameCTMixPrimCollComp)
+ .setCollection(true);
+
+ // Navigation Properties -------------------------------------------------------------------------------------------
+ public static final NavigationProperty collectionNavPropertyETKeyNavMany_ETKeyNav = new NavigationProperty()
+ .setName("NavPropertyETKeyNavMany")
+ .setType(EntityTypeProvider.nameETKeyNav)
+ .setCollection(true);
+
+ public static final NavigationProperty collectionNavPropertyETMediaMany_ETMedia = new NavigationProperty()
+ .setName("NavPropertyETMediaMany")
+ .setType(EntityTypeProvider.nameETMedia)
+ .setCollection(true);
+
+ public static final NavigationProperty collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav = new NavigationProperty()
+ .setName("NavPropertyETTwoKeyNavMany")
+ .setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true)
+ .setPartner("NavPropertyETKeyNavOne");
+
+ public static final NavigationProperty collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
+ .setName("NavPropertyETTwoKeyNavOne")
+ .setType(EntityTypeProvider.nameETTwoKeyNav);
+
+ public static final NavigationProperty navPropertyETKeyNavOne_ETKeyNav = new NavigationProperty()
+ .setName("NavPropertyETKeyNavOne")
+ .setType(EntityTypeProvider.nameETKeyNav);
+ public static final NavigationProperty navPropertyETMediaOne_ETMedia = new NavigationProperty()
+ .setName("NavPropertyETMediaOne")
+ .setType(EntityTypeProvider.nameETMedia);
+
+ public static final NavigationProperty navPropertyETKeyPrimNavOne = new NavigationProperty()
+ .setName("NavPropertyETKeyPrimNavOne")
+ .setType(EntityTypeProvider.nameETKeyPrimNav);
+
+ public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
+ .setName("NavPropertyETTwoKeyNavOne")
+ .setType(EntityTypeProvider.nameETTwoKeyNav);
+
+ // EnumProperties --------------------------------------------------------------------------------------------------
+ public static final Property propertyEnumString_ENString = new Property()
+ .setName("PropertyEnumString")
+ .setType(EnumTypeProvider.nameENString);
+
+ // TypeDefinition Properties ---------------------------------------------------------------------------------------
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
new file mode 100644
index 0000000..6a0708f
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
@@ -0,0 +1,247 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.server.api.edm.provider.Action;
+import org.apache.olingo.server.api.edm.provider.ActionImport;
+import org.apache.olingo.server.api.edm.provider.ComplexType;
+import org.apache.olingo.server.api.edm.provider.EntityContainer;
+import org.apache.olingo.server.api.edm.provider.EntitySet;
+import org.apache.olingo.server.api.edm.provider.EntityType;
+import org.apache.olingo.server.api.edm.provider.EnumType;
+import org.apache.olingo.server.api.edm.provider.Function;
+import org.apache.olingo.server.api.edm.provider.FunctionImport;
+import org.apache.olingo.server.api.edm.provider.Schema;
+import org.apache.olingo.server.api.edm.provider.Singleton;
+
+public class SchemaProvider {
+
+ private EdmTechProvider prov;
+
+ public static final String nameSpace = "com.sap.odata.test1";
+
+ public SchemaProvider(EdmTechProvider prov) {
+ this.prov = prov;
+ }
+
+ public List<Schema> getSchemas() throws ODataException {
+ List<Schema> schemas = new ArrayList<Schema>();
+ Schema schema = new Schema();
+ schema.setNamespace("com.sap.odata.test1");
+ schema.setAlias("Namespace1_Alias");
+ schemas.add(schema);
+ // EnumTypes
+ List<EnumType> enumTypes = new ArrayList<EnumType>();
+ schema.setEnumTypes(enumTypes);
+ enumTypes.add(prov.getEnumType(EnumTypeProvider.nameENString));
+ // EntityTypes
+ List<EntityType> entityTypes = new ArrayList<EntityType>();
+ schema.setEntityTypes(entityTypes);
+
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllPrim));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCollAllPrim));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoPrim));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETMixPrimCollComp));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyTwoPrim));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBase));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBase));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllKey));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompAllPrim));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompCollAllPrim));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompComp));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompCollComp));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETMedia));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETFourKeyAlias));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETServerSidePaging));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllNullable));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyNav));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyNav));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBaseTwoKeyNav));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompMixPrimCollComp));
+ entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyPrimNav));
+
+ // ComplexTypes
+ List<ComplexType> complexType = new ArrayList<ComplexType>();
+ schema.setComplexTypes(complexType);
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrim));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTAllPrim));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCollAllPrim));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoPrim));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTMixPrimCollComp));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTBase));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoBase));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompComp));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompCollComp));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrimComp));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTNavFiveProp));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrimEnum));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTBasePrimCompNav));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoBasePrimCompNav));
+ complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompNav));
+
+ // TypeDefinitions
+
+ // Actions
+ List<Action> actions = new ArrayList<Action>();
+ schema.setActions(actions);
+ actions.addAll(prov.getActions(ActionProvider.nameUARTPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTPrimCollParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCompParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTCompCollParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTETParam));
+ actions.addAll(prov.getActions(ActionProvider.nameUARTETCollAllPrimParam));
+ actions.addAll(prov.getActions(ActionProvider.nameBAETTwoKeyNavRTETTwoKeyNav));
+ actions.addAll(prov.getActions(ActionProvider.nameBAESAllPrimRTETAllPrim));
+ actions.addAll(prov.getActions(ActionProvider.nameBAESTwoKeyNavRTESTwoKeyNav));
+ actions.addAll(prov.getActions(ActionProvider.nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav));
+ actions.addAll(prov.getActions(ActionProvider.nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav));
+
+ // Functions
+ List<Function> functions = new ArrayList<Function>();
+ schema.setFunctions(functions);
+
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTInt16));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParamCTTwoPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTStringTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESTwoKeyNavParam));
+ // TODO: check why it exists twice
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTString));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollStringTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollString));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTAllPrimTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTTwoPrimParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollCTTwoPrimParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTTwoPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollCTTwoPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETMedia));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTESMixPrimCollCompTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETAllPrimTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESMixPrimCollCompTwoParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCStringRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTETTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESBaseTwoKeyNavRTESBaseTwoKey));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESAllPrimRTCTAllPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCTTwoPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollCTTwoPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTString));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollString));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCSINavRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTESBaseTwoKey));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCollStringRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESBaseTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCollCTPrimCompRTESAllPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETKeyNavRTETKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFESTwoKeyNavRTESTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTETTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTCTTwoPrim));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTStringParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNavParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTETTwoKeyNavParam));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBAETTwoKeyNavRTETTwoKeyNav));
+ functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNavParam));
+
+ // EntityContainer
+ EntityContainer container = new EntityContainer();
+ schema.setEntityContainer(container);
+ container.setName(ContainerProvider.nameContainer.getName());
+
+ // EntitySets
+ List<EntitySet> entitySets = new ArrayList<EntitySet>();
+ container.setEntitySets(entitySets);
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCollAllPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMixPrimCollComp"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBase"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBase"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyTwoPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBaseTwoKeyTwoPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBaseTwoKeyTwoPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllKey"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompAllPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompCollAllPrim"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompComp"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompCollComp"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMedia"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyTwoKeyComp"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESInvisible"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESServerSidePaging"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllNullable"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyNav"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyNav"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBaseTwoKeyNav"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompMixPrimCollComp"));
+ entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESFourKeyAlias"));
+
+ // Singletons
+ List<Singleton> singletons = new ArrayList<Singleton>();
+ container.setSingletons(singletons);
+ singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SI"));
+ singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SINav"));
+ singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SIMedia"));
+
+ // ActionImports
+ List<ActionImport> actionImports = new ArrayList<ActionImport>();
+ container.setActionImports(actionImports);
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimParam"));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimCollParam"));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompParam"));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompCollParam"));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETParam"));
+ actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETCollAllPrimParam"));
+
+ // FunctionImports
+ List<FunctionImport> functionImports = new ArrayList<FunctionImport>();
+ container.setFunctionImports(functionImports);
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTInt16"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINInvisibleRTInt16"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINInvisible2RTInt16"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETKeyNav"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETTwoKeyNavParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTStringTwoParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollStringTwoParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTAllPrimTwoParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTESMixPrimCollCompTwoParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTESMixPrimCollCompTwoParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrim"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETMedia"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTTwoPrimParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTTwoPrim"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollString"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTString"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTESTwoKeyNavParam"));
+ functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrimParam"));
+
+ return schemas;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
new file mode 100644
index 0000000..879affd
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.TypeDefinition;
+
+public class TypeDefinitionProvider {
+
+ public TypeDefinition getTypeDefinition(FullQualifiedName typeDefinitionName) {
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriInfoImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriInfoImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriInfoImplTest.java
index 4474e07..a9d516d 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriInfoImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriInfoImplTest.java
@@ -36,8 +36,8 @@ import org.apache.olingo.server.api.uri.UriInfoResource;
import org.apache.olingo.server.api.uri.UriInfoService;
import org.apache.olingo.server.api.uri.queryoption.CustomQueryOption;
import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
-import org.apache.olingo.server.core.testutil.EdmTechProvider;
import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EntityTypeProvider;
import org.apache.olingo.server.core.uri.queryoption.CountOptionImpl;
import org.apache.olingo.server.core.uri.queryoption.CustomQueryOptionImpl;
import org.apache.olingo.server.core.uri.queryoption.ExpandOptionImpl;
@@ -192,7 +192,7 @@ public class UriInfoImplTest {
@Test
public void testEntityTypeCast() {
UriInfoImpl uriInfo = new UriInfoImpl();
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
assertNotNull(entityType);
uriInfo.setEntityTypeCast(entityType);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
index 0eb88e0..6cd6cf3 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
@@ -40,8 +40,10 @@ import org.apache.olingo.server.core.edm.provider.EdmComplexTypeImpl;
import org.apache.olingo.server.core.edm.provider.EdmEntitySetImpl;
import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
import org.apache.olingo.server.core.edm.provider.EdmSingletonImpl;
-import org.apache.olingo.server.core.testutil.EdmTechProvider;
import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
+import org.apache.olingo.server.core.testutil.techprovider.ActionProvider;
+import org.apache.olingo.server.core.testutil.techprovider.ComplexTypeProvider;
+import org.apache.olingo.server.core.testutil.techprovider.EntityTypeProvider;
import org.apache.olingo.server.core.uri.queryoption.expression.ExpressionImpl;
import org.apache.olingo.server.core.uri.queryoption.expression.LiteralImpl;
import org.junit.Test;
@@ -72,10 +74,10 @@ public class UriResourceImplTest {
assertEquals("", impl.toString());
// action
- EdmAction action = edm.getAction(EdmTechProvider.nameUARTETParam, null, null);
+ EdmAction action = edm.getAction(ActionProvider.nameUARTETParam, null, null);
impl.setAction(action);
assertEquals(action, impl.getAction());
- assertEquals(EdmTechProvider.nameUARTETParam.getName(), impl.toString());
+ assertEquals(ActionProvider.nameUARTETParam.getName(), impl.toString());
// action import
impl = new UriResourceActionImpl();
@@ -125,7 +127,7 @@ public class UriResourceImplTest {
UriResourceComplexPropertyImpl impl = new UriResourceComplexPropertyImpl();
assertEquals(UriResourceKind.complexProperty, impl.getKind());
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
EdmProperty property = (EdmProperty) entityType.getProperty("PropertyComplex");
impl.setProperty(property);
@@ -137,7 +139,7 @@ public class UriResourceImplTest {
impl.getComplexType();
EdmComplexTypeImpl complexTypeImplType =
- (EdmComplexTypeImpl) edm.getComplexType(EdmTechProvider.nameCTBasePrimCompNav);
+ (EdmComplexTypeImpl) edm.getComplexType(ComplexTypeProvider.nameCTBasePrimCompNav);
impl.setTypeFilter(complexTypeImplType);
assertEquals(complexTypeImplType, impl.getTypeFilter());
@@ -151,7 +153,7 @@ public class UriResourceImplTest {
UriResourcePrimitivePropertyImpl impl = new UriResourcePrimitivePropertyImpl();
assertEquals(UriResourceKind.primitiveProperty, impl.getKind());
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
EdmProperty property = (EdmProperty) entityType.getProperty("PropertyInt16");
impl.setProperty(property);
@@ -261,9 +263,9 @@ public class UriResourceImplTest {
}
Mock impl = new Mock();
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
- EdmEntityType entityTypeBaseColl = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
- EdmEntityType entityTypeBaseEntry = edm.getEntityType(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
+ EdmEntityType entityTypeBaseColl = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
+ EdmEntityType entityTypeBaseEntry = edm.getEntityType(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
impl.setType(entityType);
assertEquals(entityType, impl.getType());
@@ -339,9 +341,9 @@ public class UriResourceImplTest {
}
Mock impl = new Mock();
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
- EdmEntityType entityTypeBaseColl = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
- edm.getEntityType(EdmTechProvider.nameETTwoBaseTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
+ EdmEntityType entityTypeBaseColl = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
+ edm.getEntityType(EntityTypeProvider.nameETTwoBaseTwoKeyNav);
impl.setType(entityType);
assertEquals("mock", impl.toString());
@@ -361,7 +363,7 @@ public class UriResourceImplTest {
UriResourceItImpl impl = new UriResourceItImpl();
assertEquals(UriResourceKind.it, impl.getKind());
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
assertEquals("$it", impl.toString());
impl.setType(entityType);
@@ -383,7 +385,7 @@ public class UriResourceImplTest {
UriResourceNavigationPropertyImpl impl = new UriResourceNavigationPropertyImpl();
assertEquals(UriResourceKind.navigationProperty, impl.getKind());
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
EdmNavigationProperty property = (EdmNavigationProperty) entityType.getProperty("NavPropertyETKeyNavMany");
assertNotNull(property);
@@ -414,7 +416,7 @@ public class UriResourceImplTest {
UriResourceRootImpl impl = new UriResourceRootImpl();
assertEquals(UriResourceKind.root, impl.getKind());
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
assertEquals("$root", impl.toString());
impl.setType(entityType);
@@ -437,7 +439,7 @@ public class UriResourceImplTest {
assertEquals(UriResourceKind.singleton, impl.getKind());
EdmSingletonImpl singleton = (EdmSingletonImpl) edm.getEntityContainer(null).getSingleton("SINav");
- EdmEntityType entityTypeBaseColl = edm.getEntityType(EdmTechProvider.nameETBaseTwoKeyNav);
+ EdmEntityType entityTypeBaseColl = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
impl.setSingleton(singleton);
assertEquals("SINav", impl.toString());
@@ -466,7 +468,7 @@ public class UriResourceImplTest {
UriResourceLambdaVarImpl impl = new UriResourceLambdaVarImpl();
assertEquals(UriResourceKind.lambdaVariable, impl.getKind());
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
impl.setType(entityType);
impl.setVariableText("A");
@@ -482,7 +484,7 @@ public class UriResourceImplTest {
public void testUriResourceStartingTypeFilterImpl() {
UriResourceStartingTypeFilterImpl impl = new UriResourceStartingTypeFilterImpl();
- EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
+ EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
impl.setType(entityType);
assertEquals("com.sap.odata.test1.ETTwoKeyNav", impl.toString());
[4/9] [OLINGO-168] Refactor Tech Provider
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
index 3672799..f3cc85c 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
@@ -23,11 +23,13 @@ import java.util.List;
import org.apache.olingo.commons.api.ODataException;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
import org.apache.olingo.server.api.edm.provider.ComplexType;
import org.apache.olingo.server.api.edm.provider.EntitySet;
import org.apache.olingo.server.api.edm.provider.EntityType;
import org.apache.olingo.server.api.edm.provider.Property;
import org.apache.olingo.server.api.edm.provider.PropertyRef;
+import org.apache.olingo.server.core.testutil.techprovider.EdmTechProvider;
/**
* Implement the EdmTechProvider and
@@ -37,6 +39,10 @@ import org.apache.olingo.server.api.edm.provider.PropertyRef;
*/
public class EdmTechTestProvider extends EdmTechProvider {
+ private static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName();
+ public static final String nameSpace = "com.sap.odata.test1";
+ public static final FullQualifiedName nameContainer = new FullQualifiedName(nameSpace, "Container");
+
Property propertyAInt16 = new Property().setName("a").setType(nameInt16);
Property propertyBInt16 = new Property().setName("b").setType(nameInt16);
Property propertyCInt16 = new Property().setName("c").setType(nameInt16);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
new file mode 100644
index 0000000..3ddc6d9
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ActionProvider.java
@@ -0,0 +1,179 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.Action;
+import org.apache.olingo.server.api.edm.provider.Parameter;
+import org.apache.olingo.server.api.edm.provider.ReturnType;
+
+public class ActionProvider {
+
+ //Bound Actions
+ public static final FullQualifiedName nameBAESAllPrimRTETAllPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BAESAllPrimRTETAllPrim");
+
+ public static final FullQualifiedName nameBAESTwoKeyNavRTESTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BAESTwoKeyNavRTESTwoKeyNav");
+
+ public static final FullQualifiedName nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BAETBaseTwoKeyNavRTETBaseTwoKeyNav");
+
+ public static final FullQualifiedName nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav");
+
+ public static final FullQualifiedName nameBAETTwoKeyNavRTETTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "BAETTwoKeyNavRTETTwoKeyNav");
+
+
+ //Unbound Actions
+ public static final FullQualifiedName nameUARTCompCollParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTCompCollParam");
+ public static final FullQualifiedName nameUARTCompParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTCompParam");
+ public static final FullQualifiedName nameUARTETCollAllPrimParam =
+ new FullQualifiedName(SchemaProvider.nameSpace, "UARTETCollAllPrimParam");
+
+ public static final FullQualifiedName nameUARTETParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTETParam");
+ public static final FullQualifiedName nameUARTPrimParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTPrimParam");
+ public static final FullQualifiedName nameUARTPrimCollParam = new FullQualifiedName(SchemaProvider.nameSpace, "UARTPrimCollParam");
+
+
+ public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
+ if (actionName.equals(nameUARTPrimParam)) {
+ return Arrays.asList(
+ new Action().setName("UARTPrimParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+
+ .setReturnType(new ReturnType().setType(PropertyProvider.nameString))
+ );
+
+ } else if (actionName.equals(nameUARTPrimCollParam)) {
+ return Arrays.asList(
+ new Action().setName("UARTPrimCollParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true))
+ );
+
+ } else if (actionName.equals(nameUARTCompParam)) {
+ return Arrays.asList(
+ new Action().setName("UARTCompParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim))
+ );
+
+ } else if (actionName.equals(nameUARTCompCollParam)) {
+ return Arrays.asList(
+ new Action().setName("UARTCompCollParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true))
+ );
+
+ } else if (actionName.equals(nameUARTETParam)) {
+ return Arrays.asList(
+ new Action().setName("UARTCompCollParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyTwoPrim))
+ );
+
+ } else if (actionName.equals(nameUARTETCollAllPrimParam)) {
+ return Arrays.asList(
+ new Action().setName("UARTETCollAllPrimParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16)))
+
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETCollAllPrim).setCollection(true))
+ );
+
+ } else if (actionName.equals(nameBAETTwoKeyNavRTETTwoKeyNav)) {
+ return Arrays.asList(
+ new Action().setName("BAETTwoKeyNavRTETTwoKeyNav")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETTwoKeyNav)))
+ .setBound(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ ,
+ new Action().setName("BAETTwoKeyNavRTETTwoKeyNav")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterETKeyNav").setType(EntityTypeProvider.nameETKeyNav)))
+ .setBound(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ );
+
+ } else if (actionName.equals(nameBAESAllPrimRTETAllPrim)) {
+ return Arrays.asList(
+ new Action().setName("BAESAllPrimRTETAllPrim")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterESAllPrim").setType(EntityTypeProvider.nameETAllPrim).setCollection(true)))
+ .setBound(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim))
+ );
+
+ } else if (actionName.equals(nameBAESTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Action().setName("BAESTwoKeyNavRTESTwoKeyNav")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)))
+ .setBound(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true))
+ );
+
+ } else if (actionName.equals(nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav)) {
+ return Arrays.asList(
+ new Action().setName("BAETBaseTwoKeyNavRTETBaseTwoKeyNav")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterETTwoKeyNav").setType(EntityTypeProvider.nameETBaseTwoKeyNav)))
+ .setBound(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav))
+ );
+
+ } else if (actionName.equals(nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav)) {
+ return Arrays.asList(
+ new Action().setName("BAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterETTwoBaseTwoKeyNav").setType(EntityTypeProvider.nameETTwoBaseTwoKeyNav)))
+ .setBound(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav))
+ );
+ }
+
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
new file mode 100644
index 0000000..3eaf86f
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ComplexTypeProvider.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.Arrays;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.ComplexType;
+import org.apache.olingo.server.api.edm.provider.NavigationProperty;
+import org.apache.olingo.server.api.edm.provider.Property;
+
+public class ComplexTypeProvider {
+
+ public static final FullQualifiedName nameCTAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTAllPrim");
+ public static final FullQualifiedName nameCTBase = new FullQualifiedName(SchemaProvider.nameSpace, "CTBase");
+ public static final FullQualifiedName nameCTBasePrimCompNav = new FullQualifiedName(SchemaProvider.nameSpace, "CTBasePrimCompNav");
+ public static final FullQualifiedName nameCTCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTCollAllPrim");
+ public static final FullQualifiedName nameCTCompCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTCompCollComp");
+ public static final FullQualifiedName nameCTCompComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTCompComp");
+ public static final FullQualifiedName nameCTCompNav = new FullQualifiedName(SchemaProvider.nameSpace, "CTCompNav");
+
+ public static final FullQualifiedName nameCTMixPrimCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTMixPrimCollComp");
+ public static final FullQualifiedName nameCTNavFiveProp = new FullQualifiedName(SchemaProvider.nameSpace, "CTNavFiveProp");
+ public static final FullQualifiedName nameCTPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTPrim");
+ public static final FullQualifiedName nameCTPrimComp = new FullQualifiedName(SchemaProvider.nameSpace, "CTPrimComp");
+ public static final FullQualifiedName nameCTPrimEnum = new FullQualifiedName(SchemaProvider.nameSpace, "CTPrimEnum");
+ public static final FullQualifiedName nameCTTwoBase = new FullQualifiedName(SchemaProvider.nameSpace, "CTTwoBase");
+ public static final FullQualifiedName nameCTTwoBasePrimCompNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "CTTwoBasePrimCompNav");
+ public static final FullQualifiedName nameCTTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "CTTwoPrim");
+
+ public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
+
+ if (complexTypeName.equals(nameCTPrim)) {
+ return new ComplexType()
+ .setName("CTPrim")
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16));
+
+ } else if (complexTypeName.equals(nameCTAllPrim)) {
+ return new ComplexType()
+ .setName("CTAllPrim")
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyString, PropertyProvider.propertyBinary,
+ PropertyProvider.propertyBoolean, PropertyProvider.propertyByte, PropertyProvider.propertyDate,
+ PropertyProvider.propertyDateTimeOffset, PropertyProvider.propertyDecimal,
+ PropertyProvider.propertySingle, PropertyProvider.propertyDouble, PropertyProvider.propertyDuration,
+ PropertyProvider.propertyGuid, PropertyProvider.propertyInt16, PropertyProvider.propertyInt32,
+ PropertyProvider.propertyInt64, PropertyProvider.propertySByte, PropertyProvider.propertyTimeOfDay
+ /* TODO add propertyStream */));
+
+ } else if (complexTypeName.equals(nameCTCollAllPrim)) {
+ return new ComplexType()
+ .setName("CTCollAllPrim")
+ .setProperties(
+ Arrays.asList(
+ PropertyProvider.collPropertyString, PropertyProvider.collPropertyBoolean,
+ PropertyProvider.collPropertyByte, PropertyProvider.collPropertySByte,
+ PropertyProvider.collPropertyInt16, PropertyProvider.collPropertyInt32,
+ PropertyProvider.collPropertyInt64, PropertyProvider.collPropertySingle,
+ PropertyProvider.collPropertyDouble, PropertyProvider.collPropertyDecimal,
+ PropertyProvider.collPropertyBinary, PropertyProvider.collPropertyDate,
+ PropertyProvider.collPropertyDateTimeOffset, PropertyProvider.collPropertyDuration,
+ PropertyProvider.collPropertyGuid, PropertyProvider.collPropertyTimeOfDay
+ /* TODO add collectionPropertyStream */));
+
+ } else if (complexTypeName.equals(nameCTTwoPrim)) {
+ return new ComplexType()
+ .setName("CTTwoPrim")
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16, PropertyProvider.propertyString));
+
+ } else if (complexTypeName.equals(nameCTCompNav)) {
+ return new ComplexType()
+ .setName("CTCompNav")
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16, PropertyProvider.propertyComplex_CTNavFiveProp));
+
+ } else if (complexTypeName.equals(nameCTMixPrimCollComp)) {
+ return new ComplexType()
+ .setName("CTMixPrimCollComp")
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyInt16, PropertyProvider.collPropertyString,
+ PropertyProvider.propertyComplex_CTTwoPrim, PropertyProvider.collPropertyComplex_CTTwoPrim));
+
+ } else if (complexTypeName.equals(nameCTBase)) {
+ return new ComplexType()
+ .setName("CTBase")
+ .setBaseType(nameCTTwoPrim)
+ .setProperties(Arrays.asList(
+ new Property()
+ .setName("AdditionalPropString")
+ .setType(new FullQualifiedName("Edm", "String"))));
+
+ } else if (complexTypeName.equals(nameCTTwoBase)) {
+ return new ComplexType()
+ .setName("CTTwoBase")
+ .setBaseType(nameCTBase)
+ .setProperties(Arrays.asList(
+ new Property()
+ .setName("AdditionalPropString")
+ .setType(new FullQualifiedName("Edm", "String"))));
+
+ } else if (complexTypeName.equals(nameCTCompComp)) {
+ return new ComplexType()
+ .setName("CTCompComp")
+ .setProperties(Arrays.asList(PropertyProvider.propertyComplex_CTTwoPrim));
+
+ } else if (complexTypeName.equals(nameCTCompCollComp)) {
+ return new ComplexType()
+ .setName("CTCompComp")
+ .setProperties(Arrays.asList(PropertyProvider.collPropertyComplex_CTTwoPrim));
+
+ } else if (complexTypeName.equals(nameCTPrimComp)) {
+ return new ComplexType()
+ .setName("CTPrimComp")
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16, PropertyProvider.propertyComplex_CTAllPrim));
+
+ } else if (complexTypeName.equals(nameCTNavFiveProp)) {
+ return new ComplexType()
+ .setName("CTNavFiveProp")
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16))
+ .setNavigationProperties((Arrays.asList(
+ PropertyProvider.collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav,
+ PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
+ new NavigationProperty()
+ .setName("NavPropertyETMediaOne")
+ .setType(EntityTypeProvider.nameETMedia),
+ new NavigationProperty()
+ .setName("NavPropertyETMediaMany")
+ .setType(EntityTypeProvider.nameETMedia).setCollection(true)
+ )));
+
+ } else if (complexTypeName.equals(nameCTBasePrimCompNav)) {
+ return new ComplexType()
+ .setName("CTBasePrimCompNav")
+ .setBaseType(nameCTPrimComp)
+ .setNavigationProperties(Arrays.asList(
+ PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
+ PropertyProvider.collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav));
+
+ } else if (complexTypeName.equals(nameCTPrimEnum)) {
+ return new ComplexType()
+ .setName("CTPrimEnum")
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16, PropertyProvider.propertyEnumString_ENString));
+
+ } else if (complexTypeName.equals(nameCTTwoBasePrimCompNav)) {
+ return new ComplexType()
+ .setName("CTTwoBasePrimCompNav")
+ .setBaseType(nameCTBasePrimCompNav);
+
+ }
+
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
new file mode 100644
index 0000000..62b11e2
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/ContainerProvider.java
@@ -0,0 +1,361 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.Arrays;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.Target;
+import org.apache.olingo.server.api.edm.provider.ActionImport;
+import org.apache.olingo.server.api.edm.provider.EntityContainer;
+import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.server.api.edm.provider.EntitySet;
+import org.apache.olingo.server.api.edm.provider.FunctionImport;
+import org.apache.olingo.server.api.edm.provider.NavigationPropertyBinding;
+import org.apache.olingo.server.api.edm.provider.Singleton;
+
+public class ContainerProvider {
+
+ public static final FullQualifiedName nameContainer = new FullQualifiedName(SchemaProvider.nameSpace, "Container");
+
+ EntityContainerInfo entityContainerInfoTest1 =
+ new EntityContainerInfo().setContainerName(nameContainer);
+
+ public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
+ if (entityContainerName == null) {
+ return entityContainerInfoTest1;
+ } else if (entityContainerName.equals(nameContainer)) {
+ return entityContainerInfoTest1;
+ }
+
+ return null;
+ }
+
+ public EntityContainer getEntityContainer() throws ODataException {
+ return null;
+ }
+
+ public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String name) throws ODataException {
+ if (entityContainer == nameContainer) {
+ if (name.equals("ESAllPrim")) {
+ return new EntitySet()
+ .setName("ESAllPrim")
+ .setType(EntityTypeProvider.nameETAllPrim);
+
+ } else if (name.equals("ESCollAllPrim")) {
+ return new EntitySet()
+ .setName("ESCollAllPrim")
+ .setType(EntityTypeProvider.nameETCollAllPrim);
+
+ } else if (name.equals("ESTwoPrim")) {
+ return new EntitySet()
+ .setName("ESTwoPrim")
+ .setType(EntityTypeProvider.nameETTwoPrim);
+
+ } else if (name.equals("ESMixPrimCollComp")) {
+ return new EntitySet()
+ .setName("ESMixPrimCollComp")
+ .setType(EntityTypeProvider.nameETMixPrimCollComp);
+
+ } else if (name.equals("ESBase")) {
+ return new EntitySet()
+ .setName("ESBase")
+ .setType(EntityTypeProvider.nameETBase);
+
+ } else if (name.equals("ESTwoBase")) {
+ return new EntitySet()
+ .setName("ESTwoBase")
+ .setType(EntityTypeProvider.nameETTwoBase);
+
+ } else if (name.equals("ESTwoKeyTwoPrim")) {
+ return new EntitySet()
+ .setName("ESTwoKeyTwoPrim")
+ .setType(EntityTypeProvider.nameETTwoKeyTwoPrim);
+
+ } else if (name.equals("ESBaseTwoKeyTwoPrim")) {
+ return new EntitySet()
+ .setName("ESBaseTwoKeyTwoPrim")
+ .setType(EntityTypeProvider.nameETBaseTwoKeyTwoPrim);
+
+ } else if (name.equals("ESTwoBaseTwoKeyTwoPrim")) {
+ return new EntitySet()
+ .setName("ESTwoBaseTwoKeyTwoPrim")
+ .setType(EntityTypeProvider.nameETTwoBaseTwoKeyTwoPrim);
+
+ } else if (name.equals("ESAllKey")) {
+ return new EntitySet()
+ .setName("ESAllKey")
+ .setType(EntityTypeProvider.nameETAllKey);
+
+ } else if (name.equals("ESCompAllPrim")) {
+ return new EntitySet()
+ .setName("ESCompAllPrim")
+ .setType(EntityTypeProvider.nameETCompAllPrim);
+
+ } else if (name.equals("ESCompCollAllPrim")) {
+ return new EntitySet()
+ .setName("ESCompCollAllPrim")
+ .setType(EntityTypeProvider.nameETCompCollAllPrim);
+
+ } else if (name.equals("ESCompComp")) {
+ return new EntitySet()
+ .setName("ESCompComp")
+ .setType(EntityTypeProvider.nameETCompComp);
+
+ } else if (name.equals("ESCompCollComp")) {
+ return new EntitySet()
+ .setName("ESCompCollComp")
+ .setType(EntityTypeProvider.nameETCompCollComp);
+
+ } else if (name.equals("ESMedia")) {
+ return new EntitySet()
+ .setName("ESMedia")
+ .setType(EntityTypeProvider.nameETMedia)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("ESKeyTwoKeyComp")) {
+ return new EntitySet()
+ .setName("ESKeyTwoKeyComp")
+ .setType(EntityTypeProvider.nameETKeyTwoKeyComp);
+
+ } else if (name.equals("ESInvisible")) {
+ return new EntitySet()
+ .setName("ESInvisible")
+ .setType(EntityTypeProvider.nameETAllPrim);
+
+ } else if (name.equals("ESServerSidePaging")) {
+ return new EntitySet()
+ .setName("ESServerSidePaging")
+ .setType(EntityTypeProvider.nameETServerSidePaging);
+
+ } else if (name.equals("ESAllNullable")) {
+ return new EntitySet()
+ .setName("ESAllNullable")
+ .setType(EntityTypeProvider.nameETAllNullable);
+
+ } else if (name.equals("ESKeyNav")) {
+ return new EntitySet()
+ .setName("ESKeyNav")
+ .setType(EntityTypeProvider.nameETKeyNav);
+
+ } else if (name.equals("ESTwoKeyNav")) {
+ return new EntitySet()
+ .setName("ESTwoKeyNav")
+ .setType(EntityTypeProvider.nameETTwoKeyNav);
+
+ } else if (name.equals("ESBaseTwoKeyNav")) {
+ return new EntitySet()
+ .setName("ESBaseTwoKeyNav")
+ .setType(EntityTypeProvider.nameETBaseTwoKeyNav);
+
+ } else if (name.equals("ESCompMixPrimCollComp")) {
+ return new EntitySet()
+ .setName("ESCompMixPrimCollComp")
+ .setType(EntityTypeProvider.nameETCompMixPrimCollComp);
+
+ } else if (name.equals("ESFourKeyAlias")) {
+ return new EntitySet()
+ .setName("ESFourKeyAlias")
+ .setType(EntityTypeProvider.nameETFourKeyAlias);
+ }
+ }
+
+ return null;
+ }
+
+ public ActionImport getActionImport(final FullQualifiedName entityContainer, final String name) throws ODataException
+ {
+ if (entityContainer.equals(nameContainer)) {
+ if (name.equals("AIRTPrimParam")) {
+ return new ActionImport()
+ .setName("AIRTPrimParam")
+ .setAction(ActionProvider.nameUARTPrimParam);
+
+ } else if (name.equals("AIRTPrimCollParam")) {
+ return new ActionImport()
+ .setName("AIRTPrimCollParam")
+ .setAction(ActionProvider.nameUARTPrimCollParam);
+
+ } else if (name.equals("AIRTCompParam")) {
+ return new ActionImport()
+ .setName("AIRTCompParam")
+ .setAction(ActionProvider.nameUARTCompParam);
+
+ } else if (name.equals("AIRTCompCollParam")) {
+ return new ActionImport()
+ .setName("AIRTCompCollParam")
+ .setAction(ActionProvider.nameUARTCompCollParam);
+
+ } else if (name.equals("AIRTETParam")) {
+ return new ActionImport()
+ .setName("AIRTETParam")
+ .setAction(ActionProvider.nameUARTETParam);
+
+ } else if (name.equals("AIRTETCollAllPrimParam")) {
+ return new ActionImport()
+ .setName("AIRTETCollAllPrimParam")
+ .setAction(ActionProvider.nameUARTETCollAllPrimParam);
+ }
+ }
+
+ return null;
+ }
+
+ public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String name)
+ throws ODataException {
+
+ if (entityContainer.equals(nameContainer)) {
+ if (name.equals("FINRTInt16")) {
+ return new FunctionImport()
+ .setName("FINRTInt16")
+ .setFunction(FunctionProvider.nameUFNRTInt16)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FINInvisibleRTInt16")) {
+ return new FunctionImport()
+ .setName("FINInvisibleRTInt16")
+ .setFunction(FunctionProvider.nameUFNRTInt16);
+
+ } else if (name.equals("FINInvisible2RTInt16")) {
+ return new FunctionImport()
+ .setName("FINInvisible2RTInt16")
+ .setFunction(FunctionProvider.nameUFNRTInt16);
+
+ } else if (name.equals("FICRTETKeyNav")) {
+ return new FunctionImport()
+ .setName("FICRTETKeyNav")
+ .setFunction(FunctionProvider.nameUFCRTETKeyNav);
+
+ } else if (name.equals("FICRTETTwoKeyNavParam")) {
+ return new FunctionImport()
+ .setName("FICRTETTwoKeyNavParam")
+ .setFunction(FunctionProvider.nameUFCRTETTwoKeyNavParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTStringTwoParam")) {
+ return new FunctionImport()
+ .setName("FICRTStringTwoParam")
+ .setFunction(FunctionProvider.nameUFCRTStringTwoParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCollStringTwoParam")) {
+ return new FunctionImport()
+ .setName("FICRTCollStringTwoParam")
+ .setFunction(FunctionProvider.nameUFCRTCollStringTwoParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCTAllPrimTwoParam")) {
+ return new FunctionImport()
+ .setName("FICRTCTAllPrimTwoParam")
+ .setFunction(FunctionProvider.nameUFCRTCTAllPrimTwoParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTESMixPrimCollCompTwoParam")) {
+ return new FunctionImport()
+ .setName("FICRTESMixPrimCollCompTwoParam")
+ .setFunction(FunctionProvider.nameUFCRTESMixPrimCollCompTwoParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FINRTESMixPrimCollCompTwoParam")) {
+ return new FunctionImport()
+ .setName("FINRTESMixPrimCollCompTwoParam")
+ .setFunction(FunctionProvider.nameUFNRTESMixPrimCollCompTwoParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCollCTTwoPrim")) {
+ return new FunctionImport()
+ .setName("FICRTCollCTTwoPrim")
+ .setFunction(FunctionProvider.nameUFCRTCollCTTwoPrim)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTETMedia")) {
+ return new FunctionImport()
+ .setName("FICRTETMedia")
+ .setFunction(FunctionProvider.nameUFCRTETMedia)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCTTwoPrimParam")) {
+ return new FunctionImport()
+ .setName("FICRTCTTwoPrimParam")
+ .setFunction(FunctionProvider.nameUFCRTCTTwoPrimParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCTTwoPrim")) {
+ return new FunctionImport()
+ .setName("FICRTCTTwoPrim")
+ .setFunction(FunctionProvider.nameUFCRTCTTwoPrim)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCollString")) {
+ return new FunctionImport()
+ .setName("FICRTCollString")
+ .setFunction(FunctionProvider.nameUFCRTCollString)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTString")) {
+ return new FunctionImport()
+ .setName("FICRTString")
+ .setFunction(FunctionProvider.nameUFCRTString)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTESTwoKeyNavParam")) {
+ return new FunctionImport()
+ .setName("FICRTESTwoKeyNavParam")
+ .setFunction(FunctionProvider.nameUFCRTESTwoKeyNavParam)
+ .setIncludeInServiceDocument(true);
+
+ } else if (name.equals("FICRTCollCTTwoPrimParam")) {
+ return new FunctionImport()
+ .setName("FICRTCollCTTwoPrimParam")
+ .setFunction(FunctionProvider.nameUFCRTCollCTTwoPrimParam)
+ .setIncludeInServiceDocument(true);
+
+ }
+ }
+
+ return null;
+ }
+
+ public Singleton getSingleton(final FullQualifiedName entityContainer, final String name) throws ODataException {
+ if (entityContainer.equals(nameContainer)) {
+
+ if (name.equals("SI")) {
+ return new Singleton()
+ .setName("SI")
+ .setType(EntityTypeProvider.nameETTwoPrim);
+
+ } else if (name.equals("SINav")) {
+ return new Singleton()
+ .setName("SINav")
+ .setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setNavigationPropertyBindings(Arrays.asList(
+ new NavigationPropertyBinding()
+ .setPath("NavPropertyETTwoKeyNavMany")
+ .setTarget(new Target().setTargetName("ESTwoKeyNav"))));
+
+ } else if (name.equals("SIMedia")) {
+ return new Singleton()
+ .setName("SIMedia")
+ .setType(EntityTypeProvider.nameETMedia);
+ }
+ }
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
new file mode 100644
index 0000000..45a35c8
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EdmTechProvider.java
@@ -0,0 +1,135 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.Action;
+import org.apache.olingo.server.api.edm.provider.ActionImport;
+import org.apache.olingo.server.api.edm.provider.AliasInfo;
+import org.apache.olingo.server.api.edm.provider.ComplexType;
+import org.apache.olingo.server.api.edm.provider.EdmProvider;
+import org.apache.olingo.server.api.edm.provider.EntityContainer;
+import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.server.api.edm.provider.EntitySet;
+import org.apache.olingo.server.api.edm.provider.EntityType;
+import org.apache.olingo.server.api.edm.provider.EnumType;
+import org.apache.olingo.server.api.edm.provider.Function;
+import org.apache.olingo.server.api.edm.provider.FunctionImport;
+import org.apache.olingo.server.api.edm.provider.Schema;
+import org.apache.olingo.server.api.edm.provider.Singleton;
+import org.apache.olingo.server.api.edm.provider.Term;
+import org.apache.olingo.server.api.edm.provider.TypeDefinition;
+
+public class EdmTechProvider extends EdmProvider {
+
+ public static final String nameSpace = "com.sap.odata.test1";
+
+ private final SchemaProvider schemaProvider;
+ private final EntityTypeProvider entityTypeProvider;
+ private final ContainerProvider containerProvider;
+ private final ComplexTypeProvider complexTypeProvider;
+ private final EnumTypeProvider enumTypeProvider;
+ private final ActionProvider actionProvider;
+ private final FunctionProvider functionProvider;
+ private final TypeDefinitionProvider typeDefinitionProvider;
+
+ public EdmTechProvider() {
+ containerProvider = new ContainerProvider();
+ entityTypeProvider = new EntityTypeProvider();
+ complexTypeProvider = new ComplexTypeProvider();
+ enumTypeProvider = new EnumTypeProvider();
+ actionProvider = new ActionProvider();
+ functionProvider = new FunctionProvider();
+ typeDefinitionProvider = new TypeDefinitionProvider();
+ schemaProvider = new SchemaProvider(this);
+ }
+
+ @Override
+ public List<AliasInfo> getAliasInfos() throws ODataException {
+ return Arrays.asList(
+ new AliasInfo().setAlias("Namespace1_Alias").setNamespace(nameSpace)
+ );
+ }
+
+ public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+ return enumTypeProvider.getEnumType(enumTypeName);
+ }
+
+ public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
+ return typeDefinitionProvider.getTypeDefinition(typeDefinitionName);
+ }
+
+ public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
+ return entityTypeProvider.getEntityType(entityTypeName);
+ }
+
+ public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
+ return complexTypeProvider.getComplexType(complexTypeName);
+ }
+
+ public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
+ return actionProvider.getActions(actionName);
+ }
+
+ public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
+ return functionProvider.getFunctions(functionName);
+ }
+
+ public Term getTerm(final FullQualifiedName termName) throws ODataException {
+ return null;
+ }
+
+ public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
+ throws ODataException {
+ return containerProvider.getEntitySet(entityContainer, entitySetName);
+ }
+
+ public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
+ throws ODataException {
+ return containerProvider.getSingleton(entityContainer, singletonName);
+ }
+
+ public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
+ throws ODataException {
+ return containerProvider.getActionImport(entityContainer, actionImportName);
+ }
+
+ public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
+ throws ODataException {
+ return containerProvider.getFunctionImport(entityContainer, functionImportName);
+ }
+
+ public List<Schema> getSchemas() throws ODataException {
+ return schemaProvider.getSchemas();
+ }
+
+ @Override
+ public EntityContainer getEntityContainer() throws ODataException {
+ return containerProvider.getEntityContainer();
+ }
+
+ @Override
+ public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
+ return containerProvider.getEntityContainerInfo(entityContainerName);
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
new file mode 100644
index 0000000..fd93d5d
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
@@ -0,0 +1,395 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.Arrays;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.EntityType;
+import org.apache.olingo.server.api.edm.provider.NavigationProperty;
+import org.apache.olingo.server.api.edm.provider.Property;
+import org.apache.olingo.server.api.edm.provider.PropertyRef;
+import org.apache.olingo.server.api.edm.provider.ReferentialConstraint;
+
+public class EntityTypeProvider {
+
+ public static final FullQualifiedName nameETAllKey = new FullQualifiedName(SchemaProvider.nameSpace, "ETAllKey");
+ public static final FullQualifiedName nameETAllNullable = new FullQualifiedName(SchemaProvider.nameSpace, "ETAllNullable");
+ public static final FullQualifiedName nameETAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETAllPrim");
+ public static final FullQualifiedName nameETBase = new FullQualifiedName(SchemaProvider.nameSpace, "ETBase");
+ public static final FullQualifiedName nameETBaseTwoKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETBaseTwoKeyNav");
+ public static final FullQualifiedName nameETBaseTwoKeyTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "ETBaseTwoKeyTwoPrim");
+ public static final FullQualifiedName nameETCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETCollAllPrim");
+ public static final FullQualifiedName nameETCompAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompAllPrim");
+ public static final FullQualifiedName nameETCompCollAllPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompCollAllPrim");
+ public static final FullQualifiedName nameETCompCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompCollComp");
+ public static final FullQualifiedName nameETCompComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETCompComp");
+ public static final FullQualifiedName nameETCompMixPrimCollComp =
+ new FullQualifiedName(SchemaProvider.nameSpace, "ETCompMixPrimCollComp");
+ public static final FullQualifiedName nameETFourKeyAlias = new FullQualifiedName(SchemaProvider.nameSpace, "ETFourKeyAlias");
+ public static final FullQualifiedName nameETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETKeyNav");
+ public static final FullQualifiedName nameETKeyPrimNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETKeyPrimNav");
+ public static final FullQualifiedName nameETKeyTwoKeyComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETKeyTwoKeyComp");
+ public static final FullQualifiedName nameETMedia = new FullQualifiedName(SchemaProvider.nameSpace, "ETMedia");
+ public static final FullQualifiedName nameETMixPrimCollComp = new FullQualifiedName(SchemaProvider.nameSpace, "ETMixPrimCollComp");
+ public static final FullQualifiedName nameETServerSidePaging =
+ new FullQualifiedName(SchemaProvider.nameSpace, "ETServerSidePaging");
+ public static final FullQualifiedName nameETTwoBase = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoBase");
+ public static final FullQualifiedName nameETTwoBaseTwoKeyNav =
+ new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoBaseTwoKeyNav");
+ public static final FullQualifiedName nameETTwoBaseTwoKeyTwoPrim =
+ new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoBaseTwoKeyTwoPrim");
+ public static final FullQualifiedName nameETTwoKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoKeyNav");
+ public static final FullQualifiedName nameETTwoKeyTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoKeyTwoPrim");
+ public static final FullQualifiedName nameETTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, "ETTwoPrim");
+
+ public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
+ if (entityTypeName.equals(nameETAllPrim)) {
+ return new EntityType()
+ .setName("ETAllPrim")
+ .setKey(Arrays.asList(
+ new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString,
+ PropertyProvider.propertyBoolean, PropertyProvider.propertyByte, PropertyProvider.propertySByte,
+ PropertyProvider.propertyInt32, PropertyProvider.propertyInt64,
+ PropertyProvider.propertySingle, PropertyProvider.propertyDouble, PropertyProvider.propertyDecimal,
+ PropertyProvider.propertyBinary, PropertyProvider.propertyDate, PropertyProvider.propertyDateTimeOffset,
+ PropertyProvider.propertyDuration, PropertyProvider.propertyGuid, PropertyProvider.propertyTimeOfDay
+ /* TODO add propertyStream */));
+
+ } else if (entityTypeName.equals(nameETCollAllPrim)) {
+ return new EntityType()
+ .setName("ETCollAllPrim")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+
+ .setProperties(
+ Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.collPropertyString,
+ PropertyProvider.collPropertyBoolean, PropertyProvider.collPropertyByte,
+ PropertyProvider.collPropertySByte, PropertyProvider.collPropertyInt16,
+ PropertyProvider.collPropertyInt32, PropertyProvider.collPropertyInt64,
+ PropertyProvider.collPropertySingle, PropertyProvider.collPropertyDouble,
+ PropertyProvider.collPropertyDecimal, PropertyProvider.collPropertyBinary,
+ PropertyProvider.collPropertyDate, PropertyProvider.collPropertyDateTimeOffset,
+ PropertyProvider.collPropertyDuration, PropertyProvider.collPropertyGuid,
+ PropertyProvider.collPropertyTimeOfDay /* TODO add propertyStream */));
+
+ } else if (entityTypeName.equals(nameETTwoPrim)) {
+ return new EntityType()
+ .setName("ETTwoPrim")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString));
+
+ } else if (entityTypeName.equals(nameETMixPrimCollComp)) {
+ return new EntityType()
+ .setName("ETMixPrimCollComp")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.collPropertyString,
+ PropertyProvider.propertyComplex_CTTwoPrim, PropertyProvider.collPropertyComplex_CTTwoPrim));
+
+ } else if (entityTypeName.equals(nameETTwoKeyTwoPrim)) {
+ return new EntityType()
+ .setName("ETTwoKeyTwoPrim")
+ .setKey(Arrays.asList(
+ new PropertyRef().setPropertyName("PropertyInt16"),
+ new PropertyRef().setPropertyName("PropertyString")))
+ .setProperties(Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString));
+
+ } else if (entityTypeName.equals(nameETBaseTwoKeyTwoPrim)) {
+ return new EntityType()
+ .setName("ETBaseTwoKeyTwoPrim")
+ .setBaseType(nameETTwoKeyTwoPrim);
+
+ } else if (entityTypeName.equals(nameETTwoBaseTwoKeyTwoPrim)) {
+ return new EntityType()
+ .setName("ETTwoBaseTwoKeyTwoPrim")
+ .setBaseType(nameETTwoKeyTwoPrim);
+
+ } else if (entityTypeName.equals(nameETBase)) {
+ return new EntityType()
+ .setName("ETBase")
+ .setBaseType(nameETTwoPrim)
+ .setProperties(Arrays.asList(new Property()
+ .setName("AdditionalPropertyString_5")
+ .setType(PropertyProvider.nameString)));
+
+ } else if (entityTypeName.equals(nameETTwoBase)) {
+ return new EntityType()
+ .setName("ETTwoBase")
+ .setBaseType(nameETBase)
+ .setProperties(Arrays.asList(new Property()
+ .setName("AdditionalPropertyString_6")
+ .setType(PropertyProvider.nameString))
+ );
+
+ } else if (entityTypeName.equals(nameETAllKey)) {
+ return new EntityType()
+ .setName("ETAllKey")
+ .setKey(Arrays.asList(
+ new PropertyRef().setPropertyName("PropertyString"),
+ new PropertyRef().setPropertyName("PropertyBoolean"),
+ new PropertyRef().setPropertyName("PropertyByte"),
+ new PropertyRef().setPropertyName("PropertySByte"),
+ new PropertyRef().setPropertyName("PropertyInt16"),
+ new PropertyRef().setPropertyName("PropertyInt32"),
+ new PropertyRef().setPropertyName("PropertyInt64"),
+ new PropertyRef().setPropertyName("PropertyDecimal"),
+ new PropertyRef().setPropertyName("PropertyDate"),
+ new PropertyRef().setPropertyName("PropertyDateTimeOffset"),
+ new PropertyRef().setPropertyName("PropertyDuration"),
+ new PropertyRef().setPropertyName("PropertyGuid"),
+ new PropertyRef().setPropertyName("PropertyTimeOfDay")))
+ .setProperties(
+ Arrays.asList(
+ PropertyProvider.propertyString, PropertyProvider.propertyBoolean,
+ PropertyProvider.propertyByte, PropertyProvider.propertySByte,
+ PropertyProvider.propertyInt16, PropertyProvider.propertyInt32, PropertyProvider.propertyInt64,
+ PropertyProvider.propertyDecimal, PropertyProvider.propertyDate,
+ PropertyProvider.propertySingle, PropertyProvider.propertyDouble,
+ PropertyProvider.propertyDateTimeOffset,
+ PropertyProvider.propertyDuration, PropertyProvider.propertyGuid,
+ PropertyProvider.propertyTimeOfDay /* TODO add propertyStream */));
+
+ } else if (entityTypeName.equals(nameETCompAllPrim)) {
+ return new EntityType()
+ .setName("ETCompAllPrim")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyComplex_CTAllPrim));
+
+ } else if (entityTypeName.equals(nameETCompCollAllPrim)) {
+ return new EntityType()
+ .setName("ETCompAllPrim")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable,
+ PropertyProvider.propertyComplex_CTCollAllPrim));
+
+ } else if (entityTypeName.equals(nameETCompComp)) {
+ return new EntityType()
+ .setName("ETCompComp")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyComplex_CTCompComp));
+
+ } else if (entityTypeName.equals(nameETCompCollComp)) {
+ return new EntityType()
+ .setName("ETCompCollComp")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(
+ Arrays
+ .asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyComplex_CTCompCollComp));
+
+ } else if (entityTypeName.equals(nameETMedia)) {
+ return new EntityType()
+ .setName("ETCompCollComp")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16_NotNullable))
+ .setHasStream(true);
+
+ } else if (entityTypeName.equals(nameETKeyTwoKeyComp)) {
+ return new EntityType()
+ .setName("ETKeyTwoKeyComp")
+ .setKey(Arrays.asList(
+ new PropertyRef()
+ .setPropertyName("PropertyInt16"),
+ new PropertyRef()
+ .setPropertyName("PropertyComplex/PropertyInt16")
+ .setAlias("KeyAlias1"),
+ new PropertyRef()
+ .setPropertyName("PropertyComplex/PropertyString")
+ .setAlias("KeyAlias2"),
+ new PropertyRef()
+ .setPropertyName("PropertyComplexComplex/PropertyComplex/PropertyString")
+ .setAlias("KeyAlias3")))
+ .setProperties(
+ Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyComplex_CTTwoPrim,
+ PropertyProvider.propertyComplexComplex_CTCompComp));
+
+ } else if (entityTypeName.equals(nameETServerSidePaging)) {
+ return new EntityType()
+ .setName("ETKeyTwoKeyComp")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString));
+
+ } else if (entityTypeName.equals(nameETAllNullable)) {
+ return new EntityType()
+ .setName("ETAllNullable")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyKey")))
+ .setProperties(
+ Arrays.asList(
+ new Property()
+ .setName("PropertyKey").setType(PropertyProvider.nameInt16),
+ PropertyProvider.propertyInt16,
+ PropertyProvider.propertyString, PropertyProvider.propertyBoolean,
+ PropertyProvider.propertyByte, PropertyProvider.propertySByte,
+ PropertyProvider.propertyInt32, PropertyProvider.propertyInt64,
+ PropertyProvider.propertySingle, PropertyProvider.propertyDouble,
+ PropertyProvider.propertyDecimal, PropertyProvider.propertyBinary, PropertyProvider.propertyDate,
+ PropertyProvider.propertyDateTimeOffset,
+ PropertyProvider.propertyDuration, PropertyProvider.propertyGuid,
+ PropertyProvider.propertyTimeOfDay /* TODO add propertyStream */,
+ PropertyProvider.collPropertyString, PropertyProvider.collPropertyBoolean,
+ PropertyProvider.collPropertyByte, PropertyProvider.collPropertySByte,
+ PropertyProvider.collPropertyInt16,
+ PropertyProvider.collPropertyInt32, PropertyProvider.collPropertyInt64,
+ PropertyProvider.collPropertySingle, PropertyProvider.collPropertyDouble,
+ PropertyProvider.collPropertyDecimal, PropertyProvider.collPropertyBinary,
+ PropertyProvider.collPropertyDate,
+ PropertyProvider.collPropertyDateTimeOffset,
+ PropertyProvider.collPropertyDuration, PropertyProvider.collPropertyGuid,
+ PropertyProvider.collPropertyTimeOfDay /* TODO add propertyStream */));
+
+ } else if (entityTypeName.equals(nameETKeyNav)) {
+ return new EntityType()
+ .setName("ETKeyNav")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(
+ Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_NotNullable,
+ PropertyProvider.propertyComplex_CTNavFiveProp,
+ PropertyProvider.propertyComplexAllPrim_CTAllPrim, PropertyProvider.propertyComplexTwoPrim_CTTwoPrim,
+ PropertyProvider.collPropertyString, PropertyProvider.collPropertyInt16,
+ PropertyProvider.collPropertyComplex_CTPrimComp,
+ new Property()
+ .setName("PropertyComplexComplex").setType(ComplexTypeProvider.nameCTCompNav)
+ ))
+ .setNavigationProperties(
+ Arrays.asList(
+ PropertyProvider.navPropertyETTwoKeyNavOne_ETTwoKeyNav,
+ PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
+ PropertyProvider.navPropertyETKeyNavOne_ETKeyNav,
+ PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav,
+ PropertyProvider.navPropertyETMediaOne_ETMedia,
+ PropertyProvider.collectionNavPropertyETMediaMany_ETMedia
+ ));
+ } else if (entityTypeName.equals(nameETKeyPrimNav)) {
+ return new EntityType()
+ .setName("ETKeyNav")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_NotNullable))
+ .setNavigationProperties(
+ Arrays.asList(
+ PropertyProvider.navPropertyETTwoKeyNavOne_ETTwoKeyNav,
+ PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
+ PropertyProvider.navPropertyETKeyNavOne_ETKeyNav,
+ PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav,
+ PropertyProvider.navPropertyETMediaOne_ETMedia,
+ PropertyProvider.collectionNavPropertyETMediaMany_ETMedia
+ ));
+
+ } else if (entityTypeName.equals(nameETTwoKeyNav)) {
+ return new EntityType()
+ .setName("ETTwoKeyNav")
+ .setKey(Arrays.asList(
+ new PropertyRef().setPropertyName("PropertyInt16"),
+ new PropertyRef().setPropertyName("PropertyString")))
+ .setProperties(
+ Arrays.asList(
+ PropertyProvider.propertyInt16, PropertyProvider.propertyString,
+ PropertyProvider.propertyComplex_CTPrimComp_NotNullable,
+ new Property().setName("PropertyComplexNav").setType(ComplexTypeProvider.nameCTBasePrimCompNav),
+ PropertyProvider.propertyComplexEnum_CTPrimEnum_NotNullable,
+ PropertyProvider.collPropertyComplex_CTPrimComp,
+ new Property().setName("CollPropertyComplexNav").setType(ComplexTypeProvider.nameCTNavFiveProp)
+ .setCollection(true),
+ PropertyProvider.collPropertyString, PropertyProvider.propertyComplexTwoPrim_CTTwoPrim,
+ PropertyProvider.propertyEnumString_ENString
+ ))
+ .setNavigationProperties(Arrays.asList(
+ new NavigationProperty()
+ .setName("NavPropertyETKeyNavOne")
+ .setType(nameETKeyNav)
+ .setReferentialConstraints(Arrays.asList(
+ new ReferentialConstraint()
+ .setProperty("PropertyInt16")
+ .setReferencedProperty("PropertyInt16"))),
+ PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav,
+ PropertyProvider.navPropertyETTwoKeyNavOne_ETTwoKeyNav,
+ PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav));
+
+ } else if (entityTypeName.equals(nameETBaseTwoKeyNav)) {
+ return new EntityType()
+ .setName("ETBaseTwoKeyNav")
+ .setBaseType(nameETTwoKeyNav)
+ .setProperties(Arrays.asList(PropertyProvider.propertyDate))
+ .setNavigationProperties(Arrays.asList(
+ new NavigationProperty()
+ .setName("NavPropertyETBaseTwoKeyNav")
+ .setType(nameETBaseTwoKeyNav),
+ new NavigationProperty()
+ .setName("NavPropertyETTwoBaseTwoKeyNav")
+ .setType(nameETTwoBaseTwoKeyNav)))
+ .setHasStream(true);
+
+ } else if (entityTypeName.equals(nameETTwoBaseTwoKeyNav)) {
+ return new EntityType()
+ .setName("ETTwoBaseTwoKeyNav")
+ .setBaseType(nameETBaseTwoKeyNav)
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(PropertyProvider.propertyGuid))
+ .setNavigationProperties(Arrays.asList(
+ new NavigationProperty()
+ .setName("NavPropertyETBaseTwoKeyNavOne")
+ .setType(nameETBaseTwoKeyNav),
+ new NavigationProperty()
+ .setName("NavPropertyETBaseTwoKeyNavMany")
+ .setType(nameETBaseTwoKeyNav)
+ .setCollection(true)
+ ));
+
+ } else if (entityTypeName.equals(nameETFourKeyAlias)) {
+ return new EntityType()
+ .setName("ETFourKeyAlias")
+ .setKey(Arrays.asList(
+ new PropertyRef()
+ .setPropertyName("PropertyInt16"),
+ new PropertyRef()
+ .setPropertyName("PropertyComplex/PropertyInt16").setAlias("KeyAlias1"),
+ new PropertyRef()
+ .setPropertyName("PropertyComplex/PropertyString").setAlias("KeyAlias2"),
+ new PropertyRef()
+ .setPropertyName("PropertyComplexComplex/PropertyComplex/PropertyString")
+ .setAlias("KeyAlias3")))
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyGuid, PropertyProvider.propertyComplex_CTTwoPrim,
+ PropertyProvider.propertyComplexComplex_CTCompComp));
+ } else if (entityTypeName.equals(nameETCompMixPrimCollComp)) {
+ return new EntityType()
+ .setName("ETCompMixPrimCollComp")
+ .setKey(Arrays.asList(
+ new PropertyRef()
+ .setPropertyName("PropertyInt16")))
+ .setProperties(
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable,
+ PropertyProvider.propertyMixedPrimCollComp_CTMixPrimCollComp));
+ }
+
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
new file mode 100644
index 0000000..0640a99
--- /dev/null
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.testutil.techprovider;
+
+import java.util.Arrays;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.server.api.edm.provider.EnumMember;
+import org.apache.olingo.server.api.edm.provider.EnumType;
+
+public class EnumTypeProvider {
+
+ public static final FullQualifiedName nameENString = new FullQualifiedName(SchemaProvider.nameSpace, "ENString");
+
+ public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+ if (enumTypeName.equals(nameENString)) {
+ return new EnumType()
+ .setName("ENString")
+ .setMembers(Arrays.asList(
+ new EnumMember().setName("String1").setValue("1"),
+ new EnumMember().setName("String2").setValue("2"),
+ new EnumMember().setName("String3").setValue("3")));
+ }
+
+ return null;
+ }
+}
[5/9] [OLINGO-168] Refactor Tech Provider
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/59ef14f4/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechProvider.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechProvider.java
deleted file mode 100644
index bbfd107..0000000
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechProvider.java
+++ /dev/null
@@ -1,2200 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.core.testutil;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.olingo.commons.api.ODataException;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.Target;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
-import org.apache.olingo.server.api.edm.provider.Action;
-import org.apache.olingo.server.api.edm.provider.ActionImport;
-import org.apache.olingo.server.api.edm.provider.AliasInfo;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.EnumMember;
-import org.apache.olingo.server.api.edm.provider.EnumType;
-import org.apache.olingo.server.api.edm.provider.Function;
-import org.apache.olingo.server.api.edm.provider.FunctionImport;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.NavigationPropertyBinding;
-import org.apache.olingo.server.api.edm.provider.Parameter;
-import org.apache.olingo.server.api.edm.provider.Property;
-import org.apache.olingo.server.api.edm.provider.PropertyRef;
-import org.apache.olingo.server.api.edm.provider.ReferentialConstraint;
-import org.apache.olingo.server.api.edm.provider.ReturnType;
-import org.apache.olingo.server.api.edm.provider.Schema;
-import org.apache.olingo.server.api.edm.provider.Singleton;
-
-public class EdmTechProvider extends EdmProvider {
-
- public static final String nameSpace = "com.sap.odata.test1";
-
- public static final FullQualifiedName nameBAESAllPrimRTETAllPrim =
- new FullQualifiedName(nameSpace, "BAESAllPrimRTETAllPrim");
-
- public static final FullQualifiedName nameBAESTwoKeyNavRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BAESTwoKeyNavRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav =
- new FullQualifiedName(nameSpace, "BAETBaseTwoKeyNavRTETBaseTwoKeyNav");
-
- public static final FullQualifiedName nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav =
- new FullQualifiedName(nameSpace, "BAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav");
-
- public static final FullQualifiedName nameBAETTwoKeyNavRTETTwoKeyNav =
- new FullQualifiedName(nameSpace, "BAETTwoKeyNavRTETTwoKeyNav");
-
- public static final FullQualifiedName nameBFCCollCTPrimCompRTESAllPrim =
- new FullQualifiedName(nameSpace, "BFCCollCTPrimCompRTESAllPrim");
-
- public static final FullQualifiedName nameBFCCollStringRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCCollStringRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFCCTPrimCompRTESBaseTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCCTPrimCompRTESBaseTwoKeyNav");
-
- public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCCTPrimCompRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNavParam =
- new FullQualifiedName(nameSpace, "BFCCTPrimCompRTESTwoKeyNavParam");
-
- public static final FullQualifiedName nameBFCCTPrimCompRTETTwoKeyNavParam =
- new FullQualifiedName(nameSpace, "BFCCTPrimCompRTETTwoKeyNavParam");
-
- public static final FullQualifiedName nameBFCESAllPrimRTCTAllPrim =
- new FullQualifiedName(nameSpace, "BFCESAllPrimRTCTAllPrim");
-
- public static final FullQualifiedName nameBFCESBaseTwoKeyNavRTESBaseTwoKey =
- new FullQualifiedName(nameSpace, "BFCESBaseTwoKeyNavRTESBaseTwoKey");
-
- public static final FullQualifiedName nameBFCESKeyNavRTETKeyNav =
- new FullQualifiedName(nameSpace, "BFCESKeyNavRTETKeyNav");
-
- public static final FullQualifiedName nameBFCESKeyNavRTETKeyNavParam =
- new FullQualifiedName(nameSpace, "BFCESKeyNavRTETKeyNavParam");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTTwoPrim =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTCollCTTwoPrim");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTCollString =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTCollString");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTCTTwoPrim =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTCTTwoPrim");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTString =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTString");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTStringParam =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTStringParam");
-
- public static final FullQualifiedName nameBFCESTwoKeyNavRTTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCESTwoKeyNavRTTwoKeyNav");
-
- public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESBaseTwoKey =
- new FullQualifiedName(nameSpace, "BFCETBaseTwoKeyNavRTESBaseTwoKey");
-
- public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCETBaseTwoKeyNavRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTETTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCETBaseTwoKeyNavRTETTwoKeyNav");
-
- public static final FullQualifiedName nameBFCETKeyNavRTETKeyNav =
- new FullQualifiedName(nameSpace, "BFCETKeyNavRTETKeyNav");
-
- public static final FullQualifiedName nameBFCETTwoKeyNavRTCTTwoPrim =
- new FullQualifiedName(nameSpace, "BFCETTwoKeyNavRTCTTwoPrim");
-
- public static final FullQualifiedName nameBFCETTwoKeyNavRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCETTwoKeyNavRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFCETTwoKeyNavRTETTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCETTwoKeyNavRTETTwoKeyNav");
-
- public static final FullQualifiedName nameBFCSINavRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCSINavRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFCStringRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFCStringRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBFESTwoKeyNavRTESTwoKeyNav =
- new FullQualifiedName(nameSpace, "BFESTwoKeyNavRTESTwoKeyNav");
-
- public static final FullQualifiedName nameBinary = EdmPrimitiveTypeKind.Binary.getFullQualifiedName();
- public static final FullQualifiedName nameBoolean = EdmPrimitiveTypeKind.Boolean.getFullQualifiedName();
- public static final FullQualifiedName nameByte = EdmPrimitiveTypeKind.Byte.getFullQualifiedName();
- public static final FullQualifiedName nameContainer = new FullQualifiedName(nameSpace, "Container");
- public static final FullQualifiedName nameCTAllPrim = new FullQualifiedName(nameSpace, "CTAllPrim");
- public static final FullQualifiedName nameCTBase = new FullQualifiedName(nameSpace, "CTBase");
- public static final FullQualifiedName nameCTBasePrimCompNav = new FullQualifiedName(nameSpace, "CTBasePrimCompNav");
- public static final FullQualifiedName nameCTCollAllPrim = new FullQualifiedName(nameSpace, "CTCollAllPrim");
- public static final FullQualifiedName nameCTCompCollComp = new FullQualifiedName(nameSpace, "CTCompCollComp");
- public static final FullQualifiedName nameCTCompComp = new FullQualifiedName(nameSpace, "CTCompComp");
- public static final FullQualifiedName nameCTCompNav = new FullQualifiedName(nameSpace, "CTCompNav");
-
- public static final FullQualifiedName nameCTMixPrimCollComp = new FullQualifiedName(nameSpace, "CTMixPrimCollComp");
- public static final FullQualifiedName nameCTNavFiveProp = new FullQualifiedName(nameSpace, "CTNavFiveProp");
- public static final FullQualifiedName nameCTPrim = new FullQualifiedName(nameSpace, "CTPrim");
- public static final FullQualifiedName nameCTPrimComp = new FullQualifiedName(nameSpace, "CTPrimComp");
- public static final FullQualifiedName nameCTPrimEnum = new FullQualifiedName(nameSpace, "CTPrimEnum");
- public static final FullQualifiedName nameCTTwoBase = new FullQualifiedName(nameSpace, "CTTwoBase");
- public static final FullQualifiedName nameCTTwoBasePrimCompNav =
- new FullQualifiedName(nameSpace, "CTTwoBasePrimCompNav");
- public static final FullQualifiedName nameCTTwoPrim = new FullQualifiedName(nameSpace, "CTTwoPrim");
- public static final FullQualifiedName nameDate = EdmPrimitiveTypeKind.Date.getFullQualifiedName();
- public static final FullQualifiedName nameDateTimeOffset =
- EdmPrimitiveTypeKind.DateTimeOffset.getFullQualifiedName();
-
- public static final FullQualifiedName nameDecimal = EdmPrimitiveTypeKind.Decimal.getFullQualifiedName();
- public static final FullQualifiedName nameDouble = EdmPrimitiveTypeKind.Double.getFullQualifiedName();
- public static final FullQualifiedName nameDuration = EdmPrimitiveTypeKind.Duration.getFullQualifiedName();
- public static final FullQualifiedName nameENString = new FullQualifiedName(nameSpace, "ENString");
- public static final FullQualifiedName nameETAllKey = new FullQualifiedName(nameSpace, "ETAllKey");
- public static final FullQualifiedName nameETAllNullable = new FullQualifiedName(nameSpace, "ETAllNullable");
- public static final FullQualifiedName nameETAllPrim = new FullQualifiedName(nameSpace, "ETAllPrim");
- public static final FullQualifiedName nameETBase = new FullQualifiedName(nameSpace, "ETBase");
- public static final FullQualifiedName nameETBaseTwoKeyNav = new FullQualifiedName(nameSpace, "ETBaseTwoKeyNav");
- public static final FullQualifiedName nameETBaseTwoKeyTwoPrim =
- new FullQualifiedName(nameSpace, "ETBaseTwoKeyTwoPrim");
- public static final FullQualifiedName nameETCollAllPrim = new FullQualifiedName(nameSpace, "ETCollAllPrim");
- public static final FullQualifiedName nameETCompAllPrim = new FullQualifiedName(nameSpace, "ETCompAllPrim");
- public static final FullQualifiedName nameETCompCollAllPrim = new FullQualifiedName(nameSpace, "ETCompCollAllPrim");
- public static final FullQualifiedName nameETCompCollComp = new FullQualifiedName(nameSpace, "ETCompCollComp");
- public static final FullQualifiedName nameETCompComp = new FullQualifiedName(nameSpace, "ETCompComp");
- public static final FullQualifiedName nameETCompMixPrimCollComp =
- new FullQualifiedName(nameSpace, "ETCompMixPrimCollComp");
- public static final FullQualifiedName nameETFourKeyAlias = new FullQualifiedName(nameSpace, "ETFourKeyAlias");
- public static final FullQualifiedName nameETKeyNav = new FullQualifiedName(nameSpace, "ETKeyNav");
- public static final FullQualifiedName nameETKeyPrimNav = new FullQualifiedName(nameSpace, "ETKeyPrimNav");
- public static final FullQualifiedName nameETKeyTwoKeyComp = new FullQualifiedName(nameSpace, "ETKeyTwoKeyComp");
- public static final FullQualifiedName nameETMedia = new FullQualifiedName(nameSpace, "ETMedia");
- public static final FullQualifiedName nameETMixPrimCollComp = new FullQualifiedName(nameSpace, "ETMixPrimCollComp");
- public static final FullQualifiedName nameETServerSidePaging =
- new FullQualifiedName(nameSpace, "ETServerSidePaging");
- public static final FullQualifiedName nameETTwoBase = new FullQualifiedName(nameSpace, "ETTwoBase");
- public static final FullQualifiedName nameETTwoBaseTwoKeyNav =
- new FullQualifiedName(nameSpace, "ETTwoBaseTwoKeyNav");
- public static final FullQualifiedName nameETTwoBaseTwoKeyTwoPrim =
- new FullQualifiedName(nameSpace, "ETTwoBaseTwoKeyTwoPrim");
- public static final FullQualifiedName nameETTwoKeyNav = new FullQualifiedName(nameSpace, "ETTwoKeyNav");
- public static final FullQualifiedName nameETTwoKeyTwoPrim = new FullQualifiedName(nameSpace, "ETTwoKeyTwoPrim");
- public static final FullQualifiedName nameETTwoPrim = new FullQualifiedName(nameSpace, "ETTwoPrim");
- public static final FullQualifiedName nameGuid = EdmPrimitiveTypeKind.Guid.getFullQualifiedName();
- public static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName();
- public static final FullQualifiedName nameInt32 = EdmPrimitiveTypeKind.Int32.getFullQualifiedName();
- public static final FullQualifiedName nameInt64 = EdmPrimitiveTypeKind.Int64.getFullQualifiedName();
-
- public static final FullQualifiedName nameSByte = EdmPrimitiveTypeKind.SByte.getFullQualifiedName();
- public static final FullQualifiedName nameSingle = EdmPrimitiveTypeKind.Single.getFullQualifiedName();
-
- public static final FullQualifiedName nameString = EdmPrimitiveTypeKind.String.getFullQualifiedName();
- public static final FullQualifiedName nameTimeOfDay = EdmPrimitiveTypeKind.TimeOfDay.getFullQualifiedName();
- public static final FullQualifiedName nameUARTCompCollParam = new FullQualifiedName(nameSpace, "UARTCompCollParam");
- public static final FullQualifiedName nameUARTCompParam = new FullQualifiedName(nameSpace, "UARTCompParam");
- public static final FullQualifiedName nameUARTETCollAllPrimParam =
- new FullQualifiedName(nameSpace, "UARTETCollAllPrimParam");
-
- public static final FullQualifiedName nameUARTETParam = new FullQualifiedName(nameSpace, "UARTETParam");
- public static final FullQualifiedName nameUARTPrimParam = new FullQualifiedName(nameSpace, "UARTPrimParam");
- public static final FullQualifiedName nameUARTPrimCollParam = new FullQualifiedName(nameSpace, "UARTPrimCollParam");
- public static final FullQualifiedName nameUFCRTCollCTTwoPrim =
- new FullQualifiedName(nameSpace, "UFCRTCollCTTwoPrim");
- public static final FullQualifiedName nameUFCRTCollCTTwoPrimParam =
- new FullQualifiedName(nameSpace, "UFCRTCollCTTwoPrimParam");
- public static final FullQualifiedName nameUFCRTCollString = new FullQualifiedName(nameSpace, "UFCRTCollString");
- public static final FullQualifiedName nameUFCRTCollStringTwoParam =
- new FullQualifiedName(nameSpace, "UFCRTCollStringTwoParam");
- public static final FullQualifiedName nameUFCRTCTAllPrimTwoParam =
- new FullQualifiedName(nameSpace, "UFCRTCTAllPrimTwoParam");
- public static final FullQualifiedName nameUFCRTCTTwoPrim = new FullQualifiedName(nameSpace, "UFCRTCTTwoPrim");
- public static final FullQualifiedName nameUFCRTCTTwoPrimParam =
- new FullQualifiedName(nameSpace, "UFCRTCTTwoPrimParam");
- public static final FullQualifiedName nameUFCRTESMixPrimCollCompTwoParam =
- new FullQualifiedName(nameSpace, "UFCRTESMixPrimCollCompTwoParam");
- public static final FullQualifiedName nameUFCRTESTwoKeyNavParam =
- new FullQualifiedName(nameSpace, "UFCRTESTwoKeyNavParam");
- public static final FullQualifiedName nameUFCRTETAllPrimTwoParam =
- new FullQualifiedName(nameSpace, "UFCRTETAllPrimTwoParam");
- public static final FullQualifiedName nameUFCRTETKeyNav = new FullQualifiedName(nameSpace, "UFCRTETKeyNav");
- public static final FullQualifiedName nameUFCRTETMedia = new FullQualifiedName(nameSpace, "UFCRTETMedia");
-
- public static final FullQualifiedName nameUFCRTETTwoKeyNavParam =
- new FullQualifiedName(nameSpace, "UFCRTETTwoKeyNavParam");
-
- public static final FullQualifiedName nameUFCRTETTwoKeyNavParamCTTwoPrim =
- new FullQualifiedName(nameSpace, "UFCRTETTwoKeyNavParamCTTwoPrim");
-
- public static final FullQualifiedName nameUFCRTString = new FullQualifiedName(nameSpace, "UFCRTString");
-
- public static final FullQualifiedName nameUFCRTStringTwoParam =
- new FullQualifiedName(nameSpace, "UFCRTStringTwoParam");
-
- public static final FullQualifiedName nameUFNRTESMixPrimCollCompTwoParam =
- new FullQualifiedName(nameSpace, "UFNRTESMixPrimCollCompTwoParam");
- public static final FullQualifiedName nameUFNRTInt16 =
- new FullQualifiedName(nameSpace, "UFNRTInt16");
-
- NavigationProperty collectionNavPropertyETKeyNavMany_ETKeyNav = new NavigationProperty()
- .setName("NavPropertyETKeyNavMany")
- .setType(nameETKeyNav)
- .setCollection(true);
-
- NavigationProperty collectionNavPropertyETMediaMany_ETMedia = new NavigationProperty()
- .setName("NavPropertyETMediaMany")
- .setType(nameETMedia)
- .setCollection(true);
-
- NavigationProperty collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav = new NavigationProperty()
- .setName("NavPropertyETTwoKeyNavMany")
- .setType(nameETTwoKeyNav)
- .setCollection(true)
- .setPartner("NavPropertyETKeyNavOne");
-
- NavigationProperty collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
- .setName("NavPropertyETTwoKeyNavOne")
- .setType(nameETTwoKeyNav);
-
- Property collPropertyBinary = new Property()
- .setName("CollPropertyBinary")
- .setType(nameBinary)
- .setCollection(true);
-
- Property collPropertyBoolean = new Property()
- .setName("CollPropertyBoolean")
- .setType(nameBoolean)
- .setCollection(true);
-
- Property collPropertyByte = new Property()
- .setName("CollPropertyByte")
- .setType(nameByte)
- .setCollection(true);
-
- Property collPropertyComplex_CTPrimComp = new Property()
- .setName("CollPropertyComplex")
- .setType(nameCTPrimComp)
- .setCollection(true);
-
- Property collPropertyComplex_CTTwoPrim = new Property()
- .setName("CollPropertyComplex")
- .setType(nameCTTwoPrim)
- .setCollection(true);
-
- Property collPropertyDate = new Property()
- .setName("CollPropertyDate")
- .setType(nameDate)
- .setCollection(true);
-
- Property collPropertyDateTimeOffset = new Property()
- .setName("CollPropertyDateTimeOffset")
- .setType(nameDateTimeOffset)
- .setCollection(true);
-
- Property collPropertyDecimal = new Property()
- .setName("CollPropertyDecimal")
- .setType(nameDecimal)
- .setCollection(true);
-
- Property collPropertyDouble = new Property()
- .setName("CollPropertyDouble")
- .setType(nameDouble)
- .setCollection(true);
-
- Property collPropertyDuration = new Property()
- .setName("CollPropertyDuration")
- .setType(nameDuration)
- .setCollection(true);
- Property collPropertyGuid = new Property()
- .setName("CollPropertyGuid")
- .setType(nameGuid)
- .setCollection(true);
- Property collPropertyInt16 = new Property()
- .setName("CollPropertyInt16")
- .setType(nameInt16)
- .setCollection(true);
- Property collPropertyInt32 = new Property()
- .setName("CollPropertyInt32")
- .setType(nameInt32)
- .setCollection(true);
- Property collPropertyInt64 = new Property()
- .setName("CollPropertyInt64")
- .setType(nameInt64)
- .setCollection(true);
-
- Property collPropertySByte = new Property()
- .setName("CollPropertySByte")
- .setType(nameSByte)
- .setCollection(true);
-
- Property collPropertySingle = new Property()
- .setName("CollPropertySingle")
- .setType(nameSingle)
- .setCollection(true);
- Property collPropertyString = new Property()
- .setName("CollPropertyString")
- .setType(nameString)
- .setCollection(true);
- Property collPropertyTimeOfDay = new Property()
- .setName("CollPropertyTimeOfDay")
- .setType(nameTimeOfDay)
- .setCollection(true);
- EntityContainerInfo entityContainerInfoTest1 =
- new EntityContainerInfo().setContainerName(nameContainer);
- NavigationProperty navPropertyETKeyNavOne_ETKeyNav = new NavigationProperty()
- .setName("NavPropertyETKeyNavOne")
- .setType(nameETKeyNav);
- NavigationProperty navPropertyETMediaOne_ETMedia = new NavigationProperty()
- .setName("NavPropertyETMediaOne")
- .setType(nameETMedia);
-
- /*
- * TODO add propertyStream
- * Property propertyStream = new Property()
- * .setName("PropertyStream")
- * .setType(EdmStream.getFullQualifiedName());
- */
-
- NavigationProperty navPropertyETKeyPrimNavOne = new NavigationProperty()
- .setName("NavPropertyETKeyPrimNavOne")
- .setType(nameETKeyPrimNav);
-
- NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
- .setName("NavPropertyETTwoKeyNavOne")
- .setType(nameETTwoKeyNav);
- Property propertyBinary = new Property()
- .setName("PropertyBinary")
- .setType(nameBinary);
- Property propertyBoolean = new Property()
- .setName("PropertyBoolean")
- .setType(nameBoolean);
- Property propertyByte = new Property()
- .setName("PropertyByte")
- .setType(nameByte);
- Property propertyComplex_CTAllPrim = new Property()
- .setName("PropertyComplex")
- .setType(nameCTAllPrim);
- Property propertyComplex_CTCollAllPrim = new Property()
- .setName("PropertyComplex")
- .setType(nameCTCollAllPrim);
- Property propertyComplex_CTCompCollComp = new Property()
- .setName("PropertyComplex")
- .setType(nameCTCompCollComp);
- Property propertyComplex_CTCompComp = new Property()
- .setName("PropertyComplex")
- .setType(nameCTCompComp);
- Property propertyComplex_CTNavFiveProp = new Property()
- .setName("PropertyComplex")
- .setType(nameCTNavFiveProp);
- Property propertyComplex_CTPrimComp_NotNullable = new Property()
- .setName("PropertyComplex")
- .setType(nameCTPrimComp);
- Property propertyComplex_CTTwoPrim = new Property()
- .setName("PropertyComplex")
- .setType(nameCTTwoPrim);
- Property propertyComplexAllPrim_CTAllPrim = new Property()
- .setName("PropertyComplexAllPrim")
- .setType(nameCTAllPrim);
- Property propertyComplexComplex_CTCompComp = new Property()
- .setName("PropertyComplexComplex")
- .setType(nameCTCompComp);
- Property propertyComplexEnum_CTPrimEnum_NotNullable = new Property()
- .setName("PropertyComplexEnum")
- .setType(nameCTPrimEnum);
- Property propertyComplexTwoPrim_CTTwoPrim = new Property()
- .setName("PropertyComplexTwoPrim")
- .setType(nameCTTwoPrim);
- Property propertyDate = new Property()
- .setName("PropertyDate")
- .setType(nameDate);
-
- Property propertyDateTimeOffset = new Property()
- .setName("PropertyDateTimeOffset")
- .setType(nameDateTimeOffset);
-
- Property propertyDecimal = new Property()
- .setName("PropertyDecimal")
- .setType(nameDecimal);
-
- Property propertyDouble = new Property()
- .setName("PropertyDouble")
- .setType(nameDouble);
-
- Property propertyDuration = new Property()
- .setName("PropertyDuration")
- .setType(nameDuration);
-
- Property propertyEnumString_ENString = new Property()
- .setName("PropertyEnumString")
- .setType(nameENString);
-
- Property propertyGuid = new Property()
- .setName("PropertyGuid")
- .setType(nameGuid);
-
- Property propertyInt16 = new Property()
- .setName("PropertyInt16")
- .setType(nameInt16);
-
- Property propertyInt16_NotNullable = new Property()
- .setName("PropertyInt16")
- .setType(nameInt16)
- .setNullable(false);
- Property propertyInt32 = new Property()
- .setName("PropertyInt32")
- .setType(nameInt32);
-
- Property propertyInt64 = new Property()
- .setName("PropertyInt64")
- .setType(nameInt64);
-
- Property propertyMixedPrimCollComp_CTMixPrimCollComp = new Property()
- .setName("PropertyMixedPrimCollComp")
- .setType(nameCTMixPrimCollComp)
- .setCollection(true);
-
- Property propertySByte = new Property()
- .setName("PropertySByte")
- .setType(nameSByte);
-
- Property propertySingle = new Property()
- .setName("PropertySingle")
- .setType(nameSingle);
-
- Property propertyString = new Property()
- .setName("PropertyString")
- .setType(nameString);
-
- Property propertyString_NotNullable = new Property()
- .setName("PropertyString")
- .setType(nameString);
-
- Property propertyTimeOfDay = new Property().setName("PropertyTimeOfDay")
- .setType(nameTimeOfDay);
-
- @Override
- public EntityContainer getEntityContainer() throws ODataException {
- // TODO Auto-generated method stub
- return super.getEntityContainer();
- }
-
- @Override
- public List<Schema> getSchemas() throws ODataException {
- List<Schema> schemas = new ArrayList<Schema>();
- Schema schema = new Schema();
- schema.setNamespace("com.sap.odata.test1");
- schema.setAlias("Namespace1_Alias");
- schemas.add(schema);
- // EnumTypes
- List<EnumType> enumTypes = new ArrayList<EnumType>();
- schema.setEnumTypes(enumTypes);
- enumTypes.add(getEnumType(nameENString));
- // EntityTypes
- List<EntityType> entityTypes = new ArrayList<EntityType>();
- schema.setEntityTypes(entityTypes);
- entityTypes.add(getEntityType(nameETAllPrim));
- entityTypes.add(getEntityType(nameETCollAllPrim));
- entityTypes.add(getEntityType(nameETTwoPrim));
- entityTypes.add(getEntityType(nameETMixPrimCollComp));
- entityTypes.add(getEntityType(nameETTwoKeyTwoPrim));
- entityTypes.add(getEntityType(nameETBase));
- entityTypes.add(getEntityType(nameETTwoBase));
- entityTypes.add(getEntityType(nameETAllKey));
- entityTypes.add(getEntityType(nameETCompAllPrim));
- entityTypes.add(getEntityType(nameETCompCollAllPrim));
- entityTypes.add(getEntityType(nameETCompComp));
- entityTypes.add(getEntityType(nameETCompCollComp));
- entityTypes.add(getEntityType(nameETMedia));
- entityTypes.add(getEntityType(nameETFourKeyAlias));
- entityTypes.add(getEntityType(nameETServerSidePaging));
- entityTypes.add(getEntityType(nameETAllNullable));
- entityTypes.add(getEntityType(nameETKeyNav));
- entityTypes.add(getEntityType(nameETTwoKeyNav));
- entityTypes.add(getEntityType(nameETBaseTwoKeyNav));
- entityTypes.add(getEntityType(nameETTwoBaseTwoKeyNav));
- entityTypes.add(getEntityType(nameETCompMixPrimCollComp));
- entityTypes.add(getEntityType(nameETKeyPrimNav));
-
- // ComplexTypes
- List<ComplexType> complexType = new ArrayList<ComplexType>();
- schema.setComplexTypes(complexType);
- complexType.add(getComplexType(nameCTPrim));
- complexType.add(getComplexType(nameCTAllPrim));
- complexType.add(getComplexType(nameCTCollAllPrim));
- complexType.add(getComplexType(nameCTTwoPrim));
- complexType.add(getComplexType(nameCTMixPrimCollComp));
- complexType.add(getComplexType(nameCTBase));
- complexType.add(getComplexType(nameCTTwoBase));
- complexType.add(getComplexType(nameCTCompComp));
- complexType.add(getComplexType(nameCTCompCollComp));
- complexType.add(getComplexType(nameCTPrimComp));
- complexType.add(getComplexType(nameCTNavFiveProp));
- complexType.add(getComplexType(nameCTPrimEnum));
- complexType.add(getComplexType(nameCTBasePrimCompNav));
- complexType.add(getComplexType(nameCTTwoBasePrimCompNav));
- complexType.add(getComplexType(nameCTCompNav));
-
- // TypeDefinitions
-
- // Actions
- List<Action> actions = new ArrayList<Action>();
- schema.setActions(actions);
- actions.addAll(getActions(nameUARTPrimParam));
- actions.addAll(getActions(nameUARTPrimCollParam));
- actions.addAll(getActions(nameUARTCompParam));
- actions.addAll(getActions(nameUARTCompCollParam));
- actions.addAll(getActions(nameUARTETParam));
- actions.addAll(getActions(nameUARTETCollAllPrimParam));
- actions.addAll(getActions(nameBAETTwoKeyNavRTETTwoKeyNav));
- actions.addAll(getActions(nameBAESAllPrimRTETAllPrim));
- actions.addAll(getActions(nameBAESTwoKeyNavRTESTwoKeyNav));
- actions.addAll(getActions(nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav));
- actions.addAll(getActions(nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav));
-
- // Functions
- List<Function> functions = new ArrayList<Function>();
- schema.setFunctions(functions);
-
- functions.addAll(getFunctions(nameUFNRTInt16));
- functions.addAll(getFunctions(nameUFCRTETKeyNav));
- functions.addAll(getFunctions(nameUFCRTETTwoKeyNavParam));
- functions.addAll(getFunctions(nameUFCRTETTwoKeyNavParamCTTwoPrim));
- functions.addAll(getFunctions(nameUFCRTStringTwoParam));
- functions.addAll(getFunctions(nameUFCRTESTwoKeyNavParam));
- // TODO: check why it exists twice
- functions.addAll(getFunctions(nameUFCRTString));
- functions.addAll(getFunctions(nameUFCRTCollStringTwoParam));
- functions.addAll(getFunctions(nameUFCRTCollString));
- functions.addAll(getFunctions(nameUFCRTCTAllPrimTwoParam));
- functions.addAll(getFunctions(nameUFCRTCTTwoPrimParam));
- functions.addAll(getFunctions(nameUFCRTCollCTTwoPrimParam));
- functions.addAll(getFunctions(nameUFCRTCTTwoPrim));
- functions.addAll(getFunctions(nameUFCRTCollCTTwoPrim));
- functions.addAll(getFunctions(nameUFCRTETMedia));
- functions.addAll(getFunctions(nameUFNRTESMixPrimCollCompTwoParam));
- functions.addAll(getFunctions(nameUFCRTETAllPrimTwoParam));
- functions.addAll(getFunctions(nameUFCRTESMixPrimCollCompTwoParam));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCStringRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCETBaseTwoKeyNavRTETTwoKeyNav));
- functions.addAll(getFunctions(nameBFCESBaseTwoKeyNavRTESBaseTwoKey));
- functions.addAll(getFunctions(nameBFCESAllPrimRTCTAllPrim));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTCTTwoPrim));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTCollCTTwoPrim));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTString));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTCollString));
- functions.addAll(getFunctions(nameBFCETTwoKeyNavRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCETBaseTwoKeyNavRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCSINavRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCETBaseTwoKeyNavRTESBaseTwoKey));
- functions.addAll(getFunctions(nameBFCCollStringRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCCTPrimCompRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCCTPrimCompRTESBaseTwoKeyNav));
- functions.addAll(getFunctions(nameBFCCollCTPrimCompRTESAllPrim));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTTwoKeyNav));
- functions.addAll(getFunctions(nameBFCESKeyNavRTETKeyNav));
- functions.addAll(getFunctions(nameBFCETKeyNavRTETKeyNav));
- functions.addAll(getFunctions(nameBFESTwoKeyNavRTESTwoKeyNav));
- functions.addAll(getFunctions(nameBFCETTwoKeyNavRTETTwoKeyNav));
- functions.addAll(getFunctions(nameBFCETTwoKeyNavRTCTTwoPrim));
- functions.addAll(getFunctions(nameBFCESTwoKeyNavRTStringParam));
- functions.addAll(getFunctions(nameBFCESKeyNavRTETKeyNavParam));
- functions.addAll(getFunctions(nameBFCCTPrimCompRTETTwoKeyNavParam));
- functions.addAll(getFunctions(nameBAETTwoKeyNavRTETTwoKeyNav));
- functions.addAll(getFunctions(nameBFCCTPrimCompRTESTwoKeyNavParam));
-
- // EntityContainer
- EntityContainer container = new EntityContainer();
- schema.setEntityContainer(container);
- container.setName(nameContainer.getName());
-
- // EntitySets
- List<EntitySet> entitySets = new ArrayList<EntitySet>();
- container.setEntitySets(entitySets);
- entitySets.add(getEntitySet(nameContainer, "ESAllPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESCollAllPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESTwoPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESMixPrimCollComp"));
- entitySets.add(getEntitySet(nameContainer, "ESBase"));
- entitySets.add(getEntitySet(nameContainer, "ESTwoBase"));
- entitySets.add(getEntitySet(nameContainer, "ESTwoKeyTwoPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESBaseTwoKeyTwoPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESTwoBaseTwoKeyTwoPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESAllKey"));
- entitySets.add(getEntitySet(nameContainer, "ESCompAllPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESCompCollAllPrim"));
- entitySets.add(getEntitySet(nameContainer, "ESCompComp"));
- entitySets.add(getEntitySet(nameContainer, "ESCompCollComp"));
- entitySets.add(getEntitySet(nameContainer, "ESMedia"));
- entitySets.add(getEntitySet(nameContainer, "ESKeyTwoKeyComp"));
- entitySets.add(getEntitySet(nameContainer, "ESInvisible"));
- entitySets.add(getEntitySet(nameContainer, "ESServerSidePaging"));
- entitySets.add(getEntitySet(nameContainer, "ESAllNullable"));
- entitySets.add(getEntitySet(nameContainer, "ESKeyNav"));
- entitySets.add(getEntitySet(nameContainer, "ESTwoKeyNav"));
- entitySets.add(getEntitySet(nameContainer, "ESBaseTwoKeyNav"));
- entitySets.add(getEntitySet(nameContainer, "ESCompMixPrimCollComp"));
- entitySets.add(getEntitySet(nameContainer, "ESFourKeyAlias"));
-
- // Singletons
- List<Singleton> singletons = new ArrayList<Singleton>();
- container.setSingletons(singletons);
- singletons.add(getSingleton(nameContainer, "SI"));
- singletons.add(getSingleton(nameContainer, "SINav"));
- singletons.add(getSingleton(nameContainer, "SIMedia"));
-
- // ActionImports
- List<ActionImport> actionImports = new ArrayList<ActionImport>();
- container.setActionImports(actionImports);
- actionImports.add(getActionImport(nameContainer, "AIRTPrimParam"));
- actionImports.add(getActionImport(nameContainer, "AIRTPrimCollParam"));
- actionImports.add(getActionImport(nameContainer, "AIRTCompParam"));
- actionImports.add(getActionImport(nameContainer, "AIRTCompCollParam"));
- actionImports.add(getActionImport(nameContainer, "AIRTETParam"));
- actionImports.add(getActionImport(nameContainer, "AIRTETCollAllPrimParam"));
-
- // FunctionImports
- List<FunctionImport> functionImports = new ArrayList<FunctionImport>();
- container.setFunctionImports(functionImports);
- functionImports.add(getFunctionImport(nameContainer, "FINRTInt16"));
- functionImports.add(getFunctionImport(nameContainer, "FINInvisibleRTInt16"));
- functionImports.add(getFunctionImport(nameContainer, "FINInvisible2RTInt16"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTETKeyNav"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTETTwoKeyNavParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTStringTwoParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCollStringTwoParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCTAllPrimTwoParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTESMixPrimCollCompTwoParam"));
- functionImports.add(getFunctionImport(nameContainer, "FINRTESMixPrimCollCompTwoParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCollCTTwoPrim"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTETMedia"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCTTwoPrimParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCTTwoPrim"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCollString"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTString"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTESTwoKeyNavParam"));
- functionImports.add(getFunctionImport(nameContainer, "FICRTCollCTTwoPrimParam"));
-
- return schemas;
- }
-
- @Override
- public ActionImport getActionImport(final FullQualifiedName entityContainer, final String name) throws ODataException
- {
- if (entityContainer.equals(nameContainer)) {
- if (name.equals("AIRTPrimParam")) {
- return new ActionImport()
- .setName("AIRTPrimParam")
- .setAction(nameUARTPrimParam);
-
- } else if (name.equals("AIRTPrimCollParam")) {
- return new ActionImport()
- .setName("AIRTPrimCollParam")
- .setAction(nameUARTPrimCollParam);
-
- } else if (name.equals("AIRTCompParam")) {
- return new ActionImport()
- .setName("AIRTCompParam")
- .setAction(nameUARTCompParam);
-
- } else if (name.equals("AIRTCompCollParam")) {
- return new ActionImport()
- .setName("AIRTCompCollParam")
- .setAction(nameUARTCompCollParam);
-
- } else if (name.equals("AIRTETParam")) {
- return new ActionImport()
- .setName("AIRTETParam")
- .setAction(nameUARTETParam);
-
- } else if (name.equals("AIRTETCollAllPrimParam")) {
- return new ActionImport()
- .setName("AIRTETCollAllPrimParam")
- .setAction(nameUARTETCollAllPrimParam);
- }
- }
-
- return null;
- }
-
- @Override
- public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
- if (actionName.equals(nameUARTPrimParam)) {
- return Arrays.asList(
- new Action().setName("UARTPrimParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
-
- .setReturnType(new ReturnType().setType(nameString))
- );
-
- } else if (actionName.equals(nameUARTPrimCollParam)) {
- return Arrays.asList(
- new Action().setName("UARTPrimCollParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
-
- .setReturnType(
- new ReturnType().setType(nameString).setCollection(true))
- );
-
- } else if (actionName.equals(nameUARTCompParam)) {
- return Arrays.asList(
- new Action().setName("UARTCompParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
-
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim))
- );
-
- } else if (actionName.equals(nameUARTCompCollParam)) {
- return Arrays.asList(
- new Action().setName("UARTCompCollParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
-
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim).setCollection(true))
- );
-
- } else if (actionName.equals(nameUARTETParam)) {
- return Arrays.asList(
- new Action().setName("UARTCompCollParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyTwoPrim))
- );
-
- } else if (actionName.equals(nameUARTETCollAllPrimParam)) {
- return Arrays.asList(
- new Action().setName("UARTETCollAllPrimParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
-
- .setReturnType(
- new ReturnType().setType(nameETCollAllPrim).setCollection(true))
- );
-
- } else if (actionName.equals(nameBAETTwoKeyNavRTETTwoKeyNav)) {
- return Arrays.asList(
- new Action().setName("BAETTwoKeyNavRTETTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoKeyNav").setType(nameETTwoKeyNav)))
- .setBound(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav))
- ,
- new Action().setName("BAETTwoKeyNavRTETTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETKeyNav").setType(nameETKeyNav)))
- .setBound(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav))
- );
-
- } else if (actionName.equals(nameBAESAllPrimRTETAllPrim)) {
- return Arrays.asList(
- new Action().setName("BAESAllPrimRTETAllPrim")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterESAllPrim").setType(nameETAllPrim).setCollection(true)))
- .setBound(true)
- .setReturnType(
- new ReturnType().setType(nameETAllPrim))
- );
-
- } else if (actionName.equals(nameBAESTwoKeyNavRTESTwoKeyNav)) {
- return Arrays.asList(
- new Action().setName("BAESTwoKeyNavRTESTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoKeyNav").setType(nameETTwoKeyNav).setCollection(true)))
- .setBound(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true))
- );
-
- } else if (actionName.equals(nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav)) {
- return Arrays.asList(
- new Action().setName("BAETBaseTwoKeyNavRTETBaseTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoKeyNav").setType(nameETBaseTwoKeyNav)))
- .setBound(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav))
- );
-
- } else if (actionName.equals(nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav)) {
- return Arrays.asList(
- new Action().setName("BAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterETTwoBaseTwoKeyNav").setType(nameETTwoBaseTwoKeyNav)))
- .setBound(true)
- .setReturnType(
- new ReturnType().setType(nameETBaseTwoKeyNav))
- );
- }
-
- return null;
- }
-
- @Override
- public List<AliasInfo> getAliasInfos() throws ODataException {
- return Arrays.asList(
- new AliasInfo().setAlias("Namespace1_Alias").setNamespace(nameSpace)
- );
- }
-
- @Override
- public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
-
- if (complexTypeName.equals(nameCTPrim)) {
- return new ComplexType()
- .setName("CTPrim")
- .setProperties(Arrays.asList(propertyInt16));
-
- } else if (complexTypeName.equals(nameCTAllPrim)) {
- return new ComplexType()
- .setName("CTAllPrim")
- .setProperties(Arrays.asList(propertyString, propertyBinary, propertyBoolean,
- propertyByte, propertyDate, propertyDateTimeOffset,
- propertyDecimal, propertySingle, propertyDouble,
- propertyDuration, propertyGuid, propertyInt16,
- propertyInt32, propertyInt64, propertySByte,
- propertyTimeOfDay/* TODO add propertyStream */));
-
- } else if (complexTypeName.equals(nameCTCollAllPrim)) {
- return new ComplexType()
- .setName("CTCollAllPrim")
- .setProperties(Arrays.asList(
- collPropertyString,
- collPropertyBoolean, collPropertyByte,
- collPropertySByte,
- collPropertyInt16, collPropertyInt32, collPropertyInt64,
- collPropertySingle, collPropertyDouble,
- collPropertyDecimal, collPropertyBinary,
- collPropertyDate, collPropertyDateTimeOffset,
- collPropertyDuration, collPropertyGuid,
- collPropertyTimeOfDay /* TODO add collectionPropertyStream */));
-
- } else if (complexTypeName.equals(nameCTTwoPrim)) {
- return new ComplexType()
- .setName("CTTwoPrim")
- .setProperties(Arrays.asList(propertyInt16, propertyString));
-
- } else if (complexTypeName.equals(nameCTCompNav)) {
- return new ComplexType()
- .setName("CTCompNav")
- .setProperties(Arrays.asList(propertyInt16, propertyComplex_CTNavFiveProp));
-
- } else if (complexTypeName.equals(nameCTMixPrimCollComp)) {
- return new ComplexType()
- .setName("CTMixPrimCollComp")
- .setProperties(Arrays.asList(
- propertyInt16, collPropertyString, propertyComplex_CTTwoPrim, collPropertyComplex_CTTwoPrim));
-
- } else if (complexTypeName.equals(nameCTBase)) {
- return new ComplexType()
- .setName("CTBase")
- .setBaseType(nameCTTwoPrim)
- .setProperties(Arrays.asList(
- new Property()
- .setName("AdditionalPropString")
- .setType(new FullQualifiedName("Edm", "String"))));
-
- } else if (complexTypeName.equals(nameCTTwoBase)) {
- return new ComplexType()
- .setName("CTTwoBase")
- .setBaseType(nameCTBase)
- .setProperties(Arrays.asList(
- new Property()
- .setName("AdditionalPropString")
- .setType(new FullQualifiedName("Edm", "String"))));
-
- } else if (complexTypeName.equals(nameCTCompComp)) {
- return new ComplexType()
- .setName("CTCompComp")
- .setProperties(Arrays.asList(propertyComplex_CTTwoPrim));
-
- } else if (complexTypeName.equals(nameCTCompCollComp)) {
- return new ComplexType()
- .setName("CTCompComp")
- .setProperties(Arrays.asList(collPropertyComplex_CTTwoPrim));
-
- } else if (complexTypeName.equals(nameCTPrimComp)) {
- return new ComplexType()
- .setName("CTPrimComp")
- .setProperties(Arrays.asList(propertyInt16, propertyComplex_CTAllPrim));
-
- } else if (complexTypeName.equals(nameCTNavFiveProp)) {
- return new ComplexType()
- .setName("CTNavFiveProp")
- .setProperties(Arrays.asList(propertyInt16))
- .setNavigationProperties((Arrays.asList(
- collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav,
- collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
- new NavigationProperty()
- .setName("NavPropertyETMediaOne")
- .setType(nameETMedia),
- new NavigationProperty()
- .setName("NavPropertyETMediaMany")
- .setType(nameETMedia).setCollection(true)
- )));
-
- } else if (complexTypeName.equals(nameCTBasePrimCompNav)) {
- return new ComplexType()
- .setName("CTBasePrimCompNav")
- .setBaseType(nameCTPrimComp)
- .setNavigationProperties(Arrays.asList(
- collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
- collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav));
-
- } else if (complexTypeName.equals(nameCTPrimEnum)) {
- return new ComplexType()
- .setName("CTPrimEnum")
- .setProperties(Arrays.asList(propertyInt16, propertyEnumString_ENString));
-
- } else if (complexTypeName.equals(nameCTTwoBasePrimCompNav)) {
- return new ComplexType()
- .setName("CTTwoBasePrimCompNav")
- .setBaseType(nameCTBasePrimCompNav);
-
- }
-
- return null;
- }
-
- @Override
- public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
- if (entityContainerName == null) {
- return entityContainerInfoTest1;
- } else if (entityContainerName.equals(nameContainer)) {
- return entityContainerInfoTest1;
- }
-
- return null;
- }
-
- @Override
- public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String name) throws ODataException {
- if (entityContainer == nameContainer) {
- if (name.equals("ESAllPrim")) {
- return new EntitySet()
- .setName("ESAllPrim")
- .setType(nameETAllPrim);
-
- } else if (name.equals("ESCollAllPrim")) {
- return new EntitySet()
- .setName("ESCollAllPrim")
- .setType(nameETCollAllPrim);
-
- } else if (name.equals("ESTwoPrim")) {
- return new EntitySet()
- .setName("ESTwoPrim")
- .setType(nameETTwoPrim);
-
- } else if (name.equals("ESMixPrimCollComp")) {
- return new EntitySet()
- .setName("ESMixPrimCollComp")
- .setType(nameETMixPrimCollComp);
-
- } else if (name.equals("ESBase")) {
- return new EntitySet()
- .setName("ESBase")
- .setType(nameETBase);
-
- } else if (name.equals("ESTwoBase")) {
- return new EntitySet()
- .setName("ESTwoBase")
- .setType(nameETTwoBase);
-
- } else if (name.equals("ESTwoKeyTwoPrim")) {
- return new EntitySet()
- .setName("ESTwoKeyTwoPrim")
- .setType(nameETTwoKeyTwoPrim);
-
- } else if (name.equals("ESBaseTwoKeyTwoPrim")) {
- return new EntitySet()
- .setName("ESBaseTwoKeyTwoPrim")
- .setType(nameETBaseTwoKeyTwoPrim);
-
- } else if (name.equals("ESTwoBaseTwoKeyTwoPrim")) {
- return new EntitySet()
- .setName("ESTwoBaseTwoKeyTwoPrim")
- .setType(nameETTwoBaseTwoKeyTwoPrim);
-
- } else if (name.equals("ESAllKey")) {
- return new EntitySet()
- .setName("ESAllKey")
- .setType(nameETAllKey);
-
- } else if (name.equals("ESCompAllPrim")) {
- return new EntitySet()
- .setName("ESCompAllPrim")
- .setType(nameETCompAllPrim);
-
- } else if (name.equals("ESCompCollAllPrim")) {
- return new EntitySet()
- .setName("ESCompCollAllPrim")
- .setType(nameETCompCollAllPrim);
-
- } else if (name.equals("ESCompComp")) {
- return new EntitySet()
- .setName("ESCompComp")
- .setType(nameETCompComp);
-
- } else if (name.equals("ESCompCollComp")) {
- return new EntitySet()
- .setName("ESCompCollComp")
- .setType(nameETCompCollComp);
-
- } else if (name.equals("ESMedia")) {
- return new EntitySet()
- .setName("ESMedia")
- .setType(nameETMedia)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("ESKeyTwoKeyComp")) {
- return new EntitySet()
- .setName("ESKeyTwoKeyComp")
- .setType(nameETKeyTwoKeyComp);
-
- } else if (name.equals("ESInvisible")) {
- return new EntitySet()
- .setName("ESInvisible")
- .setType(nameETAllPrim);
-
- } else if (name.equals("ESServerSidePaging")) {
- return new EntitySet()
- .setName("ESServerSidePaging")
- .setType(nameETServerSidePaging);
-
- } else if (name.equals("ESAllNullable")) {
- return new EntitySet()
- .setName("ESAllNullable")
- .setType(nameETAllNullable);
-
- } else if (name.equals("ESKeyNav")) {
- return new EntitySet()
- .setName("ESKeyNav")
- .setType(nameETKeyNav);
-
- } else if (name.equals("ESTwoKeyNav")) {
- return new EntitySet()
- .setName("ESTwoKeyNav")
- .setType(nameETTwoKeyNav);
-
- } else if (name.equals("ESBaseTwoKeyNav")) {
- return new EntitySet()
- .setName("ESBaseTwoKeyNav")
- .setType(nameETBaseTwoKeyNav);
-
- } else if (name.equals("ESCompMixPrimCollComp")) {
- return new EntitySet()
- .setName("ESCompMixPrimCollComp")
- .setType(nameETCompMixPrimCollComp);
-
- } else if (name.equals("ESFourKeyAlias")) {
- return new EntitySet()
- .setName("ESFourKeyAlias")
- .setType(nameETFourKeyAlias);
- }
- }
-
- return null;
- }
-
- @Override
- public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
-
- if (entityTypeName.equals(nameETAllPrim)) {
- return new EntityType()
- .setName("ETAllPrim")
- .setKey(Arrays.asList(
- new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, propertyString,
- propertyBoolean, propertyByte, propertySByte,
- propertyInt32, propertyInt64,
- propertySingle, propertyDouble, propertyDecimal,
- propertyBinary, propertyDate, propertyDateTimeOffset,
- propertyDuration, propertyGuid,
- propertyTimeOfDay /* TODO add propertyStream */));
-
- } else if (entityTypeName.equals(nameETCollAllPrim)) {
- return new EntityType()
- .setName("ETCollAllPrim")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
-
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable,
- collPropertyString, collPropertyBoolean,
- collPropertyByte, collPropertySByte,
- collPropertyInt16, collPropertyInt32, collPropertyInt64,
- collPropertySingle, collPropertyDouble, collPropertyDecimal,
- collPropertyBinary, collPropertyDate, collPropertyDateTimeOffset,
- collPropertyDuration, collPropertyGuid, collPropertyTimeOfDay /* TODO add propertyStream */));
-
- } else if (entityTypeName.equals(nameETTwoPrim)) {
- return new EntityType()
- .setName("ETTwoPrim")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
-
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, propertyString));
-
- } else if (entityTypeName.equals(nameETMixPrimCollComp)) {
- return new EntityType()
- .setName("ETMixPrimCollComp")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
-
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, collPropertyString,
- propertyComplex_CTTwoPrim, collPropertyComplex_CTTwoPrim));
-
- } else if (entityTypeName.equals(nameETTwoKeyTwoPrim)) {
- return new EntityType()
- .setName("ETTwoKeyTwoPrim")
- .setKey(Arrays.asList(
- new PropertyRef().setPropertyName("PropertyInt16"),
- new PropertyRef().setPropertyName("PropertyString")))
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, propertyString));
-
- } else if (entityTypeName.equals(nameETBaseTwoKeyTwoPrim)) {
- return new EntityType()
- .setName("ETBaseTwoKeyTwoPrim")
- .setBaseType(nameETTwoKeyTwoPrim);
-
- } else if (entityTypeName.equals(nameETTwoBaseTwoKeyTwoPrim)) {
- return new EntityType()
- .setName("ETTwoBaseTwoKeyTwoPrim")
- .setBaseType(nameETTwoKeyTwoPrim);
-
- } else if (entityTypeName.equals(nameETBase)) {
- return new EntityType()
- .setName("ETBase")
- .setBaseType(nameETTwoPrim)
- .setProperties(Arrays.asList(new Property()
- .setName("AdditionalPropertyString_5")
- .setType(nameString)));
-
- } else if (entityTypeName.equals(nameETTwoBase)) {
- return new EntityType()
- .setName("ETTwoBase")
- .setBaseType(nameETBase)
- .setProperties(Arrays.asList(new Property()
- .setName("AdditionalPropertyString_6")
- .setType(nameString))
- );
-
- } else if (entityTypeName.equals(nameETAllKey)) {
- return new EntityType()
- .setName("ETAllKey")
- .setKey(Arrays.asList(
- new PropertyRef().setPropertyName("PropertyString"),
- new PropertyRef().setPropertyName("PropertyBoolean"),
- new PropertyRef().setPropertyName("PropertyByte"),
- new PropertyRef().setPropertyName("PropertySByte"),
- new PropertyRef().setPropertyName("PropertyInt16"),
- new PropertyRef().setPropertyName("PropertyInt32"),
- new PropertyRef().setPropertyName("PropertyInt64"),
- new PropertyRef().setPropertyName("PropertyDecimal"),
- new PropertyRef().setPropertyName("PropertyDate"),
- new PropertyRef().setPropertyName("PropertyDateTimeOffset"),
- new PropertyRef().setPropertyName("PropertyDuration"),
- new PropertyRef().setPropertyName("PropertyGuid"),
- new PropertyRef().setPropertyName("PropertyTimeOfDay")))
- .setProperties(Arrays.asList(
- propertyString, propertyBoolean,
- propertyByte, propertySByte,
- propertyInt16, propertyInt32, propertyInt64,
- propertyDecimal, propertyDate,
- propertySingle, propertyDouble, propertyDateTimeOffset,
- propertyDuration, propertyGuid,
- propertyTimeOfDay /* TODO add propertyStream */));
-
- } else if (entityTypeName.equals(nameETCompAllPrim)) {
- return new EntityType()
- .setName("ETCompAllPrim")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyInt16_NotNullable, propertyComplex_CTAllPrim));
-
- } else if (entityTypeName.equals(nameETCompCollAllPrim)) {
- return new EntityType()
- .setName("ETCompAllPrim")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
-
- .setProperties(Arrays.asList(propertyInt16_NotNullable, propertyComplex_CTCollAllPrim));
-
- } else if (entityTypeName.equals(nameETCompComp)) {
- return new EntityType()
- .setName("ETCompComp")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyInt16_NotNullable, propertyComplex_CTCompComp));
-
- } else if (entityTypeName.equals(nameETCompCollComp)) {
- return new EntityType()
- .setName("ETCompCollComp")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyInt16_NotNullable, propertyComplex_CTCompCollComp));
-
- } else if (entityTypeName.equals(nameETMedia)) {
- return new EntityType()
- .setName("ETCompCollComp")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyInt16_NotNullable))
- .setHasStream(true);
-
- } else if (entityTypeName.equals(nameETKeyTwoKeyComp)) {
- return new EntityType()
- .setName("ETKeyTwoKeyComp")
- .setKey(Arrays.asList(
- new PropertyRef()
- .setPropertyName("PropertyInt16"),
- new PropertyRef()
- .setPropertyName("PropertyComplex/PropertyInt16")
- .setAlias("KeyAlias1"),
- new PropertyRef()
- .setPropertyName("PropertyComplex/PropertyString")
- .setAlias("KeyAlias2"),
- new PropertyRef()
- .setPropertyName("PropertyComplexComplex/PropertyComplex/PropertyString")
- .setAlias("KeyAlias3")))
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, propertyComplex_CTTwoPrim, propertyComplexComplex_CTCompComp));
-
- } else if (entityTypeName.equals(nameETServerSidePaging)) {
- return new EntityType()
- .setName("ETKeyTwoKeyComp")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyInt16_NotNullable, propertyString));
-
- } else if (entityTypeName.equals(nameETAllNullable)) {
- return new EntityType()
- .setName("ETAllNullable")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyKey")))
- .setProperties(Arrays.asList(
- new Property()
- .setName("PropertyKey").setType(nameInt16),
- propertyInt16,
- propertyString, propertyBoolean,
- propertyByte, propertySByte,
- propertyInt32, propertyInt64,
- propertySingle, propertyDouble,
- propertyDecimal, propertyBinary, propertyDate,
- propertyDateTimeOffset,
- propertyDuration, propertyGuid, propertyTimeOfDay /* TODO add propertyStream */,
- collPropertyString, collPropertyBoolean,
- collPropertyByte, collPropertySByte,
- collPropertyInt16,
- collPropertyInt32, collPropertyInt64,
- collPropertySingle, collPropertyDouble,
- collPropertyDecimal, collPropertyBinary, collPropertyDate,
- collPropertyDateTimeOffset,
- collPropertyDuration, collPropertyGuid, collPropertyTimeOfDay /* TODO add propertyStream */));
-
- } else if (entityTypeName.equals(nameETKeyNav)) {
- return new EntityType()
- .setName("ETKeyNav")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, propertyString_NotNullable, propertyComplex_CTNavFiveProp,
- propertyComplexAllPrim_CTAllPrim, propertyComplexTwoPrim_CTTwoPrim,
- collPropertyString, collPropertyInt16, collPropertyComplex_CTPrimComp,
- new Property()
- .setName("PropertyComplexComplex").setType(nameCTCompNav)
- ))
- .setNavigationProperties(Arrays.asList(
- navPropertyETTwoKeyNavOne_ETTwoKeyNav, collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
- navPropertyETKeyNavOne_ETKeyNav, collectionNavPropertyETKeyNavMany_ETKeyNav,
- navPropertyETMediaOne_ETMedia, collectionNavPropertyETMediaMany_ETMedia
- ));
- } else if (entityTypeName.equals(nameETKeyPrimNav)) {
- return new EntityType()
- .setName("ETKeyNav")
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(
- propertyInt16_NotNullable, propertyString_NotNullable))
- .setNavigationProperties(Arrays.asList(
- navPropertyETTwoKeyNavOne_ETTwoKeyNav, collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
- navPropertyETKeyNavOne_ETKeyNav, collectionNavPropertyETKeyNavMany_ETKeyNav,
- navPropertyETMediaOne_ETMedia, collectionNavPropertyETMediaMany_ETMedia
- ));
-
- } else if (entityTypeName.equals(nameETTwoKeyNav)) {
- return new EntityType()
- .setName("ETTwoKeyNav")
- .setKey(Arrays.asList(
- new PropertyRef().setPropertyName("PropertyInt16"),
- new PropertyRef().setPropertyName("PropertyString")))
- .setProperties(Arrays.asList(
- propertyInt16, propertyString, propertyComplex_CTPrimComp_NotNullable,
- new Property().setName("PropertyComplexNav").setType(nameCTBasePrimCompNav),
- propertyComplexEnum_CTPrimEnum_NotNullable,
- collPropertyComplex_CTPrimComp,
- new Property().setName("CollPropertyComplexNav").setType(nameCTNavFiveProp).setCollection(true),
- collPropertyString, propertyComplexTwoPrim_CTTwoPrim,
- propertyEnumString_ENString
- ))
- .setNavigationProperties(Arrays.asList(
- new NavigationProperty()
- .setName("NavPropertyETKeyNavOne")
- .setType(nameETKeyNav)
- .setReferentialConstraints(Arrays.asList(
- new ReferentialConstraint()
- .setProperty("PropertyInt16")
- .setReferencedProperty("PropertyInt16"))),
- collectionNavPropertyETKeyNavMany_ETKeyNav,
- navPropertyETTwoKeyNavOne_ETTwoKeyNav,
- collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav));
-
- } else if (entityTypeName.equals(nameETBaseTwoKeyNav)) {
- return new EntityType()
- .setName("ETBaseTwoKeyNav")
- .setBaseType(nameETTwoKeyNav)
- .setProperties(Arrays.asList(propertyDate))
- .setNavigationProperties(Arrays.asList(
- new NavigationProperty()
- .setName("NavPropertyETBaseTwoKeyNav")
- .setType(nameETBaseTwoKeyNav),
- new NavigationProperty()
- .setName("NavPropertyETTwoBaseTwoKeyNav")
- .setType(nameETTwoBaseTwoKeyNav)))
- .setHasStream(true);
-
- } else if (entityTypeName.equals(nameETTwoBaseTwoKeyNav)) {
- return new EntityType()
- .setName("ETTwoBaseTwoKeyNav")
- .setBaseType(nameETBaseTwoKeyNav)
- .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyGuid))
- .setNavigationProperties(Arrays.asList(
- new NavigationProperty()
- .setName("NavPropertyETBaseTwoKeyNavOne")
- .setType(nameETBaseTwoKeyNav),
- new NavigationProperty()
- .setName("NavPropertyETBaseTwoKeyNavMany")
- .setType(nameETBaseTwoKeyNav)
- .setCollection(true)
- ));
-
- } else if (entityTypeName.equals(nameETFourKeyAlias)) {
- return new EntityType()
- .setName("ETFourKeyAlias")
- .setKey(Arrays.asList(
- new PropertyRef()
- .setPropertyName("PropertyInt16"),
- new PropertyRef()
- .setPropertyName("PropertyComplex/PropertyInt16").setAlias("KeyAlias1"),
- new PropertyRef()
- .setPropertyName("PropertyComplex/PropertyString").setAlias("KeyAlias2"),
- new PropertyRef()
- .setPropertyName("PropertyComplexComplex/PropertyComplex/PropertyString")
- .setAlias("KeyAlias3")))
- .setProperties(Arrays.asList(propertyGuid, propertyComplex_CTTwoPrim, propertyComplexComplex_CTCompComp));
- } else if (entityTypeName.equals(nameETCompMixPrimCollComp)) {
- return new EntityType()
- .setName("ETCompMixPrimCollComp")
- .setKey(Arrays.asList(
- new PropertyRef()
- .setPropertyName("PropertyInt16")))
- .setProperties(Arrays.asList(propertyInt16_NotNullable, propertyMixedPrimCollComp_CTMixPrimCollComp));
- }
-
- return null;
- }
-
- @Override
- public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
- if (enumTypeName.equals(nameENString)) {
- return new EnumType()
- .setName("ENString")
- .setMembers(Arrays.asList(
- new EnumMember().setName("String1").setValue("1"),
- new EnumMember().setName("String2").setValue("2"),
- new EnumMember().setName("String3").setValue("3")));
- }
-
- return null;
- }
-
- @Override
- public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String name)
- throws ODataException {
-
- if (entityContainer.equals(nameContainer)) {
- if (name.equals("FINRTInt16")) {
- return new FunctionImport()
- .setName("FINRTInt16")
- .setFunction(nameUFNRTInt16)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FINInvisibleRTInt16")) {
- return new FunctionImport()
- .setName("FINInvisibleRTInt16")
- .setFunction(nameUFNRTInt16);
-
- } else if (name.equals("FINInvisible2RTInt16")) {
- return new FunctionImport()
- .setName("FINInvisible2RTInt16")
- .setFunction(nameUFNRTInt16);
-
- } else if (name.equals("FICRTETKeyNav")) {
- return new FunctionImport()
- .setName("FICRTETKeyNav")
- .setFunction(nameUFCRTETKeyNav);
-
- } else if (name.equals("FICRTETTwoKeyNavParam")) {
- return new FunctionImport()
- .setName("FICRTETTwoKeyNavParam")
- .setFunction(nameUFCRTETTwoKeyNavParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTStringTwoParam")) {
- return new FunctionImport()
- .setName("FICRTStringTwoParam")
- .setFunction(nameUFCRTStringTwoParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCollStringTwoParam")) {
- return new FunctionImport()
- .setName("FICRTCollStringTwoParam")
- .setFunction(nameUFCRTCollStringTwoParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCTAllPrimTwoParam")) {
- return new FunctionImport()
- .setName("FICRTCTAllPrimTwoParam")
- .setFunction(nameUFCRTCTAllPrimTwoParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTESMixPrimCollCompTwoParam")) {
- return new FunctionImport()
- .setName("FICRTESMixPrimCollCompTwoParam")
- .setFunction(nameUFCRTESMixPrimCollCompTwoParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FINRTESMixPrimCollCompTwoParam")) {
- return new FunctionImport()
- .setName("FINRTESMixPrimCollCompTwoParam")
- .setFunction(nameUFNRTESMixPrimCollCompTwoParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCollCTTwoPrim")) {
- return new FunctionImport()
- .setName("FICRTCollCTTwoPrim")
- .setFunction(nameUFCRTCollCTTwoPrim)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTETMedia")) {
- return new FunctionImport()
- .setName("FICRTETMedia")
- .setFunction(nameUFCRTETMedia)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCTTwoPrimParam")) {
- return new FunctionImport()
- .setName("FICRTCTTwoPrimParam")
- .setFunction(nameUFCRTCTTwoPrimParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCTTwoPrim")) {
- return new FunctionImport()
- .setName("FICRTCTTwoPrim")
- .setFunction(nameUFCRTCTTwoPrim)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCollString")) {
- return new FunctionImport()
- .setName("FICRTCollString")
- .setFunction(nameUFCRTCollString)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTString")) {
- return new FunctionImport()
- .setName("FICRTString")
- .setFunction(nameUFCRTString)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTESTwoKeyNavParam")) {
- return new FunctionImport()
- .setName("FICRTESTwoKeyNavParam")
- .setFunction(nameUFCRTESTwoKeyNavParam)
- .setIncludeInServiceDocument(true);
-
- } else if (name.equals("FICRTCollCTTwoPrimParam")) {
- return new FunctionImport()
- .setName("FICRTCollCTTwoPrimParam")
- .setFunction(nameUFCRTCollCTTwoPrimParam)
- .setIncludeInServiceDocument(true);
-
- }
- }
-
- return null;
- }
-
- @Override
- public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
-
- if (functionName.equals(nameUFNRTInt16)) {
- return Arrays.asList(
- new Function()
- .setName("UFNRTInt16")
- .setParameters(new ArrayList<Parameter>())
- .setReturnType(
- new ReturnType().setType(nameString))
- );
-
- } else if (functionName.equals(nameUFCRTETKeyNav)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTETKeyNav")
- .setParameters(new ArrayList<Parameter>())
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETKeyNav))
- );
-
- } else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTETTwoKeyNavParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav)
- )
- );
-
- } else if (functionName.equals(nameUFCRTETTwoKeyNavParamCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTETTwoKeyNavParamCTTwoPrim")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterCTTwoPrim").setType(nameCTTwoPrim)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav)
- )
- );
-
- } else if (functionName.equals(nameUFCRTStringTwoParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTStringTwoParam")
- .setParameters(Arrays.asList(
- new Parameter()
- .setName("ParameterInt16")
- .setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString)),
- new Function()
- .setName("UFCRTStringTwoParam")
- .setParameters(Arrays.asList(
- new Parameter()
- .setName("ParameterString")
- .setType(nameString),
- new Parameter()
- .setName("ParameterInt16")
- .setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString))
-
- );
-
- } else if (functionName.equals(nameUFCRTESTwoKeyNavParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTESTwoKeyNavParam")
- .setParameters(Arrays.asList(
- new Parameter()
- .setName("ParameterInt16")
- .setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFCRTString)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTString")
-
- .setComposable(true)
- .setParameters(new ArrayList<Parameter>())
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString)
- )
- );
-
- } else if (functionName.equals(nameUFCRTCollStringTwoParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCollStringTwoParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFCRTCollString)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCollString")
- .setParameters(new ArrayList<Parameter>())
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCTAllPrimTwoParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTAllPrim))
- );
-
- } else if (functionName.equals(nameUFCRTCTTwoPrimParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCTTwoPrimParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim))
- );
- } else if (functionName.equals(nameUFCRTCollCTTwoPrimParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCollCTTwoPrimParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFCRTCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCTTwoPrim")
- .setParameters(new ArrayList<Parameter>())
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim))
- );
-
- } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCTTwoPrim")
-
- .setParameters(new ArrayList<Parameter>())
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFCRTETMedia)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTETMedia")
- .setParameters(new ArrayList<Parameter>())
- .setReturnType(
- new ReturnType().setType(nameETMedia))
- );
-
- } else if (functionName.equals(nameUFCRTString)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTString")
- .setParameters(new ArrayList<Parameter>())
- .setReturnType(new ReturnType()
- .setType(nameString)
- )
- );
-
- } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTCollCTTwoPrim")
- .setComposable(true)
- .setParameters(new ArrayList<Parameter>())
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFNRTESMixPrimCollCompTwoParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFNRTESMixPrimCollCompTwoParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(false)
- .setReturnType(
- new ReturnType().setType(nameETMixPrimCollComp).setCollection(true))
- );
-
- } else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTETAllPrimTwoParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETAllPrim))
- );
-
- } else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) {
- return Arrays.asList(
- new Function()
- .setName("UFCRTESMixPrimCollCompTwoParam")
- .setParameters(Arrays.asList(
- new Parameter().setName("ParameterString").setType(nameString),
- new Parameter().setName("ParameterInt16").setType(nameInt16)
- ))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETMixPrimCollComp).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCESTwoKeyNavRTESTwoKeyNav)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESTwoKeyNavRTESTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true)),
-
- new Function()
- .setName("BFCESTwoKeyNavRTESTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav).setCollection(true),
- new Parameter().setName("ParameterString").setType(nameString).setCollection(false)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true)),
- new Function()
- .setName("BFCESTwoKeyNavRTESTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETKeyNav).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true)),
- new Function()
- .setName("BFCESTwoKeyNavRTESTwoKeyNav")
- .setBound(true)
- .setParameters(
- Arrays.asList(new Parameter().setName("BindingParam").setType(nameETKeyNav).setCollection(true),
- new Parameter().setName("ParameterString").setType(nameString).setCollection(false)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) {
- return Arrays.asList(
- new Function().setName("BFCStringRTESTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameString)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) {
- return Arrays.asList(
- new Function()
- .setName("BFCETBaseTwoKeyNavRTETTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETBaseTwoKeyNav)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav)
- )
- );
-
- } else if (functionName.equals(nameBFCESBaseTwoKeyNavRTESBaseTwoKey)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESBaseTwoKeyNavRTESBaseTwoKey")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETBaseTwoKeyNav)
- .setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETBaseTwoKeyNav).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCESAllPrimRTCTAllPrim)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESAllPrimRTCTAllPrim")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETAllPrim).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTAllPrim))
- );
-
- } else if (functionName.equals(nameBFCESTwoKeyNavRTCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESTwoKeyNavRTCTTwoPrim")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim))
- );
-
- } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTTwoPrim)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESTwoKeyNavRTCollCTTwoPrim")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameCTTwoPrim).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCESTwoKeyNavRTString)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESTwoKeyNavRTString")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString))
- );
-
- } else if (functionName.equals(nameBFCESTwoKeyNavRTCollString)) {
- return Arrays.asList(
- new Function()
- .setName("BFCESTwoKeyNavRTCollString")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav).setCollection(true)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameString).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) {
- return Arrays.asList(
- new Function()
- .setName("BFCETTwoKeyNavRTESTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETTwoKeyNav)))
- .setComposable(true)
- .setReturnType(
- new ReturnType().setType(nameETTwoKeyNav).setCollection(true))
- );
-
- } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) {
- return Arrays.asList(
- new Function()
- .setName("BFCETBaseTwoKeyNavRTESTwoKeyNav")
- .setBound(true)
- .setParameters(Arrays.asList(
- new Parameter().setName("BindingParam").setType(nameETBaseTwoKeyNav)))
- .setComposable(true)
-
<TRUNCATED>