http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/FunctionData.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/FunctionData.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/FunctionData.java index d9d0ff1..c11aa7d 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/FunctionData.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/FunctionData.java @@ -26,6 +26,7 @@ import java.util.Map; import org.apache.olingo.commons.api.data.ComplexValue; import org.apache.olingo.commons.api.data.Entity; import org.apache.olingo.commons.api.data.EntityCollection; +import org.apache.olingo.commons.api.data.Parameter; import org.apache.olingo.commons.api.data.Property; import org.apache.olingo.commons.api.data.ValueType; import org.apache.olingo.commons.api.http.HttpStatusCode; @@ -34,12 +35,12 @@ import org.apache.olingo.server.tecsvc.data.DataProvider.DataProviderException; public class FunctionData { protected static EntityCollection entityCollectionFunction(final String name, - final Map<String, Object> parameterValues, final Map<String, EntityCollection> data) + final Map<String, Parameter> parameters, final Map<String, EntityCollection> data) throws DataProviderException { if (name.equals("UFCRTCollETTwoKeyNavParam")) { final List<Entity> esTwoKeyNav = data.get("ESTwoKeyNav").getEntities(); EntityCollection result = new EntityCollection(); - final int endIndex = parameterValues.isEmpty() ? 0 : getParameterInt16(parameterValues); + final int endIndex = parameters.isEmpty() ? 0 : getParameterInt16(parameters); result.getEntities().addAll( esTwoKeyNav.subList(0, endIndex < 0 ? 0 : endIndex > esTwoKeyNav.size() ? esTwoKeyNav.size() : endIndex)); @@ -54,7 +55,7 @@ public class FunctionData { } } - protected static Entity entityFunction(final String name, final Map<String, Object> parameterValues, + protected static Entity entityFunction(final String name, final Map<String, Parameter> parameters, final Map<String, EntityCollection> data) throws DataProviderException { final List<Entity> esTwoKeyNav = data.get("ESTwoKeyNav").getEntities(); if (name.equals("UFCRTETKeyNav")) { @@ -62,12 +63,26 @@ public class FunctionData { } else if (name.equals("UFCRTETTwoKeyNav")) { return esTwoKeyNav.get(0); } else if (name.equals("UFCRTETTwoKeyNavParam")) { - final int index = parameterValues.isEmpty() ? 0 : getParameterInt16(parameterValues); + final int index = parameters.isEmpty() ? 0 : getParameterInt16(parameters); return index < 0 || index >= esTwoKeyNav.size() ? null : esTwoKeyNav.get(index); } else if (name.equals("UFCRTETMedia")) { - final int index = parameterValues.isEmpty() ? 1 : getParameterInt16(parameterValues); + final int index = parameters.isEmpty() ? 1 : getParameterInt16(parameters); final List<Entity> esMedia = data.get("ESMedia").getEntities(); return index < 1 || index > esMedia.size() ? null : esMedia.get(index - 1); + } else if (name.equals("UFCRTETTwoKeyNavParamCTTwoPrim")) { + final List<Property> parameterProperties = parameters.get("ParameterCTTwoPrim").asComplex().getValue(); + if (parameterProperties == null || parameterProperties.size() < 2) { + return null; + } + final Short parameterInt16 = (Short) parameterProperties.get(0).asPrimitive(); + final String parameterString = (String) parameterProperties.get(1).asPrimitive(); + for (final Entity entity : esTwoKeyNav) { + if (entity.getProperty("PropertyInt16").asPrimitive().equals(parameterInt16) + && entity.getProperty("PropertyString").asPrimitive().equals(parameterString)) { + return entity; + } + } + return null; } else { throw new DataProviderException("Function " + name + " is not yet implemented.", HttpStatusCode.NOT_IMPLEMENTED); @@ -75,7 +90,7 @@ public class FunctionData { } @SuppressWarnings("unchecked") - protected static Property primitiveComplexFunction(final String name, final Map<String, Object> parameterValues, + protected static Property primitiveComplexFunction(final String name, final Map<String, Parameter> parameters, final Map<String, EntityCollection> data) throws DataProviderException { if (name.equals("UFNRTInt16")) { return DataCreator.createPrimitive(name, (short) 12345); @@ -89,8 +104,8 @@ public class FunctionData { DataCreator.createPrimitive("PropertyString", "UFCRTCTTwoPrim string value")); } else if (name.equals("UFCRTCTTwoPrimParam")) { return DataCreator.createComplex(name, - DataCreator.createPrimitive("PropertyInt16", getParameterInt16(parameterValues)), - DataCreator.createPrimitive("PropertyString", getParameterString(parameterValues))); + DataCreator.createPrimitive("PropertyInt16", getParameterInt16(parameters)), + DataCreator.createPrimitive("PropertyString", getParameterString(parameters))); } else if (name.equals("UFCRTCollCTTwoPrim")) { return DataCreator.createComplexCollection(name, Arrays.asList(DataCreator.createPrimitive("PropertyInt16", (short) 16), @@ -100,12 +115,12 @@ public class FunctionData { Arrays.asList(DataCreator.createPrimitive("PropertyInt16", 18), DataCreator.createPrimitive("PropertyString", "Test678"))); } else if (name.equals("UFCRTStringTwoParam")) { - final String parameterString = getParameterString(parameterValues); + final String parameterString = getParameterString(parameters); // ParameterString is not provided if (parameterString == null) { return DataCreator.createPrimitive(name, null); } else { - final Short parameterInt16 = getParameterInt16(parameterValues); + final Short parameterInt16 = getParameterInt16(parameters); final StringBuilder builder = new StringBuilder(); // if parameterInt16 <= 0 return an empty string for (short i = parameterInt16; i > 0; i--) { @@ -119,8 +134,8 @@ public class FunctionData { return DataCreator.createPrimitive(name, builder.toString()); } } else if (name.equals("UFCRTCollCTTwoPrimTwoParam")) { - final Short parameterInt16 = getParameterInt16(parameterValues); - final String parameterString = getParameterString(parameterValues); + final Short parameterInt16 = getParameterInt16(parameters); + final String parameterString = getParameterString(parameters); if (parameterString == null) { return DataCreator.createComplexCollection(name, Arrays.asList(DataCreator.createPrimitive("PropertyInt16", 1), @@ -139,17 +154,31 @@ public class FunctionData { } return new Property(null, name, ValueType.COLLECTION_COMPLEX, complexValues); } + } else if (name.equals("UFNRTByteNineParam")) { + short count = 0; // counts non-empty parameters + for (final Parameter parameter : parameters.values()) { + if (!(parameter.isNull() + || !parameter.isCollection() + && (parameter.isComplex() && parameter.asComplex().getValue().isEmpty() + || parameter.isEntity() && ((Entity) parameter.getValue()).getProperties().isEmpty()) + || parameter.isCollection() + && (parameter.isEntity() && ((EntityCollection) parameter.getValue()).getEntities().isEmpty() + || parameter.asCollection().isEmpty()))) { + count++; + } + } + return DataCreator.createPrimitive(null, count); } else { throw new DataProviderException("Function " + name + " is not yet implemented.", HttpStatusCode.NOT_IMPLEMENTED); } } - private static Short getParameterInt16(final Map<String, Object> parameterValues) { - return (Short) parameterValues.get("ParameterInt16"); + private static Short getParameterInt16(final Map<String, Parameter> parameters) { + return parameters.containsKey("ParameterInt16") ? (Short) parameters.get("ParameterInt16").getValue() : null; } - private static String getParameterString(final Map<String, Object> parameterValues) { - return (String) parameterValues.get("ParameterString"); + private static String getParameterString(final Map<String, Parameter> parameters) { + return parameters.containsKey("ParameterString") ? (String) parameters.get("ParameterString").getValue() : null; } }
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/ExpressionVisitorImpl.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/ExpressionVisitorImpl.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/ExpressionVisitorImpl.java index 95343fd..a2ff719 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/ExpressionVisitorImpl.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/ExpressionVisitorImpl.java @@ -23,14 +23,20 @@ import java.util.Locale; import org.apache.olingo.commons.api.data.Entity; import org.apache.olingo.commons.api.data.Property; +import org.apache.olingo.commons.api.edm.Edm; import org.apache.olingo.commons.api.edm.EdmEnumType; +import org.apache.olingo.commons.api.edm.EdmFunction; import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException; import org.apache.olingo.commons.api.edm.EdmProperty; import org.apache.olingo.commons.api.edm.EdmType; +import org.apache.olingo.commons.api.edm.constants.EdmTypeKind; import org.apache.olingo.commons.api.http.HttpStatusCode; +import org.apache.olingo.server.api.OData; import org.apache.olingo.server.api.ODataApplicationException; import org.apache.olingo.server.api.uri.UriInfoResource; +import org.apache.olingo.server.api.uri.UriParameter; import org.apache.olingo.server.api.uri.UriResource; +import org.apache.olingo.server.api.uri.UriResourceFunction; import org.apache.olingo.server.api.uri.UriResourceProperty; import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKind; import org.apache.olingo.server.api.uri.queryoption.expression.Expression; @@ -39,6 +45,7 @@ import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor import org.apache.olingo.server.api.uri.queryoption.expression.Literal; 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.tecsvc.data.DataProvider; import org.apache.olingo.server.tecsvc.processor.queryoptions.expression.operand.TypedOperand; import org.apache.olingo.server.tecsvc.processor.queryoptions.expression.operand.UntypedOperand; import org.apache.olingo.server.tecsvc.processor.queryoptions.expression.operand.VisitorOperand; @@ -50,10 +57,12 @@ public class ExpressionVisitorImpl implements ExpressionVisitor<VisitorOperand> private final Entity entity; private final UriInfoResource uriInfo; + private final Edm edm; - public ExpressionVisitorImpl(final Entity entity, final UriInfoResource uriInfo) { + public ExpressionVisitorImpl(final Entity entity, final UriInfoResource uriInfo, final Edm edm) { this.entity = entity; this.uriInfo = uriInfo; + this.edm = edm; } @Override @@ -180,28 +189,44 @@ public class ExpressionVisitorImpl implements ExpressionVisitor<VisitorOperand> final List<UriResource> uriResourceParts = member.getUriResourceParts(); - // UriResourceParts contains at least one UriResource - if (!(uriResourceParts.get(0) instanceof UriResourceProperty)) { - return throwNotImplemented(); - } - - EdmProperty currentEdmProperty = ((UriResourceProperty) uriResourceParts.get(0)).getProperty(); - Property currentProperty = entity.getProperty(currentEdmProperty.getName()); - - for (int i = 1; i < uriResourceParts.size(); i++) { - if (currentProperty.isComplex()) { - currentEdmProperty = ((UriResourceProperty) uriResourceParts.get(i)).getProperty(); - final List<Property> complex = currentProperty.asComplex().getValue(); - for (final Property innerProperty : complex) { - if (innerProperty.getName().equals(currentEdmProperty.getName())) { - currentProperty = innerProperty; - break; + // UriResourceParts contains at least one UriResource. + final UriResource initialPart = uriResourceParts.get(0); + if (initialPart instanceof UriResourceProperty) { + EdmProperty currentEdmProperty = ((UriResourceProperty) initialPart).getProperty(); + Property currentProperty = entity.getProperty(currentEdmProperty.getName()); + for (int i = 1; i < uriResourceParts.size(); i++) { + if (currentProperty.isComplex()) { + currentEdmProperty = ((UriResourceProperty) uriResourceParts.get(i)).getProperty(); + final List<Property> complex = currentProperty.asComplex().getValue(); + for (final Property innerProperty : complex) { + if (innerProperty.getName().equals(currentEdmProperty.getName())) { + currentProperty = innerProperty; + break; + } } } } - } + return new TypedOperand(currentProperty.getValue(), currentEdmProperty.getType(), currentEdmProperty); - return new TypedOperand(currentProperty.getValue(), currentEdmProperty.getType(), currentEdmProperty); + } else if (initialPart instanceof UriResourceFunction) { + final EdmFunction function = ((UriResourceFunction) initialPart).getFunction(); + if (uriResourceParts.size() > 1) { + return throwNotImplemented(); + } + final EdmType type = function.getReturnType().getType(); + final DataProvider dataProvider = new DataProvider(OData.newInstance(), edm); + final List<UriParameter> parameters = ((UriResourceFunction) initialPart).getParameters(); + return new TypedOperand( + type.getKind() == EdmTypeKind.ENTITY ? + function.getReturnType().isCollection() ? + dataProvider.readFunctionEntityCollection(function, parameters, uriInfo) : + dataProvider.readFunctionEntity(function, parameters, uriInfo) : + dataProvider.readFunctionPrimitiveComplex(function, parameters, uriInfo), + type); + + } else { + return throwNotImplemented(); + } } @Override http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operand/TypedOperand.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operand/TypedOperand.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operand/TypedOperand.java index fc36f96..c9370b5 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operand/TypedOperand.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operand/TypedOperand.java @@ -20,6 +20,7 @@ package org.apache.olingo.server.tecsvc.processor.queryoptions.expression.operan import java.math.BigDecimal; import java.math.BigInteger; +import java.util.Collection; import java.util.Locale; import org.apache.olingo.commons.api.edm.EdmPrimitiveType; @@ -48,10 +49,16 @@ public class TypedOperand extends VisitorOperand { @Override public TypedOperand asTypedOperand() throws ODataApplicationException { - if (!isNull() && value.getClass() != getDefaultType((EdmPrimitiveType) type)) { - return asTypedOperand((EdmPrimitiveType) type); + if (isNull()) { + return this; + } else if (type instanceof EdmPrimitiveType && !(value instanceof Collection)) { + return value.getClass() == getDefaultType((EdmPrimitiveType) type) ? + this : + asTypedOperand((EdmPrimitiveType) type); + } else { + throw new ODataApplicationException("A single primitive-type instance is expected.", + HttpStatusCode.BAD_REQUEST.getStatusCode(), Locale.ROOT); } - return this; } @Override http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operation/BinaryOperator.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operation/BinaryOperator.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operation/BinaryOperator.java index 5c24127..a870f1a 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operation/BinaryOperator.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/expression/operation/BinaryOperator.java @@ -37,7 +37,7 @@ import org.apache.olingo.server.tecsvc.processor.queryoptions.expression.primiti public class BinaryOperator { private static final int FACTOR_SECOND_INT = 1000; - private static final BigDecimal FACTOR_SECOND = new BigDecimal(1000); + private static final BigDecimal FACTOR_SECOND = BigDecimal.valueOf(FACTOR_SECOND_INT); private static final BigInteger EDM_SBYTE_MIN = BigInteger.valueOf(Byte.MIN_VALUE); private static final BigInteger EDN_SBYTE_MAX = BigInteger.valueOf(Byte.MAX_VALUE); private static final BigInteger EDM_BYTE_MIN = BigInteger.ZERO; @@ -56,35 +56,29 @@ public class BinaryOperator { private static final int GREATER_THAN = 1; protected static final OData oData; - protected static final EdmPrimitiveType primString; protected static final EdmPrimitiveType primBoolean; protected static final EdmPrimitiveType primDateTimeOffset; protected static final EdmPrimitiveType primDate; - protected static final EdmPrimitiveType primTimeOfDay; protected static final EdmPrimitiveType primDuration; protected static final EdmPrimitiveType primSByte; protected static final EdmPrimitiveType primByte; protected static final EdmPrimitiveType primInt16; protected static final EdmPrimitiveType primInt32; protected static final EdmPrimitiveType primInt64; - protected static final EdmPrimitiveType primDecimal; protected static final EdmPrimitiveType primSingle; protected static final EdmPrimitiveType primDouble; static { oData = OData.newInstance(); - primString = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.String); primBoolean = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Boolean); primDateTimeOffset = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.DateTimeOffset); primDate = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Date); - primTimeOfDay = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.TimeOfDay); primDuration = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Duration); primSByte = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.SByte); primByte = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Byte); primInt16 = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Int16); primInt32 = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Int32); primInt64 = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Int64); - primDecimal = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Decimal); primSingle = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Single); primDouble = oData.createPrimitiveTypeInstance(EdmPrimitiveTypeKind.Double); } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/FilterHandler.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/FilterHandler.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/FilterHandler.java index 1a19016..b2bd405 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/FilterHandler.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/FilterHandler.java @@ -53,7 +53,7 @@ public class FilterHandler { while (iter.hasNext()) { final VisitorOperand operand = filterOption.getExpression() - .accept(new ExpressionVisitorImpl(iter.next(), uriInfo)); + .accept(new ExpressionVisitorImpl(iter.next(), uriInfo, edm)); final TypedOperand typedOperand = operand.asTypedOperand(); if (typedOperand.is(primBoolean)) { http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/OrderByHandler.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/OrderByHandler.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/OrderByHandler.java index ddcf0af..ad1d2d5 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/OrderByHandler.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/processor/queryoptions/options/OrderByHandler.java @@ -70,9 +70,9 @@ public class OrderByHandler { try { final OrderByItem item = orderByOption.getOrders().get(i); final TypedOperand op1 = - item.getExpression().accept(new ExpressionVisitorImpl(e1, uriInfo)).asTypedOperand(); + item.getExpression().accept(new ExpressionVisitorImpl(e1, uriInfo, edm)).asTypedOperand(); final TypedOperand op2 = - item.getExpression().accept(new ExpressionVisitorImpl(e2, uriInfo)).asTypedOperand(); + item.getExpression().accept(new ExpressionVisitorImpl(e2, uriInfo, edm)).asTypedOperand(); if (op1.isNull() || op2.isNull()) { if (op1.isNull() && op2.isNull()) { http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java index 9f91763..e9c879e 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java @@ -25,6 +25,7 @@ import java.util.List; import org.apache.olingo.commons.api.edm.FullQualifiedName; import org.apache.olingo.commons.api.edm.provider.CsdlActionImport; import org.apache.olingo.commons.api.edm.provider.CsdlAnnotation; +import org.apache.olingo.commons.api.edm.provider.CsdlEdmProvider; import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainer; import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainerInfo; import org.apache.olingo.commons.api.edm.provider.CsdlEntitySet; @@ -50,10 +51,7 @@ public class ContainerProvider { public static final String AIRT_TWO_PARAM = "AIRTTwoParam"; public static final String AIRT_BYTE_NINE_PARAM = "AIRTByteNineParam"; - CsdlEntityContainerInfo entityContainerInfoTest1 = - new CsdlEntityContainerInfo().setContainerName(nameContainer); - - private EdmTechProvider prov; + private final CsdlEdmProvider prov; public ContainerProvider(final EdmTechProvider edmTechProvider) { prov = edmTechProvider; @@ -61,12 +59,9 @@ public class ContainerProvider { public CsdlEntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException { - if (entityContainerName == null) { - return entityContainerInfoTest1; - } else if (entityContainerName.equals(nameContainer)) { - return entityContainerInfoTest1; + if (entityContainerName == null || entityContainerName.equals(nameContainer)) { + return new CsdlEntityContainerInfo().setContainerName(nameContainer); } - return null; } @@ -154,6 +149,7 @@ public class ContainerProvider { functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrimTwoParam")); functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTCollCTNavFiveProp")); functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollESKeyNavContParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTByteNineParam")); return container; } @@ -209,6 +205,7 @@ public class ContainerProvider { new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String) .setValue("System Query Options: $expand, $select, " + "$format; Operations: Read, Update, Delete")))); + } else if (name.equals("ESTwoPrim")) { return new CsdlEntitySet() .setName("ESTwoPrim") @@ -411,7 +408,6 @@ public class ContainerProvider { .setType(EntityTypeProvider.nameETAllNullable); } else if (name.equals("ESKeyNav")) { - return new CsdlEntitySet() .setName("ESKeyNav") .setType(EntityTypeProvider.nameETKeyNav) @@ -466,8 +462,7 @@ public class ContainerProvider { .setTarget("ESTwoKeyNav"), new CsdlNavigationPropertyBinding() .setPath("PropertyCompNav/com.corp.odata.test1.CTNavFiveProp/NavPropertyETTwoKeyNavMany") - .setTarget("ESTwoKeyNav") - )); + .setTarget("ESTwoKeyNav"))); } else if (name.equals("ESTwoKeyNav")) { return new CsdlEntitySet() @@ -521,8 +516,7 @@ public class ContainerProvider { .setTarget("ESBaseTwoKeyNav"), new CsdlNavigationPropertyBinding() .setPath("NavPropertySINav") - .setTarget("SINav") - )); + .setTarget("SINav"))); } else if (name.equals("ESKeyNavCont")) { return new CsdlEntitySet() @@ -546,8 +540,7 @@ public class ContainerProvider { .setTarget("ESKeyNav"), new CsdlNavigationPropertyBinding() .setPath("PropertyCompNavCont/NavPropertyETTwoKeyNavContOne/NavPropertyETKeyNavOne") - .setTarget("ESKeyNav") - )); + .setTarget("ESKeyNav"))); } else if (name.equals("ESBaseTwoKeyNav")) { return new CsdlEntitySet() @@ -556,8 +549,8 @@ public class ContainerProvider { .setNavigationPropertyBindings(Arrays.asList( new CsdlNavigationPropertyBinding() .setPath("NavPropertyETKeyNavMany") - .setTarget("ESKeyNav")) - ); + .setTarget("ESKeyNav"))); + } else if (name.equals("ESTwoBaseTwoKeyNav")) { return new CsdlEntitySet() .setName("ESTwoBaseTwoKeyNav") @@ -574,8 +567,8 @@ public class ContainerProvider { .setType(EntityTypeProvider.nameETFourKeyAlias); } else if (name.equals("ESMixEnumDefCollComp")) { - return new CsdlEntitySet().setName("ESMixEnumDefCollComp").setType( - EntityTypeProvider.nameETMixEnumDefCollComp); + return new CsdlEntitySet().setName("ESMixEnumDefCollComp") + .setType(EntityTypeProvider.nameETMixEnumDefCollComp); } } @@ -732,12 +725,19 @@ public class ContainerProvider { .setFunction(FunctionProvider.nameUFCRTCollCTTwoPrim) .setIncludeInServiceDocument(true); + } else if (name.equals("FINRTByteNineParam")) { + return new CsdlFunctionImport() + .setName(name) + .setFunction(FunctionProvider.nameUFNRTByteNineParam) + .setIncludeInServiceDocument(true); + } else if (name.equals("FICRTESMedia")) { return new CsdlFunctionImport() .setName(name) .setFunction(FunctionProvider.nameUFCRTETMedia) .setEntitySet(entityContainer.getFullQualifiedNameAsString() + "/ESMedia") .setIncludeInServiceDocument(true); + } else if (name.equals("FICRTCollESMedia")) { return new CsdlFunctionImport() .setName(name) @@ -806,7 +806,7 @@ public class ContainerProvider { if (name.equals("SI")) { return new CsdlSingleton() .setName("SI") - .setTitle("Simple Singelton") + .setTitle("Simple Singleton") .setType(EntityTypeProvider.nameETTwoPrim); } else if (name.equals("SINav")) { @@ -822,8 +822,7 @@ public class ContainerProvider { .setTarget("ESTwoKeyNav"), new CsdlNavigationPropertyBinding() .setPath("NavPropertyETKeyNavOne") - .setTarget("ESKeyNav") - )); + .setTarget("ESKeyNav"))); } else if (name.equals("SIMedia")) { return new CsdlSingleton() http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3fa2b3df/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/FunctionProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/FunctionProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/FunctionProvider.java index 73e218f..b60b954 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/FunctionProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/FunctionProvider.java @@ -18,16 +18,15 @@ */ package org.apache.olingo.server.tecsvc.provider; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.apache.olingo.commons.api.ex.ODataException; import org.apache.olingo.commons.api.edm.FullQualifiedName; import org.apache.olingo.commons.api.edm.provider.CsdlFunction; import org.apache.olingo.commons.api.edm.provider.CsdlParameter; import org.apache.olingo.commons.api.edm.provider.CsdlReturnType; +import org.apache.olingo.commons.api.ex.ODataException; public class FunctionProvider { @@ -173,30 +172,32 @@ 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 nameUFNRTCollCTNavFiveProp = + new FullQualifiedName(SchemaProvider.NAMESPACE, "UFNRTCollCTNavFiveProp"); + + public static final FullQualifiedName nameUFNRTCollETMixPrimCollCompTwoParam = + new FullQualifiedName(SchemaProvider.NAMESPACE, "UFNRTCollETMixPrimCollCompTwoParam"); - public static final FullQualifiedName nameUFNRTCollETMixPrimCollCompTwoParam = new FullQualifiedName( - SchemaProvider.NAMESPACE, "UFNRTCollETMixPrimCollCompTwoParam"); + public static final FullQualifiedName nameUFNRTByteNineParam = + new FullQualifiedName(SchemaProvider.NAMESPACE, "UFNRTByteNineParam"); public List<CsdlFunction> getFunctions(final FullQualifiedName functionName) throws ODataException { if (functionName.equals(nameUFNRTInt16)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName(functionName.getName()) .setParameters(Collections.<CsdlParameter> emptyList()) .setReturnType(new CsdlReturnType().setType(PropertyProvider.nameInt16))); } else if (functionName.equals(nameUFCRTETKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTETKeyNav") - .setParameters(new ArrayList<CsdlParameter>()) + .setParameters(Collections.<CsdlParameter> emptyList()) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))); } else if (functionName.equals(nameUFCRTETTwoKeyNav)) { return Collections.singletonList( @@ -207,23 +208,20 @@ public class FunctionProvider { .setReturnType( new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))); } else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) { - return Arrays - .asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTETTwoKeyNavParam") - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false))) .setComposable(true) - .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) - ) + .setReturnType(new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)) ); } else if (functionName.equals(nameUFCRTETTwoKeyNavParamCTTwoPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTETTwoKeyNavParamCTTwoPrim") - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim) .setNullable(false))) .setComposable(true) @@ -236,7 +234,7 @@ public class FunctionProvider { return Arrays.asList( new CsdlFunction() .setName("UFCRTStringTwoParam") - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter() .setName("ParameterInt16") .setType(PropertyProvider.nameInt16) @@ -256,12 +254,10 @@ public class FunctionProvider { .setType(PropertyProvider.nameInt16) .setNullable(false))) .setComposable(true) - .setReturnType(new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(true)) - - ); + .setReturnType(new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(true))); } else if (functionName.equals(nameUFCRTCollETTwoKeyNavParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName(functionName.getName()) .setParameters(Collections.singletonList( @@ -271,159 +267,170 @@ public class FunctionProvider { .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameUFCRTCollETKeyNavContParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCollETKeyNavContParam") .setBound(true) .setComposable(true) - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("ParameterInt16") .setNullable(false) .setType(PropertyProvider.nameInt16))) .setReturnType(new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNavCont) .setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameUFCRTString)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTString") - .setComposable(true) - .setParameters(new ArrayList<CsdlParameter>()) + .setParameters(Collections.<CsdlParameter> emptyList()) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(false) - ) - ); + new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(false))); } else if (functionName.equals(nameUFCRTCollStringTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCollStringTwoParam") - .setParameters( - Arrays.asList( - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false), - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false))) + .setParameters(Arrays.asList( + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false), + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false)) - ); + new CsdlReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))); } else if (functionName.equals(nameUFCRTCollString)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCollString") - .setParameters(new ArrayList<CsdlParameter>()) + .setParameters(Collections.<CsdlParameter> emptyList()) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false)) - ); + new CsdlReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))); } else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCTAllPrimTwoParam") .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false), - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false))) + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false), + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))); } else if (functionName.equals(nameUFNRTCollETMixPrimCollCompTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFNRTCollETMixPrimCollCompTwoParam") .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false), - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false))) + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false), + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false))) .setComposable(false) .setBound(false) .setReturnType( new CsdlReturnType().setType(ComplexTypeProvider.nameCTMixPrimCollComp) .setNullable(false) - .setCollection(true)) - ); + .setCollection(true))); + + } else if (functionName.equals(nameUFNRTByteNineParam)) { + return Collections.singletonList( + new CsdlFunction() + .setName(functionName.getName()) + .setParameters(Arrays.asList( + new CsdlParameter().setName("ParameterEnum").setType(EnumTypeProvider.nameENString), + new CsdlParameter().setName("ParameterDef").setType(TypeDefinitionProvider.nameTDString), + new CsdlParameter().setName("ParameterComp").setType(ComplexTypeProvider.nameCTTwoPrim), + new CsdlParameter().setName("ParameterETTwoPrim").setType(EntityTypeProvider.nameETTwoPrim), + new CsdlParameter().setName("CollParameterByte").setType(PropertyProvider.nameByte) + .setCollection(true), + new CsdlParameter().setName("CollParameterEnum").setType(EnumTypeProvider.nameENString) + .setCollection(true), + new CsdlParameter().setName("CollParameterDef").setType(TypeDefinitionProvider.nameTDString) + .setCollection(true), + new CsdlParameter().setName("CollParameterComp").setType(ComplexTypeProvider.nameCTTwoPrim) + .setCollection(true), + new CsdlParameter().setName("CollParameterETTwoPrim").setType(EntityTypeProvider.nameETTwoPrim) + .setCollection(true))) + .setComposable(false) + .setBound(false) + .setReturnType(new CsdlReturnType().setType(PropertyProvider.nameByte))); + } else if (functionName.equals(nameUFCRTCTTwoPrimTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCTTwoPrimTwoParam") .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false), - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false))) + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false), + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))); + } else if (functionName.equals(nameUFCRTCollCTTwoPrimTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCollCTTwoPrimTwoParam") .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false), - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - true))) + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false), + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(true))) .setComposable(true) .setReturnType( new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameUFCRTCTTwoPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCTTwoPrim") - .setParameters(new ArrayList<CsdlParameter>()) + .setParameters(Collections.<CsdlParameter> emptyList()) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))); } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTCollCTTwoPrim") .setComposable(true) - .setParameters(new ArrayList<CsdlParameter>()) + .setParameters(Collections.<CsdlParameter> emptyList()) .setReturnType( new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameUFCRTETMedia)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTETMedia") - .setParameters(Arrays.asList( - new CsdlParameter().setName("ParameterInt16").setNullable(false).setType(PropertyProvider.nameInt16) - )) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("ParameterInt16").setNullable(false) + .setType(PropertyProvider.nameInt16))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETMedia).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETMedia).setNullable(false))); + } else if (functionName.equals(nameUFCRTCollETMedia)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName(functionName.getName()) .setParameters(Collections.<CsdlParameter> emptyList()) @@ -432,410 +439,348 @@ public class FunctionProvider { new CsdlReturnType().setType(EntityTypeProvider.nameETMedia).setCollection(true).setNullable(false))); } else if (functionName.equals(nameUFCRTCollETMixPrimCollCompTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName(functionName.getName()) .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false), - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false))) + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false), + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false))) .setComposable(false) .setReturnType( new CsdlReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFCRTETAllPrimTwoParam") .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false), - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false))) + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false), + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETAllPrim).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETAllPrim).setNullable(false))); } else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName(functionName.getName()) .setParameters( Arrays.asList( - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable( - false), - new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable( - false) - )) + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false), + new CsdlParameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16) + .setNullable(false))) .setComposable(true) .setReturnType( new CsdlReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameUFNRTCollCTNavFiveProp)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("UFNRTCollCTNavFiveProp") .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true))); + } else if (functionName.equals(nameBFCESTwoKeyNavRTESTwoKeyNav)) { - return Arrays - .asList( - new CsdlFunction() - .setName("BFCESTwoKeyNavRTESTwoKeyNav") - .setEntitySetPath("BindingParam/NavPropertyETTwoKeyNavMany") - .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) - .setComposable(true) - .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) - .setNullable(false)), - - new CsdlFunction() - .setName("BFCESTwoKeyNavRTESTwoKeyNav") - .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false), - new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) - .setCollection(false).setNullable(false))) - .setComposable(true) - .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) - .setNullable(false)), - new CsdlFunction() - .setName("BFCESTwoKeyNavRTESTwoKeyNav") - .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) - .setCollection(true).setNullable(false))) - .setComposable(true) - .setReturnType( - new CsdlReturnType().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)) - ); + return Arrays.asList( + new CsdlFunction() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setEntitySetPath("BindingParam/NavPropertyETTwoKeyNavMany") + .setBound(true) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false)), + + new CsdlFunction() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters(Arrays.asList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false), + new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setCollection(false).setNullable(false))) + .setComposable(true) + .setReturnType( + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false)), + + new CsdlFunction() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction().setName("BFCStringRTESTwoKeyNav") .setBound(true) - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("BindingParam").setType(PropertyProvider.nameString).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETBaseTwoKeyNavRTETTwoKeyNav") .setBound(true) - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) - ) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))); } else if (functionName.equals(nameBFCESBaseTwoKeyNavRTESBaseTwoKey)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESBaseTwoKeyNavRTESBaseTwoKey") .setBound(true) - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( new CsdlReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameBFNESAllPrimRTCTAllPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFNESAllPrimRTCTAllPrim") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim) + .setCollection(true).setNullable(false))) .setComposable(false) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))); } else if (functionName.equals(nameBFCESTwoKeyNavRTCTTwoPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTCTTwoPrim") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))); } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTTwoPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTCollCTTwoPrim") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); } else if (functionName.equals(nameBFCESTwoKeyNavRTString)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTString") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(false)) - ); + new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(false))); } else if (functionName.equals(nameBFCESTwoKeyNavRTCollString)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTCollString") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false)) - ); + new CsdlReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))); } else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETTwoKeyNavRTESTwoKeyNav") .setEntitySetPath("BindingParam/NavPropertyETTwoKeyNavOne") .setBound(true) - .setParameters(Arrays.asList( + .setParameters(Collections.singletonList( new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETBaseTwoKeyNavRTESTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) - .setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCSINavRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCSINavRTESTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setNullable( - false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESBaseTwoKey)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETBaseTwoKeyNavRTESBaseTwoKey") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) - .setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCCollStringRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCCollStringRTESTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection( - true) - .setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection(true) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNav)) { return Arrays.asList( new CsdlFunction() .setName("BFCCTPrimCompRTESTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) - .setNullable( - false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCCTPrimCompRTESBaseTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCCTPrimCompRTESBaseTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) - .setNullable( - false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCCollCTPrimCompRTESAllPrim)) { - return Arrays - .asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCCollCTPrimCompRTESAllPrim") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true) + .setNullable(false))); } else if (functionName.equals(nameBFCESTwoKeyNavRTTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))); } else if (functionName.equals(nameBFCESKeyNavRTETKeyNav)) { - return Arrays - .asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESKeyNavRTETKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) - .setCollection( - true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))); } else if (functionName.equals(nameBFCETKeyNavRTETKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETKeyNavRTETKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setNullable( - false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) + .setNullable(false))) .setComposable(true) .setEntitySetPath("BindingParam/NavPropertyETKeyNavOne") .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))); + } else if (functionName.equals(nameBFESTwoKeyNavRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFESTwoKeyNavRTESTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); - ); } else if (functionName.equals(nameBFCESKeyNavRTESTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESKeyNavRTESTwoKeyNav") .setEntitySetPath("BindingParam/NavPropertyETTwoKeyNavMany") @@ -852,67 +797,59 @@ public class FunctionProvider { .setReturnType(new CsdlReturnType() .setNullable(false) .setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true)) - ); + .setCollection(true))); } else if (functionName.equals(nameBFCETTwoKeyNavRTETTwoKeyNav)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETTwoKeyNavRTETTwoKeyNav") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setNullable( - false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))); } else if (functionName.equals(nameBFCETTwoKeyNavRTCTTwoPrim)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCETTwoKeyNavRTCTTwoPrim") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setNullable( - false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))); + } else if (functionName.equals(nameBFCESTwoKeyNavRTCTNavFiveProp)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTCTNavFiveProp") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setNullable(false)) - ); + new CsdlReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setNullable(false))); + } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTNavFiveProp)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTCollCTNavFiveProp") .setBound(true) - .setParameters( - Arrays.asList( - new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) - .setCollection(true).setNullable(false))) + .setParameters(Collections.singletonList( + new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) .setComposable(true) .setReturnType( new CsdlReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true) - .setNullable(false)) - ); + .setNullable(false))); + } else if (functionName.equals(nameBFCESTwoKeyNavRTStringParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESTwoKeyNavRTStringParam") .setBound(true) @@ -924,59 +861,53 @@ public class FunctionProvider { .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(false)) - ); + new CsdlReturnType().setType(PropertyProvider.nameString).setNullable(false))); } else if (functionName.equals(nameBFCESKeyNavRTETKeyNavParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCESKeyNavRTETKeyNavParam") .setBound(true) .setParameters( Arrays.asList( new CsdlParameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) - .setCollection( - true).setNullable(false), + .setCollection(true).setNullable(false), new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))); + } else if (functionName.equals(nameBFCCTPrimCompRTETTwoKeyNavParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCCTPrimCompRTETTwoKeyNavParam") .setBound(true) .setParameters( Arrays.asList( new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) - .setNullable( - false), + .setNullable(false), new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) .setNullable(false))) .setComposable(true) .setReturnType(new CsdlReturnType() - .setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) - ) - ); + .setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))); + } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNavParam)) { - return Arrays.asList( + return Collections.singletonList( new CsdlFunction() .setName("BFCCTPrimCompRTESTwoKeyNavParam") .setBound(true) .setParameters( Arrays.asList( new CsdlParameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) - .setNullable( - false), + .setNullable(false), new CsdlParameter().setName("ParameterString").setType(PropertyProvider.nameString) .setNullable(false))) .setComposable(true) .setReturnType( - new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable( - false)) - ); + new CsdlReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false))); } return null;
