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);
-  }
-  
-}