You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/05/09 14:44:21 UTC

[4/5] [OLINGO-266] ref package refactoring

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
deleted file mode 100644
index fe6fefb..0000000
--- a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/FunctionProvider.java
+++ /dev/null
@@ -1,852 +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.testutil.techprovider;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.olingo.commons.api.ODataException;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.Function;
-import org.apache.olingo.server.api.edm.provider.Parameter;
-import org.apache.olingo.server.api.edm.provider.ReturnType;
-
-public class FunctionProvider {
-
-  // Bound Functions
-  public static final FullQualifiedName nameBFCCollCTPrimCompRTESAllPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCCollCTPrimCompRTESAllPrim");
-
-  public static final FullQualifiedName nameBFCCollStringRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCCollStringRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCCTPrimCompRTESBaseTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESBaseTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNavParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESTwoKeyNavParam");
-
-  public static final FullQualifiedName nameBFCCTPrimCompRTETTwoKeyNavParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTETTwoKeyNavParam");
-
-  public static final FullQualifiedName nameBFCESAllPrimRTCTAllPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESAllPrimRTCTAllPrim");
-
-  public static final FullQualifiedName nameBFCESBaseTwoKeyNavRTESBaseTwoKey =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESBaseTwoKeyNavRTESBaseTwoKey");
-
-  public static final FullQualifiedName nameBFCESKeyNavRTETKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESKeyNavRTETKeyNav");
-
-  public static final FullQualifiedName nameBFCESKeyNavRTETKeyNavParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESKeyNavRTETKeyNavParam");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTTwoPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollCTTwoPrim");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTCollString =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollString");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTCTTwoPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCTTwoPrim");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTString =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTString");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTStringParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTStringParam");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESBaseTwoKey =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTESBaseTwoKey");
-
-  public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTETTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTETTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCETKeyNavRTETKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETKeyNavRTETKeyNav");
-
-  public static final FullQualifiedName nameBFCETTwoKeyNavRTCTTwoPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTCTTwoPrim");
-
-  public static final FullQualifiedName nameBFCETTwoKeyNavRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCETTwoKeyNavRTETTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTETTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCSINavRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCSINavRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFCStringRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFCStringRTESTwoKeyNav");
-
-  public static final FullQualifiedName nameBFESTwoKeyNavRTESTwoKeyNav =
-      new FullQualifiedName(SchemaProvider.nameSpace, "BFESTwoKeyNavRTESTwoKeyNav");
-
-  // Unbound Functions
-  public static final FullQualifiedName nameUFCRTCollCTTwoPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrim");
-  public static final FullQualifiedName nameUFCRTCollCTTwoPrimParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrimParam");
-  public static final FullQualifiedName nameUFCRTCollString = new FullQualifiedName(SchemaProvider.nameSpace,
-      "UFCRTCollString");
-  public static final FullQualifiedName nameUFCRTCollStringTwoParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollStringTwoParam");
-  public static final FullQualifiedName nameUFCRTCTAllPrimTwoParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTAllPrimTwoParam");
-  public static final FullQualifiedName nameUFCRTCTTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace,
-      "UFCRTCTTwoPrim");
-  public static final FullQualifiedName nameUFCRTCTTwoPrimParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTTwoPrimParam");
-  public static final FullQualifiedName nameUFCRTESMixPrimCollCompTwoParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESMixPrimCollCompTwoParam");
-  public static final FullQualifiedName nameUFCRTESTwoKeyNavParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESTwoKeyNavParam");
-  public static final FullQualifiedName nameUFCRTETAllPrimTwoParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETAllPrimTwoParam");
-  public static final FullQualifiedName nameUFCRTETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace,
-      "UFCRTETKeyNav");
-  public static final FullQualifiedName nameUFCRTETMedia = new FullQualifiedName(SchemaProvider.nameSpace,
-      "UFCRTETMedia");
-
-  public static final FullQualifiedName nameUFCRTETTwoKeyNavParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParam");
-
-  public static final FullQualifiedName nameUFCRTETTwoKeyNavParamCTTwoPrim =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParamCTTwoPrim");
-
-  public static final FullQualifiedName nameUFCRTString =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTString");
-
-  public static final FullQualifiedName nameUFCRTStringTwoParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTStringTwoParam");
-
-  public static final FullQualifiedName nameUFNRTESMixPrimCollCompTwoParam =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTESMixPrimCollCompTwoParam");
-  public static final FullQualifiedName nameUFNRTInt16 =
-      new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTInt16");
-
-  public static final FullQualifiedName nameUFNRTCollCTNavFiveProp = new FullQualifiedName(SchemaProvider.nameSpace,
-      "UFNRTCollCTNavFiveProp");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTCTNavFiveProp = new FullQualifiedName(
-      SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCTNavFiveProp");
-
-  public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTNavFiveProp = new FullQualifiedName(
-      SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollCTNavFiveProp");
-
-  public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
-
-    if (functionName.equals(nameUFNRTInt16)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFNRTInt16")
-              .setParameters(new ArrayList<Parameter>())
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameInt16))
-          );
-
-    } else if (functionName.equals(nameUFCRTETKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTETKeyNav")
-              .setParameters(new ArrayList<Parameter>())
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTETTwoKeyNavParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
-              )
-          );
-
-    } else if (functionName.equals(nameUFCRTETTwoKeyNavParamCTTwoPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTETTwoKeyNavParamCTTwoPrim")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim)
-                      .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
-              )
-          );
-
-    } else if (functionName.equals(nameUFCRTStringTwoParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTStringTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter()
-                      .setName("ParameterInt16")
-                      .setType(PropertyProvider.nameInt16)
-                      .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setNullable(false)),
-          new Function()
-              .setName("UFCRTStringTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter()
-                      .setName("ParameterString")
-                      .setType(PropertyProvider.nameString)
-                      .setNullable(false),
-                  new Parameter()
-                      .setName("ParameterInt16")
-                      .setType(PropertyProvider.nameInt16)
-                      .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
-
-          );
-
-    } else if (functionName.equals(nameUFCRTESTwoKeyNavParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTESTwoKeyNavParam")
-              .setParameters(Arrays.asList(
-                  new Parameter()
-                      .setName("ParameterInt16")
-                      .setType(PropertyProvider.nameInt16)
-                      .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTString)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTString")
-
-              .setComposable(true)
-              .setParameters(new ArrayList<Parameter>())
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setNullable(false)
-              )
-          );
-
-    } else if (functionName.equals(nameUFCRTCollStringTwoParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCollStringTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTCollString)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCollString")
-              .setParameters(new ArrayList<Parameter>())
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCTAllPrimTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTCTTwoPrimParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCTTwoPrimParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false),
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
-          );
-    } else if (functionName.equals(nameUFCRTCollCTTwoPrimParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCollCTTwoPrimParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false),
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTCTTwoPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCTTwoPrim")
-              .setParameters(new ArrayList<Parameter>())
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTCollCTTwoPrim")
-              .setComposable(true)
-              .setParameters(new ArrayList<Parameter>())
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTETMedia)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTETMedia")
-              .setParameters(new ArrayList<Parameter>())
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETMedia).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFNRTESMixPrimCollCompTwoParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFNRTESMixPrimCollCompTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
-              .setComposable(false)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true)
-                      .setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTETAllPrimTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFCRTESMixPrimCollCompTwoParam")
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false),
-                  new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false)
-                  ))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true)
-                      .setNullable(false))
-          );
-
-    } else if (functionName.equals(nameUFNRTCollCTNavFiveProp)) {
-      return Arrays.asList(
-          new Function()
-              .setName("UFNRTCollCTNavFiveProp")
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true))
-          );
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTESTwoKeyNav)) {
-      return Arrays
-          .asList(
-              new Function()
-                  .setName("BFCESTwoKeyNavRTESTwoKeyNav")
-                  .setBound(true)
-                  .setParameters(
-                      Arrays.asList(
-                          new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                              .setCollection(true).setNullable(false)))
-                  .setComposable(true)
-                  .setReturnType(
-                      new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
-                          .setNullable(false)),
-
-              new Function()
-                  .setName("BFCESTwoKeyNavRTESTwoKeyNav")
-                  .setBound(true)
-                  .setParameters(
-                      Arrays.asList(
-                          new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                              .setCollection(true).setNullable(false),
-                          new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
-                              .setCollection(false).setNullable(false)))
-                  .setComposable(true)
-                  .setReturnType(
-                      new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
-                          .setNullable(false)),
-              new Function()
-                  .setName("BFCESTwoKeyNavRTESTwoKeyNav")
-                  .setBound(true)
-                  .setParameters(
-                      Arrays.asList(
-                          new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)
-                              .setCollection(true).setNullable(false)))
-                  .setComposable(true)
-                  .setReturnType(
-                      new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
-                          .setNullable(false)),
-              new Function()
-                  .setName("BFCESTwoKeyNavRTESTwoKeyNav")
-                  .setBound(true)
-                  .setParameters(
-                      Arrays.asList(new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav)
-                          .setCollection(true).setNullable(false),
-                          new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
-                              .setCollection(false).setNullable(false)))
-                  .setComposable(true)
-                  .setReturnType(
-                      new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true)
-                          .setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function().setName("BFCStringRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETBaseTwoKeyNavRTETTwoKeyNav")
-              .setBound(true)
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
-                      .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
-              )
-          );
-
-    } else if (functionName.equals(nameBFCESBaseTwoKeyNavRTESBaseTwoKey)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESBaseTwoKeyNavRTESBaseTwoKey")
-              .setBound(true)
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
-                      .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true)
-                      .setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESAllPrimRTCTAllPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESAllPrimRTCTAllPrim")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTCTTwoPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTCTTwoPrim")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTTwoPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTCollCTTwoPrim")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTString)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTString")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTCollString)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTCollString")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETTwoKeyNavRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                      .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETBaseTwoKeyNavRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCSINavRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCSINavRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
-                          false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESBaseTwoKey)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETBaseTwoKeyNavRTESBaseTwoKey")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable(
-                      false))
-          );
-
-    } else if (functionName.equals(nameBFCCollStringRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCCollStringRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection(true)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCCTPrimCompRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
-                          false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCCTPrimCompRTESBaseTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCCTPrimCompRTESBaseTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
-                          false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable(
-                      false))
-          );
-
-    } else if (functionName.equals(nameBFCCollCTPrimCompRTESAllPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCCollCTPrimCompRTESAllPrim")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESKeyNavRTETKeyNav)) {
-      return Arrays
-          .asList(
-          new Function()
-              .setName("BFCESKeyNavRTETKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(
-                          true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCETKeyNavRTETKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETKeyNavRTETKeyNav")
-              .setBound(true)
-              .setParameters(Arrays.asList(
-                  new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
-          );
-    } else if (functionName.equals(nameBFESTwoKeyNavRTESTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFESTwoKeyNavRTESTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-
-          );
-
-    } else if (functionName.equals(nameBFCETTwoKeyNavRTETTwoKeyNav)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETTwoKeyNavRTETTwoKeyNav")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
-                          false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCETTwoKeyNavRTCTTwoPrim)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCETTwoKeyNavRTCTTwoPrim")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(
-                          false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false))
-          );
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTCTNavFiveProp)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTCTNavFiveProp")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setNullable(false))
-          );
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTNavFiveProp)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTCollCTNavFiveProp")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true)
-                      .setNullable(false))
-          );
-    } else if (functionName.equals(nameBFCESTwoKeyNavRTStringParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESTwoKeyNavRTStringParam")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav)
-                          .setCollection(true).setNullable(false),
-                      new Parameter().setName("ParameterComplex").setType(ComplexTypeProvider.nameCTTwoPrim)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(PropertyProvider.nameString).setNullable(false))
-          );
-
-    } else if (functionName.equals(nameBFCESKeyNavRTETKeyNavParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCESKeyNavRTETKeyNavParam")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection(
-                          true).setNullable(false),
-                      new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false))
-          );
-    } else if (functionName.equals(nameBFCCTPrimCompRTETTwoKeyNavParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCCTPrimCompRTETTwoKeyNavParam")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
-                          false),
-                      new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(new ReturnType()
-                  .setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)
-              )
-          );
-    } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNavParam)) {
-      return Arrays.asList(
-          new Function()
-              .setName("BFCCTPrimCompRTESTwoKeyNavParam")
-              .setBound(true)
-              .setParameters(
-                  Arrays.asList(
-                      new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable(
-                          false),
-                      new Parameter().setName("ParameterString").setType(PropertyProvider.nameString)
-                          .setNullable(false)))
-              .setComposable(true)
-              .setReturnType(
-                  new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false))
-          );
-    }
-
-    return null;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
deleted file mode 100644
index 5d1ad3b..0000000
--- a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
+++ /dev/null
@@ -1,590 +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.testutil.techprovider;
-
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.Property;
-
-public class PropertyProvider {
-
-  // Primitive Type Names
-  public static final FullQualifiedName nameBinary = EdmPrimitiveTypeKind.Binary.getFullQualifiedName();
-  public static final FullQualifiedName nameBoolean = EdmPrimitiveTypeKind.Boolean.getFullQualifiedName();
-  public static final FullQualifiedName nameByte = EdmPrimitiveTypeKind.Byte.getFullQualifiedName();
-
-  public static final FullQualifiedName nameDate = EdmPrimitiveTypeKind.Date.getFullQualifiedName();
-  public static final FullQualifiedName nameDateTimeOffset =
-      EdmPrimitiveTypeKind.DateTimeOffset.getFullQualifiedName();
-
-  public static final FullQualifiedName nameDecimal = EdmPrimitiveTypeKind.Decimal.getFullQualifiedName();
-  public static final FullQualifiedName nameDouble = EdmPrimitiveTypeKind.Double.getFullQualifiedName();
-  public static final FullQualifiedName nameDuration = EdmPrimitiveTypeKind.Duration.getFullQualifiedName();
-
-  public static final FullQualifiedName nameGuid = EdmPrimitiveTypeKind.Guid.getFullQualifiedName();
-  public static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName();
-  public static final FullQualifiedName nameInt32 = EdmPrimitiveTypeKind.Int32.getFullQualifiedName();
-  public static final FullQualifiedName nameInt64 = EdmPrimitiveTypeKind.Int64.getFullQualifiedName();
-
-  public static final FullQualifiedName nameSByte = EdmPrimitiveTypeKind.SByte.getFullQualifiedName();
-  public static final FullQualifiedName nameSingle = EdmPrimitiveTypeKind.Single.getFullQualifiedName();
-
-  public static final FullQualifiedName nameString = EdmPrimitiveTypeKind.String.getFullQualifiedName();
-  public static final FullQualifiedName nameTimeOfDay = EdmPrimitiveTypeKind.TimeOfDay.getFullQualifiedName();
-
-  // Primitive Properties --------------------------------------------------------------------------------------------
-  public static final Property collPropertyBinary = new Property()
-      .setName("CollPropertyBinary")
-      .setType(nameBinary)
-      .setCollection(true);
-
-  public static final Property collPropertyBinary_ExplicitNullable = new Property()
-      .setName("CollPropertyBinary")
-      .setType(nameBinary)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyBoolean = new Property()
-      .setName("CollPropertyBoolean")
-      .setType(nameBoolean)
-      .setCollection(true);
-
-  public static final Property collPropertyBoolean_ExplicitNullable = new Property()
-      .setName("CollPropertyBoolean")
-      .setType(nameBoolean)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyByte = new Property()
-      .setName("CollPropertyByte")
-      .setType(nameByte)
-      .setCollection(true);
-
-  public static final Property collPropertyByte_ExplicitNullable = new Property()
-      .setName("CollPropertyByte")
-      .setType(nameByte)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyDate = new Property()
-      .setName("CollPropertyDate")
-      .setType(nameDate)
-      .setCollection(true);
-
-  public static final Property collPropertyDate_ExplicitNullable = new Property()
-      .setName("CollPropertyDate")
-      .setType(nameDate)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyDateTimeOffset = new Property()
-      .setName("CollPropertyDateTimeOffset")
-      .setType(nameDateTimeOffset)
-      .setCollection(true);
-
-  public static final Property collPropertyDateTimeOffset_ExplicitNullable = new Property()
-      .setName("CollPropertyDateTimeOffset")
-      .setType(nameDateTimeOffset)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyDecimal = new Property()
-      .setName("CollPropertyDecimal")
-      .setType(nameDecimal)
-      .setCollection(true);
-
-  public static final Property collPropertyDecimal_ExplicitNullable = new Property()
-      .setName("CollPropertyDecimal")
-      .setType(nameDecimal)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyDouble = new Property()
-      .setName("CollPropertyDouble")
-      .setType(nameDouble)
-      .setCollection(true);
-
-  public static final Property collPropertyDouble_ExplicitNullable = new Property()
-      .setName("CollPropertyDouble")
-      .setType(nameDouble)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyDuration = new Property()
-      .setName("CollPropertyDuration")
-      .setType(nameDuration)
-      .setCollection(true);
-
-  public static final Property collPropertyDuration_ExplicitNullable = new Property()
-      .setName("CollPropertyDuration")
-      .setType(nameDuration)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyGuid = new Property()
-      .setName("CollPropertyGuid")
-      .setType(nameGuid)
-      .setCollection(true);
-
-  public static final Property collPropertyGuid_ExplicitNullable = new Property()
-      .setName("CollPropertyGuid")
-      .setType(nameGuid)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyInt16 = new Property()
-      .setName("CollPropertyInt16")
-      .setType(nameInt16)
-      .setCollection(true);
-
-  public static final Property collPropertyInt16_ExplicitNullable = new Property()
-      .setName("CollPropertyInt16")
-      .setType(nameInt16)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyInt32 = new Property()
-      .setName("CollPropertyInt32")
-      .setType(nameInt32)
-      .setCollection(true);
-
-  public static final Property collPropertyInt32_ExplicitNullable = new Property()
-      .setName("CollPropertyInt32")
-      .setType(nameInt32)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyInt64 = new Property()
-      .setName("CollPropertyInt64")
-      .setType(nameInt64)
-      .setCollection(true);
-
-  public static final Property collPropertyInt64_ExplicitNullable = new Property()
-      .setName("CollPropertyInt64")
-      .setType(nameInt64)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertySByte = new Property()
-      .setName("CollPropertySByte")
-      .setType(nameSByte)
-      .setCollection(true);
-
-  public static final Property collPropertySByte_ExplicitNullable = new Property()
-      .setName("CollPropertySByte")
-      .setType(nameSByte)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertySingle = new Property()
-      .setName("CollPropertySingle")
-      .setType(nameSingle)
-      .setCollection(true);
-
-  public static final Property collPropertySingle_ExplicitNullable = new Property()
-      .setName("CollPropertySingle")
-      .setType(nameSingle)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyString = new Property()
-      .setName("CollPropertyString")
-      .setType(nameString)
-      .setCollection(true);
-
-  public static final Property collPropertyString_ExplicitNullable = new Property()
-      .setName("CollPropertyString")
-      .setType(nameString)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property collPropertyTimeOfDay = new Property()
-      .setName("CollPropertyTimeOfDay")
-      .setType(nameTimeOfDay)
-      .setCollection(true);
-
-  public static final Property collPropertyTimeOfDay_ExplicitNullable = new Property()
-      .setName("CollPropertyTimeOfDay")
-      .setType(nameTimeOfDay)
-      .setNullable(true)
-      .setCollection(true);
-
-  public static final Property propertyBinary = new Property()
-      .setName("PropertyBinary")
-      .setType(nameBinary);
-
-  public static final Property propertyBinary_NotNullable = new Property()
-      .setName("PropertyBinary")
-      .setType(nameBinary)
-      .setNullable(false);
-
-  public static final Property propertyBinary_ExplicitNullable = new Property()
-      .setName("PropertyBinary")
-      .setType(nameBinary)
-      .setNullable(true);
-
-  public static final Property propertyBoolean = new Property()
-      .setName("PropertyBoolean")
-      .setType(nameBoolean);
-
-  public static final Property propertyBoolean_NotNullable = new Property()
-      .setName("PropertyBoolean")
-      .setType(nameBoolean)
-      .setNullable(false);
-
-  public static final Property propertyBoolean_ExplicitNullable = new Property()
-      .setName("PropertyBoolean")
-      .setType(nameBoolean)
-      .setNullable(true);
-
-  public static final Property propertyByte = new Property()
-      .setName("PropertyByte")
-      .setType(nameByte);
-
-  public static final Property propertyByte_NotNullable = new Property()
-      .setName("PropertyByte")
-      .setType(nameByte)
-      .setNullable(false);
-
-  public static final Property propertyByte_ExplicitNullable = new Property()
-      .setName("PropertyByte")
-      .setType(nameByte)
-      .setNullable(true);
-
-  public static final Property propertyDate = new Property()
-      .setName("PropertyDate")
-      .setType(nameDate);
-
-  public static final Property propertyDate_NotNullable = new Property()
-      .setName("PropertyDate")
-      .setType(nameDate)
-      .setNullable(false);
-
-  public static final Property propertyDate_ExplicitNullable = new Property()
-      .setName("PropertyDate")
-      .setType(nameDate)
-      .setNullable(true);
-
-  public static final Property propertyDateTimeOffset = new Property()
-      .setName("PropertyDateTimeOffset")
-      .setType(nameDateTimeOffset);
-
-  public static final Property propertyDateTimeOffset_NotNullable = new Property()
-      .setName("PropertyDateTimeOffset")
-      .setType(nameDateTimeOffset)
-      .setNullable(false);
-
-  public static final Property propertyDateTimeOffset_ExplicitNullable = new Property()
-      .setName("PropertyDateTimeOffset")
-      .setType(nameDateTimeOffset)
-      .setNullable(true);
-
-  public static final Property propertyDecimal = new Property()
-      .setName("PropertyDecimal")
-      .setType(nameDecimal);
-
-  public static final Property propertyDecimal_NotNullable = new Property()
-      .setName("PropertyDecimal")
-      .setType(nameDecimal)
-      .setNullable(false);
-
-  public static final Property propertyDecimal_ExplicitNullable = new Property()
-      .setName("PropertyDecimal")
-      .setType(nameDecimal)
-      .setNullable(true);
-
-  public static final Property propertyDouble = new Property()
-      .setName("PropertyDouble")
-      .setType(nameDouble);
-
-  public static final Property propertyDouble_NotNullable = new Property()
-      .setName("PropertyDouble")
-      .setType(nameDouble)
-      .setNullable(false);
-
-  public static final Property propertyDouble_ExplicitNullable = new Property()
-      .setName("PropertyDouble")
-      .setType(nameDouble)
-      .setNullable(true);
-
-  public static final Property propertyDuration = new Property()
-      .setName("PropertyDuration")
-      .setType(nameDuration);
-
-  public static final Property propertyDuration_NotNullable = new Property()
-      .setName("PropertyDuration")
-      .setType(nameDuration)
-      .setNullable(false);
-
-  public static final Property propertyDuration_ExplicitNullable = new Property()
-      .setName("PropertyDuration")
-      .setType(nameDuration)
-      .setNullable(true);
-
-  public static final Property propertyGuid = new Property()
-      .setName("PropertyGuid")
-      .setType(nameGuid);
-
-  public static final Property propertyGuid_NotNullable = new Property()
-      .setName("PropertyGuid")
-      .setType(nameGuid)
-      .setNullable(false);
-
-  public static final Property propertyGuid_ExplicitNullable = new Property()
-      .setName("PropertyGuid")
-      .setType(nameGuid)
-      .setNullable(true);
-
-  public static final Property propertyInt16 = new Property()
-      .setName("PropertyInt16")
-      .setType(nameInt16);
-
-  public static final Property propertyInt16_NotNullable = new Property()
-      .setName("PropertyInt16")
-      .setType(nameInt16)
-      .setNullable(false);
-
-  public static final Property propertyInt16_ExplicitNullable = new Property()
-      .setName("PropertyInt16")
-      .setType(nameInt16)
-      .setNullable(true);
-
-  public static final Property propertyInt32 = new Property()
-      .setName("PropertyInt32")
-      .setType(nameInt32);
-
-  public static final Property propertyInt32_NotNullable = new Property()
-      .setName("PropertyInt32")
-      .setType(nameInt32)
-      .setNullable(false);
-
-  public static final Property propertyInt32_ExplicitNullable = new Property()
-      .setName("PropertyInt32")
-      .setType(nameInt32)
-      .setNullable(true);
-
-  public static final Property propertyInt64 = new Property()
-      .setName("PropertyInt64")
-      .setType(nameInt64);
-
-  public static final Property propertyInt64_NotNullable = new Property()
-      .setName("PropertyInt64")
-      .setType(nameInt64)
-      .setNullable(false);
-
-  public static final Property propertyInt64_ExplicitNullable = new Property()
-      .setName("PropertyInt64")
-      .setType(nameInt64)
-      .setNullable(true);
-
-  public static final Property propertySByte = new Property()
-      .setName("PropertySByte")
-      .setType(nameSByte);
-
-  public static final Property propertySByte_NotNullable = new Property()
-      .setName("PropertySByte")
-      .setType(nameSByte)
-      .setNullable(false);
-
-  public static final Property propertySByte_ExplicitNullable = new Property()
-      .setName("PropertySByte")
-      .setType(nameSByte)
-      .setNullable(true);
-
-  public static final Property propertySingle = new Property()
-      .setName("PropertySingle")
-      .setType(nameSingle);
-
-  public static final Property propertySingle_NotNullable = new Property()
-      .setName("PropertySingle")
-      .setType(nameSingle)
-      .setNullable(false);
-
-  public static final Property propertySingle_ExplicitNullable = new Property()
-      .setName("PropertySingle")
-      .setType(nameSingle)
-      .setNullable(true);
-
-  public static final Property propertyString = new Property()
-      .setName("PropertyString")
-      .setType(nameString);
-
-  public static final Property propertyString_NotNullable = new Property()
-      .setName("PropertyString")
-      .setType(nameString)
-      .setNullable(false);
-
-  public static final Property propertyString_ExplicitNullable = new Property()
-      .setName("PropertyString")
-      .setType(nameString)
-      .setNullable(true);
-
-  public static final Property propertyTimeOfDay = new Property()
-      .setName("PropertyTimeOfDay")
-      .setType(nameTimeOfDay);
-
-  public static final Property propertyTimeOfDay_NotNullable = new Property()
-      .setName("PropertyTimeOfDay")
-      .setType(nameTimeOfDay)
-      .setNullable(false);
-
-  public static final Property propertyTimeOfDay_ExplicitNullable = new Property()
-      .setName("PropertyTimeOfDay")
-      .setType(nameTimeOfDay)
-      .setNullable(true);
-
-  /*
-   * TODO add propertyStream
-   * Property propertyStream = new Property()
-   * .setName("PropertyStream")
-   * .setType(EdmStream.getFullQualifiedName());
-   */
-
-  // Complex Properties ----------------------------------------------------------------------------------------------
-  public static final Property collPropertyComplex_CTPrimComp = new Property()
-      .setName("CollPropertyComplex")
-      .setType(ComplexTypeProvider.nameCTPrimComp)
-      .setCollection(true);
-
-  public static final Property collPropertyComplex_CTTwoPrim = new Property()
-      .setName("CollPropertyComplex")
-      .setType(ComplexTypeProvider.nameCTTwoPrim)
-      .setCollection(true);
-
-  public static final Property propertyComplex_CTAllPrim = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTAllPrim);
-
-  public static final Property propertyComplex_CTCollAllPrim = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTCollAllPrim);
-
-  public static final Property propertyComplex_CTCompCollComp = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTCompCollComp);
-
-  public static final Property propertyComplex_CTCompComp = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTCompComp);
-
-  public static final Property propertyComplex_CTNavFiveProp = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTNavFiveProp);
-
-  public static final Property propertyComplex_CTPrimComp_NotNullable = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTPrimComp)
-      .setNullable(false);
-
-  public static final Property propertyComplex_CTTwoPrim = new Property()
-      .setName("PropertyComplex")
-      .setType(ComplexTypeProvider.nameCTTwoPrim);
-
-  public static final Property propertyComplexAllPrim_CTAllPrim = new Property()
-      .setName("PropertyComplexAllPrim")
-      .setType(ComplexTypeProvider.nameCTAllPrim);
-
-  public static final Property propertyComplexComplex_CTCompComp = new Property()
-      .setName("PropertyComplexComplex")
-      .setType(ComplexTypeProvider.nameCTCompComp);
-
-  public static final Property propertyComplexEnum_CTPrimEnum_NotNullable = new Property()
-      .setName("PropertyComplexEnum")
-      .setType(ComplexTypeProvider.nameCTPrimEnum)
-      .setNullable(false);
-
-  public static final Property propertyComplexTwoPrim_CTTwoPrim = new Property()
-      .setName("PropertyComplexTwoPrim")
-      .setType(ComplexTypeProvider.nameCTTwoPrim);
-
-  public static final Property propertyMixedPrimCollComp_CTMixPrimCollComp = new Property()
-      .setName("PropertyMixedPrimCollComp")
-      .setType(ComplexTypeProvider.nameCTMixPrimCollComp);
-
-  // Navigation Properties -------------------------------------------------------------------------------------------
-  public static final NavigationProperty collectionNavPropertyETKeyNavMany_ETKeyNav = new NavigationProperty()
-      .setName("NavPropertyETKeyNavMany")
-      .setType(EntityTypeProvider.nameETKeyNav)
-      .setCollection(true);
-
-  public static final NavigationProperty collectionNavPropertyETMediaMany_ETMedia = new NavigationProperty()
-      .setName("NavPropertyETMediaMany")
-      .setType(EntityTypeProvider.nameETMedia)
-      .setCollection(true);
-
-  public static final NavigationProperty collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav = new NavigationProperty()
-      .setName("NavPropertyETTwoKeyNavMany")
-      .setType(EntityTypeProvider.nameETTwoKeyNav)
-      .setCollection(true)
-      .setPartner("NavPropertyETKeyNavOne");
-
-  public static final NavigationProperty collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
-      .setName("NavPropertyETTwoKeyNavOne")
-      .setType(EntityTypeProvider.nameETTwoKeyNav);
-
-  public static final NavigationProperty collectionNavPropertyETTwoPrimMany_ETTwoPrim = new NavigationProperty()
-      .setName("NavPropertyETTwoPrimMany")
-      .setType(EntityTypeProvider.nameETTwoPrim)
-      .setCollection(true)
-      .setNullable(false);
-
-  public static final NavigationProperty collectionNavPropertyETAllPrimMany_ETAllPrim = new NavigationProperty()
-      .setName("NavPropertyETAllPrimMany")
-      .setType(EntityTypeProvider.nameETAllPrim)
-      .setCollection(true);
-
-  public static final NavigationProperty navPropertyETKeyNavOne_ETKeyNav = new NavigationProperty()
-      .setName("NavPropertyETKeyNavOne")
-      .setType(EntityTypeProvider.nameETKeyNav);
-
-  public static final NavigationProperty navPropertyETMediaOne_ETMedia = new NavigationProperty()
-      .setName("NavPropertyETMediaOne")
-      .setType(EntityTypeProvider.nameETMedia);
-
-  public static final NavigationProperty navPropertyETKeyPrimNavOne_ETKeyPrimNav = new NavigationProperty()
-      .setName("NavPropertyETKeyPrimNavOne")
-      .setType(EntityTypeProvider.nameETKeyPrimNav);
-
-  public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav_NotNullable = new NavigationProperty()
-      .setName("NavPropertyETTwoKeyNavOne")
-      .setType(EntityTypeProvider.nameETTwoKeyNav)
-      .setNullable(false);
-
-  public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty()
-      .setName("NavPropertyETTwoKeyNavOne")
-      .setType(EntityTypeProvider.nameETTwoKeyNav);
-
-  public static final NavigationProperty navPropertyETTwoPrimOne_ETTwoPrim = new NavigationProperty()
-      .setName("NavPropertyETTwoPrimOne")
-      .setType(EntityTypeProvider.nameETTwoPrim)
-      .setNullable(false);
-
-  public static final NavigationProperty navPropertyETAllPrimOne_ETAllPrim = new NavigationProperty()
-      .setName("NavPropertyETAllPrimOne")
-      .setType(EntityTypeProvider.nameETAllPrim);
-
-  // EnumProperties --------------------------------------------------------------------------------------------------
-  public static final Property propertyEnumString_ENString = new Property()
-      .setName("PropertyEnumString")
-      .setType(EnumTypeProvider.nameENString);
-
-  // TypeDefinition Properties ---------------------------------------------------------------------------------------
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
deleted file mode 100644
index 70d9987..0000000
--- a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/SchemaProvider.java
+++ /dev/null
@@ -1,250 +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.testutil.techprovider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.commons.api.ODataException;
-import org.apache.olingo.server.api.edm.provider.Action;
-import org.apache.olingo.server.api.edm.provider.ActionImport;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.EnumType;
-import org.apache.olingo.server.api.edm.provider.Function;
-import org.apache.olingo.server.api.edm.provider.FunctionImport;
-import org.apache.olingo.server.api.edm.provider.Schema;
-import org.apache.olingo.server.api.edm.provider.Singleton;
-
-public class SchemaProvider {
-
-  private EdmTechProvider prov;
-
-  public static final String nameSpace = "com.sap.odata.test1";
-
-  public SchemaProvider(final EdmTechProvider prov) {
-    this.prov = prov;
-  }
-
-  public List<Schema> getSchemas() throws ODataException {
-    List<Schema> schemas = new ArrayList<Schema>();
-    Schema schema = new Schema();
-    schema.setNamespace("com.sap.odata.test1");
-    schema.setAlias("Namespace1_Alias");
-    schemas.add(schema);
-    // EnumTypes
-    List<EnumType> enumTypes = new ArrayList<EnumType>();
-    schema.setEnumTypes(enumTypes);
-    enumTypes.add(prov.getEnumType(EnumTypeProvider.nameENString));
-    // EntityTypes
-    List<EntityType> entityTypes = new ArrayList<EntityType>();
-    schema.setEntityTypes(entityTypes);
-
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllPrim));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCollAllPrim));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoPrim));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETMixPrimCollComp));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyTwoPrim));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBase));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBase));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllKey));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompAllPrim));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompCollAllPrim));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompComp));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompCollComp));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETMedia));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETFourKeyAlias));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETServerSidePaging));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllNullable));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyNav));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyNav));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBaseTwoKeyNav));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompMixPrimCollComp));
-    entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyPrimNav));
-
-    // ComplexTypes
-    List<ComplexType> complexType = new ArrayList<ComplexType>();
-    schema.setComplexTypes(complexType);
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrim));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTAllPrim));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCollAllPrim));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoPrim));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTMixPrimCollComp));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTBase));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoBase));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompComp));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompCollComp));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrimComp));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTNavFiveProp));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrimEnum));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTBasePrimCompNav));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoBasePrimCompNav));
-    complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompNav));
-
-    // TypeDefinitions
-
-    // Actions
-    List<Action> actions = new ArrayList<Action>();
-    schema.setActions(actions);
-    actions.addAll(prov.getActions(ActionProvider.nameBAETTwoKeyNavRTETTwoKeyNav));
-    actions.addAll(prov.getActions(ActionProvider.nameBAESAllPrimRTETAllPrim));
-    actions.addAll(prov.getActions(ActionProvider.nameBAESTwoKeyNavRTESTwoKeyNav));
-    actions.addAll(prov.getActions(ActionProvider.nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav));
-    actions.addAll(prov.getActions(ActionProvider.nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav));
-    actions.addAll(prov.getActions(ActionProvider.nameUARTPrimParam));
-    actions.addAll(prov.getActions(ActionProvider.nameUARTPrimCollParam));
-    actions.addAll(prov.getActions(ActionProvider.nameUARTCompParam));
-    actions.addAll(prov.getActions(ActionProvider.nameUARTCompCollParam));
-    actions.addAll(prov.getActions(ActionProvider.nameUARTETParam));
-    actions.addAll(prov.getActions(ActionProvider.nameUARTESParam));
-
-    // Functions
-    List<Function> functions = new ArrayList<Function>();
-    schema.setFunctions(functions);
-
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTInt16));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParamCTTwoPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTStringTwoParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESTwoKeyNavParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTString));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollStringTwoParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollString));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTAllPrimTwoParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTTwoPrimParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollCTTwoPrimParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTTwoPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollCTTwoPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETMedia));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTESMixPrimCollCompTwoParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETAllPrimTwoParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESMixPrimCollCompTwoParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTCollCTNavFiveProp));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCStringRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTETTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESBaseTwoKeyNavRTESBaseTwoKey));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESAllPrimRTCTAllPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCTTwoPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollCTTwoPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTString));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollString));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCSINavRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTESBaseTwoKey));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCollStringRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESBaseTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCollCTPrimCompRTESAllPrim));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETKeyNavRTETKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFESTwoKeyNavRTESTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTETTwoKeyNav));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTCTTwoPrim));
-
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCTNavFiveProp));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollCTNavFiveProp));
-
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTStringParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNavParam));
-    functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTETTwoKeyNavParam));
-    // functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNavParam));
-
-    // EntityContainer
-    EntityContainer container = new EntityContainer();
-    schema.setEntityContainer(container);
-    container.setName(ContainerProvider.nameContainer.getName());
-
-    // EntitySets
-    List<EntitySet> entitySets = new ArrayList<EntitySet>();
-    container.setEntitySets(entitySets);
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCollAllPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMixPrimCollComp"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBase"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBase"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyTwoPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBaseTwoKeyTwoPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBaseTwoKeyTwoPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllKey"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompAllPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompCollAllPrim"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompComp"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompCollComp"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMedia"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyTwoKeyComp"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESInvisible"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESServerSidePaging"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllNullable"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyNav"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyNav"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBaseTwoKeyNav"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompMixPrimCollComp"));
-    entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESFourKeyAlias"));
-
-    // Singletons
-    List<Singleton> singletons = new ArrayList<Singleton>();
-    container.setSingletons(singletons);
-    singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SI"));
-    singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SINav"));
-    singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SIMedia"));
-
-    // ActionImports
-    List<ActionImport> actionImports = new ArrayList<ActionImport>();
-    container.setActionImports(actionImports);
-    actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimParam"));
-    actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimCollParam"));
-    actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompParam"));
-    actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompCollParam"));
-    actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETParam"));
-    actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETCollAllPrimParam"));
-
-    // FunctionImports
-    List<FunctionImport> functionImports = new ArrayList<FunctionImport>();
-    container.setFunctionImports(functionImports);
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTInt16"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINInvisibleRTInt16"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINInvisible2RTInt16"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETKeyNav"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETTwoKeyNavParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTStringTwoParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollStringTwoParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTAllPrimTwoParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTESMixPrimCollCompTwoParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTESMixPrimCollCompTwoParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrim"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETMedia"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTTwoPrimParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTTwoPrim"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollString"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTString"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTESTwoKeyNavParam"));
-    functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrimParam"));
-
-    return schemas;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
deleted file mode 100644
index dc34b31..0000000
--- a/lib/server-ref/src/main/java/org/apache/olingo/server/core/testutil/techprovider/TypeDefinitionProvider.java
+++ /dev/null
@@ -1,30 +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.testutil.techprovider;
-
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.server.api.edm.provider.TypeDefinition;
-
-public class TypeDefinitionProvider {
-
-  public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) {
-    return null;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/ref/ReferenceServlet.java
----------------------------------------------------------------------
diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/ref/ReferenceServlet.java b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/ReferenceServlet.java
new file mode 100644
index 0000000..0be695f
--- /dev/null
+++ b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/ReferenceServlet.java
@@ -0,0 +1,42 @@
+/*
+ * 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.ref;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.olingo.server.api.ODataServer;
+
+public class ReferenceServlet extends HttpServlet {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+    
+    ODataServer server = ODataServer.newInstance();
+    server.handle(req, resp);
+    
+  }
+
+}