Repository: olingo-odata4 Updated Branches: refs/heads/master 2314c18aa -> 3eb1b8ed2
[OLINGO-801] minor bug fix in technical service + code clean-up Change-Id: I59a83b9cca725ef9be74250e50a43eb306c46acc Signed-off-by: Christian Holzer <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/3eb1b8ed Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/3eb1b8ed Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/3eb1b8ed Branch: refs/heads/master Commit: 3eb1b8ed20fd5528531e9f9c710a5e588bfd8068 Parents: 2314c18 Author: Klaus Straubinger <[email protected]> Authored: Tue Nov 17 16:41:02 2015 +0100 Committer: Christian Holzer <[email protected]> Committed: Tue Nov 17 16:45:45 2015 +0100 ---------------------------------------------------------------------- .../fit/tecsvc/client/FunctionImportITCase.java | 30 ++++- .../tecsvc/client/SystemQueryOptionITCase.java | 1 - .../olingo/commons/api/data/Parameter.java | 23 ++-- .../olingo/commons/api/data/Valuable.java | 40 ++---- .../core/uri/parser/search/SearchTokenizer.java | 2 +- .../olingo/server/tecsvc/data/FunctionData.java | 2 +- .../tecsvc/provider/ComplexTypeProvider.java | 2 +- .../tecsvc/provider/ContainerProvider.java | 8 +- .../server/tecsvc/provider/EdmTechProvider.java | 7 +- .../tecsvc/provider/EntityTypeProvider.java | 6 +- .../server/tecsvc/provider/SchemaProvider.java | 5 +- .../server/tecsvc/provider/TermProvider.java | 6 +- .../core/uri/testutil/EdmTechTestProvider.java | 128 ------------------- 13 files changed, 58 insertions(+), 202 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/FunctionImportITCase.java ---------------------------------------------------------------------- diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/FunctionImportITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/FunctionImportITCase.java index 66e6932..1e67a48 100644 --- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/FunctionImportITCase.java +++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/FunctionImportITCase.java @@ -335,10 +335,11 @@ public class FunctionImportITCase extends AbstractParamTecSvcITCase { public void allParameterKinds() { Map<String, ClientValue> parameters = new HashMap<String, ClientValue>(); parameters.put("ParameterEnum", getFactory().newEnumValue("Namespace1_Alias.ENString", "String1")); - parameters.put("ParameterDef", getFactory().newPrimitiveValueBuilder().build()); + parameters.put("ParameterDef", getFactory().newPrimitiveValueBuilder().buildString("key1")); parameters.put("ParameterComp", getFactory().newPrimitiveValueBuilder().setValue( new ParameterAlias("comp")).build()); - parameters.put("ParameterETTwoPrim", getFactory().newPrimitiveValueBuilder().build()); + parameters.put("ParameterETTwoPrim", getFactory().newPrimitiveValueBuilder().setValue( + new ParameterAlias("comp")).build()); parameters.put("CollParameterByte", getFactory().newPrimitiveValueBuilder().setValue( new ParameterAlias("collByte")).build()); parameters.put("CollParameterEnum", getFactory().newPrimitiveValueBuilder().setValue( @@ -347,9 +348,10 @@ public class FunctionImportITCase extends AbstractParamTecSvcITCase { new ParameterAlias("collDef")).build()); parameters.put("CollParameterComp", getFactory().newPrimitiveValueBuilder().setValue( new ParameterAlias("collComp")).build()); - parameters.put("CollParameterETTwoPrim", getFactory().newPrimitiveValueBuilder().build()); - ODataInvokeRequest<ClientProperty> request = getClient().getInvokeRequestFactory() - .getFunctionInvokeRequest(getClient().newURIBuilder(TecSvcConst.BASE_URI) + parameters.put("CollParameterETTwoPrim", getFactory().newPrimitiveValueBuilder().setValue( + new ParameterAlias("collComp")).build()); + ODataInvokeRequest<ClientProperty> request = getClient().getInvokeRequestFactory().getFunctionInvokeRequest( + getClient().newURIBuilder(TecSvcConst.BASE_URI) .appendOperationCallSegment("FINRTByteNineParam") .addParameterAlias("comp", "{\"PropertyInt16\":1}") .addParameterAlias("collByte", "[1]") @@ -360,10 +362,24 @@ public class FunctionImportITCase extends AbstractParamTecSvcITCase { ClientProperty.class, parameters); setCookieHeader(request); - final ODataInvokeResponse<ClientProperty> response = request.execute(); + ODataInvokeResponse<ClientProperty> response = request.execute(); + saveCookieHeader(response); + assertEquals(HttpStatusCode.OK.getStatusCode(), response.getStatusCode()); + assertShortOrInt(9, response.getBody().getPrimitiveValue().toValue()); + + // All parameters having the null value should also work, without any aliases. + for (final String name : parameters.keySet()) { + parameters.put(name, getFactory().newPrimitiveValueBuilder().build()); + } + request = getClient().getInvokeRequestFactory().getFunctionInvokeRequest( + getClient().newURIBuilder(TecSvcConst.BASE_URI).appendOperationCallSegment("FINRTByteNineParam").build(), + ClientProperty.class, + parameters); + setCookieHeader(request); + response = request.execute(); saveCookieHeader(response); assertEquals(HttpStatusCode.OK.getStatusCode(), response.getStatusCode()); - assertShortOrInt(6, response.getBody().getPrimitiveValue().toValue()); + assertShortOrInt(0, response.getBody().getPrimitiveValue().toValue()); } private Map<String, ClientValue> buildTwoParameters(final int parameterInt16, final String parameterString) { http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/SystemQueryOptionITCase.java ---------------------------------------------------------------------- diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/SystemQueryOptionITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/SystemQueryOptionITCase.java index e605836..b330038 100644 --- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/SystemQueryOptionITCase.java +++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/SystemQueryOptionITCase.java @@ -21,7 +21,6 @@ package org.apache.olingo.fit.tecsvc.client; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; -import java.io.IOException; import java.net.URI; import java.util.List; http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java index a857780..2937f25 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Parameter.java @@ -26,6 +26,7 @@ public class Parameter extends Valuable { private String name; /** + * Gets the name of the parameter. * @return name of the parameter */ public String getName() { @@ -33,6 +34,7 @@ public class Parameter extends Valuable { } /** + * Sets the name of the parameter. * @param name of the parameter */ public void setName(final String name) { @@ -40,27 +42,18 @@ public class Parameter extends Valuable { } /** - * Check if Valuable contains a ENTITY or COLLECTION_ENTITY ValueType - * - * @return true if ValueType is a ENTITY or COLLECTION_ENTITY, otherwise false + * Checks whether this parameter value is of the value type ENTITY or COLLECTION_ENTITY. + * @return true if the value type is ENTITY or COLLECTION_ENTITY, otherwise false */ public boolean isEntity() { - if (isCollection()) { - return getValueType().getBaseType() == ValueType.ENTITY; - } - return getValueType() == ValueType.ENTITY; + return getValueType() == ValueType.ENTITY || getValueType() == ValueType.COLLECTION_ENTITY; } /** - * Get the value in its entity representation or null if it is not based on an entity ValueType - * - * @return entity representation or null if it is not based on an entity ValueType + * Gets the value in its entity representation or null if it is not based on an entity value type. + * @return entity representation or null if it is not based on an entity value type */ public Entity asEntity() { - if (isCollection()) { - return null; - } - return isEntity() ? (Entity) getValue() : null; + return isEntity() && !isCollection() ? (Entity) getValue() : null; } - } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java ---------------------------------------------------------------------- diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java index c275ae7..2fec369 100644 --- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java +++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/data/Valuable.java @@ -65,10 +65,7 @@ public abstract class Valuable extends Annotatable { * @return true if ValueType is a PRIMITIVE or COLLECTION_PRIMITIVE, otherwise false */ public boolean isPrimitive() { - if (isCollection()) { - return valueType.getBaseType() == ValueType.PRIMITIVE; - } - return valueType == ValueType.PRIMITIVE; + return valueType == ValueType.PRIMITIVE || valueType == ValueType.COLLECTION_PRIMITIVE; } /** @@ -77,10 +74,7 @@ public abstract class Valuable extends Annotatable { * @return true if ValueType is a GEOSPATIAL or COLLECTION_GEOSPATIAL, otherwise false */ public boolean isGeospatial() { - if (isCollection()) { - return valueType.getBaseType() == ValueType.GEOSPATIAL; - } - return valueType == ValueType.GEOSPATIAL; + return valueType == ValueType.GEOSPATIAL || valueType == ValueType.COLLECTION_GEOSPATIAL; } /** @@ -89,10 +83,7 @@ public abstract class Valuable extends Annotatable { * @return true if ValueType is a ENUM or COLLECTION_ENUM, otherwise false */ public boolean isEnum() { - if (isCollection()) { - return valueType.getBaseType() == ValueType.ENUM; - } - return valueType == ValueType.ENUM; + return valueType == ValueType.ENUM || valueType == ValueType.COLLECTION_ENUM; } /** @@ -101,10 +92,7 @@ public abstract class Valuable extends Annotatable { * @return true if ValueType is a COMPLEX or COLLECTION_COMPLEX, otherwise false */ public boolean isComplex() { - if (isCollection()) { - return valueType.getBaseType() == ValueType.COMPLEX; - } - return valueType == ValueType.COMPLEX; + return valueType == ValueType.COMPLEX || valueType == ValueType.COLLECTION_COMPLEX; } /** @@ -122,10 +110,7 @@ public abstract class Valuable extends Annotatable { * @return primitive representation or null if it is not based on a primitive ValueType */ public Object asPrimitive() { - if (isCollection()) { - return null; - } - return isPrimitive() ? value : null; + return isPrimitive() && !isCollection() ? value : null; } /** @@ -134,10 +119,7 @@ public abstract class Valuable extends Annotatable { * @return geospatial representation or null if it is not based on a geospatial ValueType */ public Geospatial asGeospatial() { - if (isCollection()) { - return null; - } - return isGeospatial() ? (Geospatial) value : null; + return isGeospatial() && !isCollection() ? (Geospatial) value : null; } /** @@ -146,10 +128,7 @@ public abstract class Valuable extends Annotatable { * @return enum representation or null if it is not based on a enum ValueType */ public Object asEnum() { - if (isCollection()) { - return null; - } - return isEnum() ? value : null; + return isEnum() && !isCollection() ? value : null; } /** @@ -158,10 +137,7 @@ public abstract class Valuable extends Annotatable { * @return primitive complex or null if it is not based on a complex ValueType */ public ComplexValue asComplex() { - if (isCollection()) { - return null; - } - return isComplex() ? (ComplexValue) value : null; + return isComplex() && !isCollection() ? (ComplexValue) value : null; } /** http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java index fb0ad94..9d37312 100644 --- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java +++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java @@ -181,7 +181,7 @@ public class SearchTokenizer { * @return true if character is allowed */ private static boolean isPctEncodedUnescaped(char character) { - String hex = Integer.toHexString((int) character); + String hex = Integer.toHexString(character); char aschar[] = hex.toCharArray(); if(aschar[0] == '%') { if(aschar[1] == '2') { http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/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 c11aa7d..e31ff80 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 @@ -163,7 +163,7 @@ public class FunctionData { || parameter.isEntity() && ((Entity) parameter.getValue()).getProperties().isEmpty()) || parameter.isCollection() && (parameter.isEntity() && ((EntityCollection) parameter.getValue()).getEntities().isEmpty() - || parameter.asCollection().isEmpty()))) { + || !parameter.isEntity() && parameter.asCollection().isEmpty()))) { count++; } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java index a7e10f9..502f83a 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java @@ -113,7 +113,7 @@ public class ComplexTypeProvider { .setProperties(Arrays.asList( new CsdlProperty() .setName("AdditionalPropString") - .setType(new FullQualifiedName("Edm", "String")))); + .setType(PropertyProvider.nameString))); } else if (complexTypeName.equals(nameCTTwoBase)) { return new CsdlComplexType() http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/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 a5d9b40..3fc164e 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 @@ -170,9 +170,9 @@ public class ContainerProvider { .setName("ESAllPrim") .setType(EntityTypeProvider.nameETAllPrim) .setTitle("All PropertyTypes EntitySet") - .setNavigationPropertyBindings(Arrays - .asList(new CsdlNavigationPropertyBinding().setPath("NavPropertyETTwoPrimOne").setTarget("ESTwoPrim"), - new CsdlNavigationPropertyBinding().setPath("NavPropertyETTwoPrimMany").setTarget("ESTwoPrim"))) + .setNavigationPropertyBindings(Arrays.asList( + new CsdlNavigationPropertyBinding().setPath("NavPropertyETTwoPrimOne").setTarget("ESTwoPrim"), + new CsdlNavigationPropertyBinding().setPath("NavPropertyETTwoPrimMany").setTarget("ESTwoPrim"))) .setAnnotations(Arrays.asList(new CsdlAnnotation().setTerm("Core.Description").setExpression( new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String, "Contains entities with all primitive types")), @@ -186,7 +186,7 @@ public class ContainerProvider { .setType(EntityTypeProvider.nameETCollAllPrim) .setAnnotations( Arrays.asList( - new CsdlAnnotation().setTerm("Org.OData.Core.V1.Description") + new CsdlAnnotation().setTerm(TermProvider.TERM_DESCRIPTION.getFullQualifiedNameAsString()) .setExpression(new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String) .setValue("Contains entities with collection of each primitive type")), new CsdlAnnotation().setTerm(TermProvider.TERM_DATA.getFullQualifiedNameAsString()).setExpression( http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EdmTechProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EdmTechProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EdmTechProvider.java index a1d845a..a21c088 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EdmTechProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EdmTechProvider.java @@ -42,9 +42,6 @@ import org.apache.olingo.commons.api.ex.ODataException; public class EdmTechProvider extends CsdlAbstractEdmProvider { - public static final String nameSpace = "olingo.odata.test1"; - public static final String CORE_VOCABULARY_NAMESPACE = "Org.OData.Core.V1"; - private final SchemaProvider schemaProvider; private final EntityTypeProvider entityTypeProvider; private final ContainerProvider containerProvider; @@ -70,8 +67,8 @@ public class EdmTechProvider extends CsdlAbstractEdmProvider { @Override public List<CsdlAliasInfo> getAliasInfos() throws ODataException { return Arrays.asList( - new CsdlAliasInfo().setAlias("Namespace1_Alias").setNamespace(nameSpace), - new CsdlAliasInfo().setAlias("Core").setNamespace(CORE_VOCABULARY_NAMESPACE)); + new CsdlAliasInfo().setAlias(SchemaProvider.NAMESPACE_ALIAS).setNamespace(SchemaProvider.NAMESPACE), + new CsdlAliasInfo().setAlias("Core").setNamespace(TermProvider.CORE_VOCABULARY_NAMESPACE)); } @Override http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java index b8410b1..71c576d 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java @@ -230,9 +230,9 @@ public class EntityTypeProvider { return new CsdlEntityType() .setName("ETCompCollComp") .setKey(Arrays.asList(new CsdlPropertyRef().setName("PropertyInt16"))) - .setProperties( - Arrays - .asList(PropertyProvider.propertyInt16_NotNullable, PropertyProvider.propertyComp_CTCompCollComp)); + .setProperties(Arrays.asList( + PropertyProvider.propertyInt16_NotNullable, + PropertyProvider.propertyComp_CTCompCollComp)); } else if (entityTypeName.equals(nameETMedia)) { return new CsdlEntityType() http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java index e5fe953..062b125 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/SchemaProvider.java @@ -33,17 +33,18 @@ import org.apache.olingo.commons.api.ex.ODataException; public class SchemaProvider { public static final String NAMESPACE = "olingo.odata.test1"; + public static final String NAMESPACE_ALIAS = "Namespace1_Alias"; private final CsdlEdmProvider prov; - public SchemaProvider(final EdmTechProvider prov) { + public SchemaProvider(final CsdlEdmProvider prov) { this.prov = prov; } public List<CsdlSchema> getSchemas() throws ODataException { CsdlSchema schema = new CsdlSchema(); schema.setNamespace(NAMESPACE); - schema.setAlias("Namespace1_Alias"); + schema.setAlias(NAMESPACE_ALIAS); // EnumTypes schema.setEnumTypes(Collections.singletonList( http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/TermProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/TermProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/TermProvider.java index da9c3d0..cbb0574 100644 --- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/TermProvider.java +++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/TermProvider.java @@ -29,9 +29,11 @@ import org.apache.olingo.commons.api.edm.provider.annotation.CsdlConstantExpress */ public class TermProvider { - public static FullQualifiedName TERM_DESCRIPTION = new FullQualifiedName("Org.OData.Core.V1", "Description"); + public static final String CORE_VOCABULARY_NAMESPACE = "Org.OData.Core.V1"; + public static FullQualifiedName TERM_DESCRIPTION = + new FullQualifiedName(CORE_VOCABULARY_NAMESPACE, "Description"); public static FullQualifiedName TERM_LONG_DESCRIPTION = - new FullQualifiedName("Org.OData.Core.V1", "LongDescription"); + new FullQualifiedName(CORE_VOCABULARY_NAMESPACE, "LongDescription"); public static FullQualifiedName TERM_DATA = new FullQualifiedName(SchemaProvider.NAMESPACE, "Data"); public CsdlTerm getTerm(FullQualifiedName termName) { http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/3eb1b8ed/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/EdmTechTestProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/EdmTechTestProvider.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/EdmTechTestProvider.java deleted file mode 100644 index 2ab43e1..0000000 --- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/EdmTechTestProvider.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.olingo.server.core.uri.testutil; - -import java.util.Arrays; -import java.util.List; - -import org.apache.olingo.commons.api.ex.ODataException; -import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind; -import org.apache.olingo.commons.api.edm.FullQualifiedName; -import org.apache.olingo.commons.api.edm.provider.CsdlComplexType; -import org.apache.olingo.commons.api.edm.provider.CsdlEntitySet; -import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; -import org.apache.olingo.commons.api.edm.provider.CsdlFunctionImport; -import org.apache.olingo.commons.api.edm.provider.CsdlNavigationProperty; -import org.apache.olingo.commons.api.edm.provider.CsdlProperty; -import org.apache.olingo.commons.api.edm.provider.CsdlPropertyRef; -import org.apache.olingo.server.tecsvc.provider.EdmTechProvider; - -/** - * Implement the EdmTechProvider and - * <li>adds a entity type <b>ETabc with</b> properties a,b,c,d,e,f</li> - * <li>adds a entity type <b>ETNavProp with</b> with a navigation property ESNavProp (named like the entity set)</li> - * <li>adds a complex type <b>CTabc</b> with properties a,b,c,d,e,f</li> - * <li>adds a <b>abc</b> entity set of type <b>ETabc</b></li> - * <li>adds a <b>ESNavProp</b> entity set of type <b>ETNavProp</b></li> - */ -public class EdmTechTestProvider extends EdmTechProvider { - - private static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName(); - public static final String NAMESPACE = "olingo.odata.test1"; - public static final FullQualifiedName nameContainer = new FullQualifiedName(NAMESPACE, "Container"); - - CsdlProperty propertyAInt16 = new CsdlProperty().setName("a").setType(nameInt16); - CsdlProperty propertyBInt16 = new CsdlProperty().setName("b").setType(nameInt16); - CsdlProperty propertyCInt16 = new CsdlProperty().setName("c").setType(nameInt16); - CsdlProperty propertyDInt16 = new CsdlProperty().setName("d").setType(nameInt16); - CsdlProperty propertyEInt16 = new CsdlProperty().setName("e").setType(nameInt16); - CsdlProperty propertyFInt16 = new CsdlProperty().setName("f").setType(nameInt16); - - public static final FullQualifiedName nameETNavProp = new FullQualifiedName(NAMESPACE, "ETNavProp"); - public static final FullQualifiedName nameCTabc = new FullQualifiedName(NAMESPACE, "CTabc"); - public static final FullQualifiedName nameETabc = new FullQualifiedName(NAMESPACE, "ETabc"); - - @Override - public CsdlComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException { - if (complexTypeName.equals(nameCTabc)) { - return new CsdlComplexType() - .setName("CTabc") - .setProperties(Arrays.asList( - propertyAInt16, propertyBInt16, propertyCInt16, - propertyDInt16, propertyEInt16, propertyFInt16 - )); - - } - - return super.getComplexType(complexTypeName); - } - - @Override - public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String name) throws ODataException { - if (nameContainer.equals(entityContainer)) { - if (name.equals("ESabc")) { - return new CsdlEntitySet() - .setName("ESabc") - .setType(nameETabc); - } else if(name.equals("ESNavProp")) { - return new CsdlEntitySet() - .setName("ESNavProp") - .setType(nameETNavProp); - } - } - - return super.getEntitySet(entityContainer, name); - } - - @Override - public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException { - List<CsdlPropertyRef> oneKeyPropertyInt16 = Arrays.asList(new CsdlPropertyRef().setName("a")); - - if (entityTypeName.equals(nameETabc)) { - return new CsdlEntityType() - .setName("ETabc") - .setProperties(Arrays.asList( - propertyAInt16, propertyBInt16, propertyCInt16, - propertyDInt16, propertyEInt16, propertyFInt16)) - .setKey(oneKeyPropertyInt16); - } else if(entityTypeName.equals(nameETNavProp)) { - return new CsdlEntityType() - .setName("ETNavProp") - .setProperties(Arrays.asList(propertyAInt16)) - .setKey(oneKeyPropertyInt16) - .setNavigationProperties(Arrays.asList(new CsdlNavigationProperty[] { - new CsdlNavigationProperty() - .setCollection(true) - .setName("ESNavProp") - .setType(nameETNavProp) - })); - } - - return super.getEntityType(entityTypeName); - } - - @Override - public CsdlFunctionImport getFunctionImport(FullQualifiedName entityContainer, String functionImportName) - throws ODataException { - - - return super.getFunctionImport(entityContainer, functionImportName); - } - -}
