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 2014/04/02 09:33:36 UTC

[17/17] git commit: Merge branch 'olingo168'

Merge branch 'olingo168'

Conflicts:
	lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
	lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
	lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java
	lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java
	lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechProvider.java
	lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/793c56e8
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/793c56e8
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/793c56e8

Branch: refs/heads/master
Commit: 793c56e80c6a8fb1cd0c5aa7b901512926979d4d
Parents: b275fc4 7c2dac9
Author: Christian Amend <ch...@apache.org>
Authored: Wed Apr 2 09:30:53 2014 +0200
Committer: Christian Amend <ch...@apache.org>
Committed: Wed Apr 2 09:30:53 2014 +0200

----------------------------------------------------------------------
 .../client/core/edm/EdmBindingTargetImpl.java   |   39 +-
 .../client/core/edm/EdmEntityContainerImpl.java |    9 +-
 .../core/edm/EdmNavigationPropertyImpl.java     |   35 +-
 .../client/core/edm/v3/EdmEntitySetProxy.java   |    7 +
 .../commons/api/edm/EdmBindingTarget.java       |    7 +
 .../commons/api/edm/EdmEntityContainer.java     |    5 +
 .../olingo/commons/api/edm/EdmEnumType.java     |    5 +
 .../commons/api/edm/EdmNavigationProperty.java  |   27 +-
 .../api/edm/EdmNavigationPropertyBinding.java   |   28 +
 .../api/edm/EdmReferentialConstraint.java       |   28 +
 .../core/edm/AbstractEdmEntityContainer.java    |  196 +--
 .../commons/core/edm/AbstractEdmEnumType.java   |    5 +
 .../edm/EdmNavigationPropertyBindingImpl.java   |   43 +
 .../core/edm/EdmReferentialConstraintImpl.java  |   42 +
 .../apache/olingo/server/api/ODataFormat.java   |   23 -
 .../olingo/server/api/ODataSerializer.java      |   31 -
 .../apache/olingo/server/api/ODataServer.java   |    2 +
 .../server/api/serializer/ODataFormat.java      |   23 +
 .../server/api/serializer/ODataSerializer.java  |   33 +
 .../olingo/server/core/CircleStreamBuffer.java  |  327 ----
 .../olingo/server/core/ODataJsonSerializer.java |  147 --
 .../olingo/server/core/ODataSerializerImpl.java |   38 -
 .../olingo/server/core/ODataServerImpl.java     |   10 +-
 .../server/core/edm/provider/EdmActionImpl.java |   16 +-
 .../core/edm/provider/EdmActionImportImpl.java  |   16 +-
 .../core/edm/provider/EdmBindingTargetImpl.java |   44 +-
 .../core/edm/provider/EdmComplexTypeImpl.java   |   20 +-
 .../edm/provider/EdmEntityContainerImpl.java    |   13 +-
 .../core/edm/provider/EdmEntitySetImpl.java     |   16 +-
 .../core/edm/provider/EdmEntityTypeImpl.java    |   22 +-
 .../core/edm/provider/EdmEnumTypeImpl.java      |   16 +-
 .../core/edm/provider/EdmFunctionImpl.java      |   16 +-
 .../edm/provider/EdmKeyPropertyRefImpl.java     |   16 +-
 .../edm/provider/EdmNavigationPropertyImpl.java |   34 +-
 .../edm/provider/EdmOperationImportImpl.java    |    2 +-
 .../core/edm/provider/EdmParameterImpl.java     |   16 +-
 .../core/edm/provider/EdmPropertyImpl.java      |   16 +-
 .../core/edm/provider/EdmReturnTypeImpl.java    |   16 +-
 .../server/core/edm/provider/EdmSchemaImpl.java |    2 +-
 .../edm/provider/EdmServiceMetadataImpl.java    |   18 +-
 .../core/edm/provider/EdmSingletonImpl.java     |   16 +-
 .../provider/EdmStructuredTypeHelperImpl.java   |   16 +-
 .../core/serializer/ODataJsonSerializer.java    |   87 +
 .../core/serializer/ODataXmlSerializerImpl.java |   72 +
 .../json/ServiceDocumentJsonSerializer.java     |  103 ++
 .../serializer/utils/CircleStreamBuffer.java    |  327 ++++
 .../xml/MetadataDocumentXmlSerializer.java      |  543 +++++++
 .../olingo/server/core/uri/UriInfoImpl.java     |   22 +-
 .../server/core/uri/UriParameterImpl.java       |   16 +-
 .../server/core/uri/UriResourceActionImpl.java  |   16 +-
 .../uri/UriResourceComplexPropertyImpl.java     |   16 +-
 .../server/core/uri/UriResourceCountImpl.java   |   16 +-
 .../core/uri/UriResourceEntitySetImpl.java      |   16 +-
 .../core/uri/UriResourceFunctionImpl.java       |   16 +-
 .../olingo/server/core/uri/UriResourceImpl.java |   16 +-
 .../server/core/uri/UriResourceItImpl.java      |   16 +-
 .../core/uri/UriResourceLambdaAllImpl.java      |   16 +-
 .../core/uri/UriResourceLambdaAnyImpl.java      |   16 +-
 .../core/uri/UriResourceLambdaVarImpl.java      |   16 +-
 .../uri/UriResourceNavigationPropertyImpl.java  |   16 +-
 .../uri/UriResourcePrimitivePropertyImpl.java   |   16 +-
 .../server/core/uri/UriResourceRefImpl.java     |   16 +-
 .../server/core/uri/UriResourceRootImpl.java    |   16 +-
 .../core/uri/UriResourceSingletonImpl.java      |   16 +-
 .../uri/UriResourceStartingTypeFilterImpl.java  |   16 +-
 .../server/core/uri/UriResourceTypedImpl.java   |   16 +-
 .../server/core/uri/UriResourceValueImpl.java   |   16 +-
 .../core/uri/UriResourceWithKeysImpl.java       |   16 +-
 .../olingo/server/core/uri/parser/RawUri.java   |   16 +-
 .../server/core/uri/parser/UriContext.java      |   33 +-
 .../core/uri/parser/UriParseTreeVisitor.java    |   31 +-
 .../core/uri/parser/UriParserException.java     |   16 +-
 .../uri/parser/UriParserSemanticException.java  |   16 +-
 .../uri/parser/UriParserSyntaxException.java    |   16 +-
 .../uri/queryoption/AliasQueryOptionImpl.java   |   16 +-
 .../core/uri/queryoption/CountOptionImpl.java   |   16 +-
 .../uri/queryoption/CustomQueryOptionImpl.java  |   16 +-
 .../core/uri/queryoption/ExpandItemImpl.java    |   28 +-
 .../core/uri/queryoption/ExpandOptionImpl.java  |   16 +-
 .../core/uri/queryoption/FilterOptionImpl.java  |   16 +-
 .../core/uri/queryoption/FormatOptionImpl.java  |   16 +-
 .../core/uri/queryoption/IdOptionImpl.java      |   16 +-
 .../core/uri/queryoption/LevelsOptionImpl.java  |   16 +-
 .../core/uri/queryoption/OrderByItemImpl.java   |   16 +-
 .../core/uri/queryoption/OrderByOptionImpl.java |   16 +-
 .../core/uri/queryoption/QueryOptionImpl.java   |   16 +-
 .../core/uri/queryoption/SearchOptionImpl.java  |   16 +-
 .../core/uri/queryoption/SelectItemImpl.java    |   28 +-
 .../core/uri/queryoption/SelectOptionImpl.java  |   16 +-
 .../core/uri/queryoption/SkipOptionImpl.java    |   16 +-
 .../uri/queryoption/SkipTokenOptionImpl.java    |   16 +-
 .../uri/queryoption/SystemQueryOptionImpl.java  |   18 +-
 .../core/uri/queryoption/TopOptionImpl.java     |   17 +-
 .../uri/queryoption/expression/AliasImpl.java   |   16 +-
 .../uri/queryoption/expression/BinaryImpl.java  |   16 +-
 .../queryoption/expression/EnumerationImpl.java |   16 +-
 .../queryoption/expression/ExpressionImpl.java  |   16 +-
 .../queryoption/expression/LambdaRefImpl.java   |   16 +-
 .../uri/queryoption/expression/LiteralImpl.java |   16 +-
 .../uri/queryoption/expression/MemberImpl.java  |   28 +-
 .../uri/queryoption/expression/MethodImpl.java  |   16 +-
 .../queryoption/expression/TypeLiteralImpl.java |   16 +-
 .../uri/queryoption/expression/UnaryImpl.java   |   16 +-
 .../olingo/server/core/ServiceDocumentTest.java |  133 --
 .../core/edm/provider/EdmActionImplTest.java    |   18 +-
 .../edm/provider/EdmActionImportImplTest.java   |    2 -
 .../edm/provider/EdmComplexTypeImplTest.java    |   16 +-
 .../provider/EdmEntityContainerImplTest.java    |  100 +-
 .../core/edm/provider/EdmEntitySetImplTest.java |   19 +-
 .../edm/provider/EdmEntityTypeImplTest.java     |   16 +-
 .../server/core/edm/provider/EdmEnumTest.java   |   16 +-
 .../core/edm/provider/EdmFunctionImplTest.java  |   18 +-
 .../edm/provider/EdmFunctionImportImplTest.java |   16 +-
 .../edm/provider/EdmKeyPropertyRefImplTest.java |   17 +-
 .../core/edm/provider/EdmMemberImplTest.java    |   20 +-
 .../core/edm/provider/EdmNamedImplTest.java     |   16 +-
 .../provider/EdmNavigationPropertyImplTest.java |   18 +-
 .../core/edm/provider/EdmParameterImplTest.java |   16 +-
 .../core/edm/provider/EdmPropertyImplTest.java  |   16 +-
 .../EdmProviderImplOverloadingTest.java         |   17 +-
 .../core/edm/provider/EdmProviderImplTest.java  |   17 +-
 .../edm/provider/EdmReturnTypeImplTest.java     |   16 +-
 .../core/edm/provider/EdmSchemaImplTest.java    |   33 +-
 .../provider/EdmServiceMetadataImplTest.java    |   17 +-
 .../core/edm/provider/EdmSingletonImplTest.java |   19 +-
 .../edm/provider/EdmTypeDefinitionImplTest.java |   16 +-
 .../core/edm/provider/EdmTypeImplTest.java      |   16 +-
 .../serializer/json/ServiceDocumentTest.java    |  133 ++
 .../serializer/xml/MetadataDocumentTest.java    |   57 +
 .../core/testutil/EdmTechTestProvider.java      |   24 +-
 .../server/core/testutil/StringUtils.java       |    4 +-
 .../testutil/techprovider/ActionProvider.java   |  191 +++
 .../techprovider/ComplexTypeProvider.java       |  175 ++
 .../techprovider/ContainerProvider.java         |  361 +++++
 .../testutil/techprovider/EdmTechProvider.java  |  147 ++
 .../techprovider/EntityTypeProvider.java        |  410 +++++
 .../testutil/techprovider/EnumTypeProvider.java |   47 +
 .../testutil/techprovider/FunctionProvider.java |  852 ++++++++++
 .../testutil/techprovider/PropertyProvider.java |  590 +++++++
 .../testutil/techprovider/SchemaProvider.java   |  250 +++
 .../techprovider/TypeDefinitionProvider.java    |   30 +
 .../olingo/server/core/uri/RawUriTest.java      |   26 +-
 .../olingo/server/core/uri/UriInfoImplTest.java |   23 +-
 .../server/core/uri/UriResourceImplTest.java    |   56 +-
 .../core/uri/antlr/TestFullResourcePath.java    | 1515 +++++++++---------
 .../olingo/server/core/uri/antlr/TestLexer.java |   25 +-
 .../core/uri/antlr/TestUriParserImpl.java       |  310 ++--
 .../core/uri/queryoption/QueryOptionTest.java   |   34 +-
 .../queryoption/expression/ExpressionTest.java  |   57 +-
 .../core/uri/testutil/ExpandValidator.java      |   29 +-
 .../core/uri/testutil/FilterTreeToText.java     |   16 +-
 .../core/uri/testutil/FilterValidator.java      |   22 +-
 .../core/uri/testutil/ParseTreeToText.java      |   16 +-
 .../core/uri/testutil/ParserValidator.java      |   16 +-
 .../core/uri/testutil/ParserWithLogging.java    |   16 +-
 .../core/uri/testutil/ResourceValidator.java    |   50 +-
 .../core/uri/testutil/TestErrorLogger.java      |   16 +-
 .../core/uri/testutil/TokenValidator.java       |   16 +-
 .../core/uri/testutil/UriLexerWithTrace.java    |   16 +-
 .../server/core/uri/testutil/UriValidator.java  |   27 +-
 .../server/core/uri/testutil/Validator.java     |   16 +-
 161 files changed, 6854 insertions(+), 2873 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --cc lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
index 36f5b14,6a962e3..e73d3be
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
@@@ -45,17 -44,24 +45,24 @@@ public class EdmEntityContainerImpl ext
  
    private final EntityContainer xmlEntityContainer;
  
 -  private final XMLMetadata xmlMetadata;
 +  private final List<? extends Schema> xmlSchemas;
  
    public EdmEntityContainerImpl(final Edm edm, final FullQualifiedName entityContainerName,
 -      final EntityContainer xmlEntityContainer, final XMLMetadata xmlMetadata) {
 +          final EntityContainer xmlEntityContainer, final List<? extends Schema> xmlSchemas) {
  
-     super(edm, entityContainerName);
+     super(edm, entityContainerName, getFullQualifiedName(xmlEntityContainer.getExtends()));
  
      this.xmlEntityContainer = xmlEntityContainer;
 -    this.xmlMetadata = xmlMetadata;
 +    this.xmlSchemas = xmlSchemas;
    }
  
+   private static FullQualifiedName getFullQualifiedName(String parent) {
+     if (parent != null) {
+       return new FullQualifiedName(parent);
+     }
+     return null;
+   }
+ 
    @Override
    protected EdmSingleton createSingleton(final String singletonName) {
      if (!(xmlEntityContainer instanceof org.apache.olingo.client.api.edm.xml.v4.EntityContainer)) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --cc lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
index 44e723e,953da5b..c2a38c4
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
@@@ -24,8 -24,10 +24,11 @@@ import java.util.List
  import org.apache.olingo.client.api.edm.xml.v4.NavigationProperty;
  import org.apache.olingo.client.api.edm.xml.v4.ReferentialConstraint;
  import org.apache.olingo.commons.api.edm.Edm;
+ import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
  import org.apache.olingo.commons.api.edm.FullQualifiedName;
  import org.apache.olingo.commons.core.edm.AbstractEdmNavigationProperty;
+ import org.apache.olingo.commons.core.edm.EdmReferentialConstraintImpl;
++import org.apache.olingo.commons.core.edm.EdmTypeInfo;
  
  public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
  

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmEntitySetProxy.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
----------------------------------------------------------------------
diff --cc lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
index 41eb368,853d21f..1f77188
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/AbstractEdmEntityContainer.java
@@@ -33,123 -33,128 +33,123 @@@ import org.apache.olingo.commons.api.ed
  
  public abstract class AbstractEdmEntityContainer extends EdmNamedImpl implements EdmEntityContainer {
  
-     protected final FullQualifiedName entityContainerName;
- 
-     protected final Map<String, EdmSingleton> singletons = new HashMap<String, EdmSingleton>();
- 
-     private boolean allSingletonsLoaded = false;
- 
-     protected final Map<String, EdmEntitySet> entitySets = new HashMap<String, EdmEntitySet>();
- 
-     private boolean allEntitySetsLoaded = false;
- 
-     protected final Map<String, EdmActionImport> actionImports = new HashMap<String, EdmActionImport>();
- 
-     private boolean allActionImportsLoaded = false;
- 
-     protected final Map<String, EdmFunctionImport> functionImports = new HashMap<String, EdmFunctionImport>();
- 
-     private boolean allFunctionImportsLoaded = false;
- 
-     public AbstractEdmEntityContainer(final Edm edm, final FullQualifiedName entityContainerName) {
-         super(edm, entityContainerName.getName());
-         this.entityContainerName = entityContainerName;
-     }
- 
-     @Override
-     public String getNamespace() {
-         return entityContainerName.getNamespace();
-     }
- 
-     protected abstract EdmSingleton createSingleton(String singletonName);
- 
-     @Override
-     public EdmSingleton getSingleton(final String singletonName) {
-         EdmSingleton singleton = singletons.get(singletonName);
-         if (singleton == null) {
-             singleton = createSingleton(singletonName);
-             singletons.put(singletonName, singleton);
-         }
-         return singleton;
+   protected final FullQualifiedName entityContainerName;
 -
+   protected final Map<String, EdmSingleton> singletons = new HashMap<String, EdmSingleton>();
+   private boolean allSingletonsLoaded = false;
 -
+   protected final Map<String, EdmEntitySet> entitySets = new HashMap<String, EdmEntitySet>();
+   private boolean allEntitySetsLoaded = false;
 -
+   protected final Map<String, EdmActionImport> actionImports = new HashMap<String, EdmActionImport>();
++  private final FullQualifiedName parentContainerName;
+   private boolean allActionImportsLoaded = false;
 -
+   protected final Map<String, EdmFunctionImport> functionImports = new HashMap<String, EdmFunctionImport>();
+   private boolean allFunctionImportsLoaded = false;
+ 
 -  private final FullQualifiedName parentContainerName;
 -
+   public AbstractEdmEntityContainer(final Edm edm, final FullQualifiedName entityContainerName,
+       final FullQualifiedName parentContainerName) {
+     super(edm, entityContainerName.getName());
+     this.entityContainerName = entityContainerName;
+     this.parentContainerName = parentContainerName;
+   }
+ 
+   @Override
+   public String getNamespace() {
+     return entityContainerName.getNamespace();
+   }
+ 
+   protected abstract EdmSingleton createSingleton(String singletonName);
+ 
+   @Override
+   public EdmSingleton getSingleton(final String singletonName) {
+     EdmSingleton singleton = singletons.get(singletonName);
+     if (singleton == null) {
+       singleton = createSingleton(singletonName);
+       singletons.put(singletonName, singleton);
      }
+     return singleton;
+   }
  
-     protected abstract EdmEntitySet createEntitySet(String entitySetName);
+   protected abstract EdmEntitySet createEntitySet(String entitySetName);
  
-     @Override
-     public EdmEntitySet getEntitySet(final String entitySetName) {
-         EdmEntitySet entitySet = entitySets.get(entitySetName);
-         if (entitySet == null) {
-             entitySet = createEntitySet(entitySetName);
-             entitySets.put(entitySetName, entitySet);
-         }
-         return entitySet;
+   @Override
+   public EdmEntitySet getEntitySet(final String entitySetName) {
+     EdmEntitySet entitySet = entitySets.get(entitySetName);
+     if (entitySet == null) {
+       entitySet = createEntitySet(entitySetName);
+       entitySets.put(entitySetName, entitySet);
      }
+     return entitySet;
+   }
  
-     protected abstract EdmActionImport createActionImport(String actionImportName);
+   protected abstract EdmActionImport createActionImport(String actionImportName);
  
-     @Override
-     public EdmActionImport getActionImport(final String actionImportName) {
-         EdmActionImport actionImport = actionImports.get(actionImportName);
-         if (actionImport == null) {
-             actionImport = createActionImport(actionImportName);
-             actionImports.put(actionImportName, actionImport);
-         }
-         return actionImport;
+   @Override
+   public EdmActionImport getActionImport(final String actionImportName) {
+     EdmActionImport actionImport = actionImports.get(actionImportName);
+     if (actionImport == null) {
+       actionImport = createActionImport(actionImportName);
+       actionImports.put(actionImportName, actionImport);
      }
+     return actionImport;
+   }
  
-     protected abstract EdmFunctionImport createFunctionImport(String functionImportName);
+   protected abstract EdmFunctionImport createFunctionImport(String functionImportName);
  
-     @Override
-     public EdmFunctionImport getFunctionImport(final String functionImportName) {
-         EdmFunctionImport functionImport = functionImports.get(functionImportName);
-         if (functionImport == null) {
-             functionImport = createFunctionImport(functionImportName);
-             functionImports.put(functionImportName, functionImport);
-         }
-         return functionImport;
+   @Override
+   public EdmFunctionImport getFunctionImport(final String functionImportName) {
+     EdmFunctionImport functionImport = functionImports.get(functionImportName);
+     if (functionImport == null) {
+       functionImport = createFunctionImport(functionImportName);
+       functionImports.put(functionImportName, functionImport);
      }
- 
-     @Override
-     public List<EdmEntitySet> getEntitySets() {
-         if (!allEntitySetsLoaded) {
-             loadAllEntitySets();
-             allEntitySetsLoaded = true;
-         }
-         return new ArrayList<EdmEntitySet>(entitySets.values());
+     return functionImport;
+   }
+ 
+   @Override
+   public List<EdmEntitySet> getEntitySets() {
+     if (!allEntitySetsLoaded) {
+       loadAllEntitySets();
+       allEntitySetsLoaded = true;
      }
+     return new ArrayList<EdmEntitySet>(entitySets.values());
+   }
  
-     protected abstract void loadAllEntitySets();
+   protected abstract void loadAllEntitySets();
  
-     @Override
-     public List<EdmFunctionImport> getFunctionImports() {
-         if (!allFunctionImportsLoaded) {
-             loadAllFunctionImports();
-             allFunctionImportsLoaded = true;
-         }
-         return new ArrayList<EdmFunctionImport>(functionImports.values());
+   @Override
+   public List<EdmFunctionImport> getFunctionImports() {
+     if (!allFunctionImportsLoaded) {
+       loadAllFunctionImports();
+       allFunctionImportsLoaded = true;
      }
+     return new ArrayList<EdmFunctionImport>(functionImports.values());
+   }
  
-     protected abstract void loadAllFunctionImports();
+   protected abstract void loadAllFunctionImports();
  
-     @Override
-     public List<EdmSingleton> getSingletons() {
-         if (!allSingletonsLoaded) {
-             loadAllSingletons();
-             allSingletonsLoaded = true;
-         }
-         return new ArrayList<EdmSingleton>(singletons.values());
+   @Override
+   public List<EdmSingleton> getSingletons() {
+     if (!allSingletonsLoaded) {
+       loadAllSingletons();
+       allSingletonsLoaded = true;
      }
+     return new ArrayList<EdmSingleton>(singletons.values());
+   }
  
-     protected abstract void loadAllSingletons();
+   protected abstract void loadAllSingletons();
  
-     @Override
-     public List<EdmActionImport> getActionImports() {
-         if (!allActionImportsLoaded) {
-             loadAllActionImports();
-             allActionImportsLoaded = true;
-         }
-         return new ArrayList<EdmActionImport>(actionImports.values());
+   @Override
+   public List<EdmActionImport> getActionImports() {
+     if (!allActionImportsLoaded) {
+       loadAllActionImports();
+       allActionImportsLoaded = true;
      }
+     return new ArrayList<EdmActionImport>(actionImports.values());
+   }
+ 
+   protected abstract void loadAllActionImports();
  
-     protected abstract void loadAllActionImports();
+   @Override
+   public FullQualifiedName getParentContainerName() {
+     return parentContainerName;
+   }
  }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/main/java/org/apache/olingo/server/core/edm/provider/EdmEnumTypeImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/UriResourceLambdaAllImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/UriResourceLambdaAnyImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmComplexTypeImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEntityTypeImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmEnumTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmFunctionImportImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmParameterImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmPropertyImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmReturnTypeImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/edm/provider/EdmTypeDefinitionImplTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
----------------------------------------------------------------------
diff --cc lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
index 96afc8e,8e6fc1f..bee5f90
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/EdmTechTestProvider.java
@@@ -22,7 -22,8 +22,8 @@@ import java.util.Arrays
  import java.util.List;
  
  import org.apache.olingo.commons.api.ODataException;
++import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
  import org.apache.olingo.commons.api.edm.FullQualifiedName;
 -import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
  import org.apache.olingo.server.api.edm.provider.ComplexType;
  import org.apache.olingo.server.api.edm.provider.EntitySet;
  import org.apache.olingo.server.api.edm.provider.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
----------------------------------------------------------------------
diff --cc lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
index 0000000,e843955..94ea6ea
mode 000000,100644..100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/EnumTypeProvider.java
@@@ -1,0 -1,47 +1,47 @@@
+ /*
+  * 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.Arrays;
+ 
+ import org.apache.olingo.commons.api.ODataException;
++import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+ import org.apache.olingo.commons.api.edm.FullQualifiedName;
 -import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+ import org.apache.olingo.server.api.edm.provider.EnumMember;
+ import org.apache.olingo.server.api.edm.provider.EnumType;
+ 
+ public class EnumTypeProvider {
+ 
+   public static final FullQualifiedName nameENString = new FullQualifiedName(SchemaProvider.nameSpace, "ENString");
+ 
+   public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+     if (enumTypeName.equals(nameENString)) {
+       return new EnumType()
+           .setName("ENString")
+           .setFlags(true)
+           .setUnderlyingType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName())
+           .setMembers(Arrays.asList(
+               new EnumMember().setName("String1").setValue("1"),
+               new EnumMember().setName("String2").setValue("2"),
+               new EnumMember().setName("String3").setValue("3")));
+     }
+ 
+     return null;
+   }
+ }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
----------------------------------------------------------------------
diff --cc lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
index 0000000,2b6e10e..5d1ad3b
mode 000000,100644..100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/testutil/techprovider/PropertyProvider.java
@@@ -1,0 -1,590 +1,590 @@@
+ /*
+  * 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.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+ 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/793c56e8/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
----------------------------------------------------------------------