You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/11/17 16:54:15 UTC
olingo-odata4 git commit: [OLINGO-801] minor bug fix in technical
service + code clean-up
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 <c....@sap.com>
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 <kl...@sap.com>
Authored: Tue Nov 17 16:41:02 2015 +0100
Committer: Christian Holzer <c....@sap.com>
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);
- }
-
-}