You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/05/12 15:17:20 UTC
[23/40] [OLINGO-266] refactor ref module to server-ref
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ca9b3c6/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
new file mode 100644
index 0000000..9072234
--- /dev/null
+++ b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EntityTypeProvider.java
@@ -0,0 +1,408 @@
+/*
+ * 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 */))
+ .setNavigationProperties(Arrays.asList(PropertyProvider.navPropertyETTwoPrimOne_ETTwoPrim,
+ PropertyProvider.collectionNavPropertyETTwoPrimMany_ETTwoPrim));
+
+ } 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))
+ .setNavigationProperties(
+ Arrays.asList(PropertyProvider.navPropertyETAllPrimOne_ETAllPrim,
+ PropertyProvider.collectionNavPropertyETAllPrimMany_ETAllPrim));
+
+ } 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_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()
+ .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("ETCompCollAllPrim")
+ .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("ETMedia")
+ .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(nameETServerSidePaging.getName())
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(PropertyProvider.propertyInt16_NotNullable,
+ PropertyProvider.propertyString_NotNullable));
+
+ } 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).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()
+ .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_NotNullable,
+ PropertyProvider.collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav,
+ PropertyProvider.navPropertyETKeyNavOne_ETKeyNav,
+ PropertyProvider.collectionNavPropertyETKeyNavMany_ETKeyNav,
+ PropertyProvider.navPropertyETMediaOne_ETMedia,
+ PropertyProvider.collectionNavPropertyETMediaMany_ETMedia
+ ));
+ } else if (entityTypeName.equals(nameETKeyPrimNav)) {
+ return new EntityType()
+ .setName("ETKeyPrimNav")
+ .setKey(Arrays.asList(new PropertyRef().setPropertyName("PropertyInt16")))
+ .setProperties(Arrays.asList(
+ PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyString_ExplicitNullable))
+ .setNavigationProperties(
+ Arrays.asList(
+ PropertyProvider.navPropertyETKeyPrimNavOne_ETKeyPrimNav));
+
+ } 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_NotNullable, PropertyProvider.propertyString_NotNullable,
+ PropertyProvider.propertyComplex_CTPrimComp_NotNullable,
+ new Property().setName("PropertyComplexNav").setType(ComplexTypeProvider.nameCTBasePrimCompNav)
+ .setNullable(false),
+ 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_ExplicitNullable))
+ .setNavigationProperties(Arrays.asList(
+ new NavigationProperty()
+ .setName("NavPropertyETBaseTwoKeyNavOne")
+ .setType(nameETBaseTwoKeyNav),
+ new NavigationProperty()
+ .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_ExplicitNullable))
+ .setNavigationProperties(Arrays.asList(
+ 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().setPath("PropertyComplex/PropertyInt16").setPropertyName("PropertyInt16").setAlias(
+ "KeyAlias1"),
+ new PropertyRef().setPath("PropertyComplex/PropertyString").setPropertyName("PropertyString")
+ .setAlias("KeyAlias2"),
+ new PropertyRef().setPath("PropertyComplexComplex/PropertyComplex/PropertyString").setPropertyName(
+ "PropertyString").setAlias("KeyAlias3"))).setProperties(
+ Arrays.asList(PropertyProvider.propertyInt16_NotNullable, 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/8ca9b3c6/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
new file mode 100644
index 0000000..94ea6ea
--- /dev/null
+++ b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
@@ -0,0 +1,47 @@
+/*
+ * 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.EdmPrimitiveTypeKind;
+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")
+ .setFlags(true)
+ .setUnderlyingType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName())
+ .setMembers(Arrays.asList(
+ new EnumMember().setName("String1").setValue("1"),
+ new EnumMember().setName("String2").setValue("2"),
+ new EnumMember().setName("String3").setValue("3")));
+ }
+
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8ca9b3c6/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
new file mode 100644
index 0000000..fe6fefb
--- /dev/null
+++ b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
@@ -0,0 +1,852 @@
+/*
+ * 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");
+
+ // 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 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)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFNRTInt16")
+ .setParameters(new ArrayList<Parameter>())
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameInt16))
+ );
+
+ } else if (functionName.equals(nameUFCRTETKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETKeyNav")
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETTwoKeyNavParam")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTETTwoKeyNavParamCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETTwoKeyNavParamCTTwoPrim")
+ .setParameters(Arrays.asList(
+ new Parameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTStringTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTStringTwoParam")
+ .setParameters(Arrays.asList(
+ new Parameter()
+ .setName("ParameterInt16")
+ .setType(PropertyProvider.nameInt16)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false)),
+ new Function()
+ .setName("UFCRTStringTwoParam")
+ .setParameters(Arrays.asList(
+ 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).setNullable(false))
+
+ );
+
+ } else if (functionName.equals(nameUFCRTESTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTESTwoKeyNavParam")
+ .setParameters(Arrays.asList(
+ new Parameter()
+ .setName("ParameterInt16")
+ .setType(PropertyProvider.nameInt16)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } 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).setNullable(false)
+ )
+ );
+
+ } else if (functionName.equals(nameUFCRTCollStringTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCollStringTwoParam")
+ .setParameters(Arrays.asList(
+ 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).setNullable(false))
+ );
+
+ } 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).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTAllPrimTwoParam")
+ .setParameters(Arrays.asList(
+ 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).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTCTTwoPrimParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTTwoPrimParam")
+ .setParameters(Arrays.asList(
+ 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).setNullable(false))
+ );
+ } else if (functionName.equals(nameUFCRTCollCTTwoPrimParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCollCTTwoPrimParam")
+ .setParameters(Arrays.asList(
+ 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).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTCTTwoPrim")
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
+ );
+
+ } 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).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTETMedia)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETMedia")
+ .setParameters(new ArrayList<Parameter>())
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETMedia).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFNRTESMixPrimCollCompTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFNRTESMixPrimCollCompTwoParam")
+ .setParameters(Arrays.asList(
+ 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)
+ .setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTETAllPrimTwoParam")
+ .setParameters(Arrays.asList(
+ 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).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("UFCRTESMixPrimCollCompTwoParam")
+ .setParameters(Arrays.asList(
+ 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)
+ .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(
+ new Function()
+ .setName("BFCESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
+ .setNullable(false)),
+
+ new Function()
+ .setName("BFCESTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setCollection(true).setNullable(false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setCollection(false).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ 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).setNullable(false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setCollection(false).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
+ .setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function().setName("BFCStringRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETBaseTwoKeyNavRTETTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
+ )
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true)
+ .setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETBaseTwoKeyNavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCSINavRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCSINavRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
+ false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESBaseTwoKey)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETBaseTwoKeyNavRTESBaseTwoKey")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable(
+ false))
+ );
+
+ } 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)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTESTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
+ false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCCTPrimCompRTESBaseTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTESBaseTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
+ false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable(
+ false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true).setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))
+ );
+
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCETKeyNavRTETKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETKeyNavRTETKeyNav")
+ .setBound(true)
+ .setParameters(Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
+ );
+ } 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).setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
+
+ );
+
+ } else if (functionName.equals(nameBFCETTwoKeyNavRTETTwoKeyNav)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETTwoKeyNavRTETTwoKeyNav")
+ .setBound(true)
+ .setParameters(
+ Arrays.asList(
+ new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
+ false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))
+ );
+
+ } else if (functionName.equals(nameBFCETTwoKeyNavRTCTTwoPrim)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCETTwoKeyNavRTCTTwoPrim")
+ .setBound(true)
+ .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.nameCTNavFiveProp).setCollection(true)
+ .setNullable(false))
+ );
+ } 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).setNullable(false),
+ new Parameter().setName("ParameterComplex").setType(ComplexTypeProvider.nameCTTwoPrim)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
+ );
+
+ } 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).setNullable(false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(
+ 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).setNullable(
+ false),
+ new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
+ .setNullable(false)))
+ .setComposable(true)
+ .setReturnType(new ReturnType()
+ .setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
+ )
+ );
+ } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNavParam)) {
+ return Arrays.asList(
+ new Function()
+ .setName("BFCCTPrimCompRTESTwoKeyNavParam")
+ .setBound(true)
+ .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).setNullable(false))
+ );
+ }
+
+ return null;
+ }
+
+}