You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by fm...@apache.org on 2014/07/16 11:26:58 UTC

[35/58] [abbrv] Providing some refactoring in order to avoid multi-request retrieving entity info

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
index 3eb913e..d8afb56 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
@@ -1,485 +1,456 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types;
 
-import org.apache.olingo.client.api.edm.ConcurrencyMode;
-import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
-import org.apache.olingo.ext.proxy.api.Annotatable;
+import org.apache.olingo.client.api.http.HttpMethod;
+import org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty;
+import org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty;
+import org.apache.olingo.ext.proxy.api.annotations.Namespace;
+import org.apache.olingo.ext.proxy.api.annotations.EntityType;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
 import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.KeyRef;
+import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
+import org.apache.olingo.ext.proxy.api.annotations.Property;
+import org.apache.olingo.ext.proxy.api.annotations.Operation;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
-@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "DiscontinuedProduct",
-    openType = false,
-    hasStream = false,
-    isAbstract = false,
-    baseType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Product")
-public interface DiscontinuedProduct
-    extends Annotatable,
-    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product {
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Picture",
-      type = "Edm.Stream",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.io.InputStream getPicture();
-
-  @Override
-  void setPicture(java.io.InputStream _picture);
-
-  @Override
-  @Key
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductId",
-      type = "Edm.Int32",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.Integer getProductId();
-
-  @Override
-  void setProductId(java.lang.Integer _productId);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Description",
-      type = "Edm.String",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.String getDescription();
-
-  @Override
-  void setDescription(java.lang.String _description);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Dimensions",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions
-      getDimensions();
-
-  @Override
-      void
-      setDimensions(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "BaseConcurrency",
-      type = "Edm.String",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.String getBaseConcurrency();
-
-  @Override
-  void setBaseConcurrency(java.lang.String _baseConcurrency);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ComplexConcurrency",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo
-      getComplexConcurrency();
-
-  @Override
-      void
-      setComplexConcurrency(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "NestedComplexConcurrency",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo
-      getNestedComplexConcurrency();
-
-  @Override
-      void
-      setNestedComplexConcurrency(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Discontinued",
-      type = "Edm.DateTime",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.util.Calendar getDiscontinued();
-
-  void setDiscontinued(java.util.Calendar _discontinued);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ReplacementProductId",
-      type = "Edm.Int32",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.Integer getReplacementProductId();
-
-  void setReplacementProductId(java.lang.Integer _replacementProductId);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "DiscontinuedPhone",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone
-      getDiscontinuedPhone();
-
-      void
-      setDiscontinuedPhone(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone _discontinuedPhone);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ChildConcurrencyToken",
-      type = "Edm.String",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.String getChildConcurrencyToken();
-
-  void setChildConcurrencyToken(java.lang.String _childConcurrencyToken);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "RelatedProducts",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Product",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "Product",
-      containsTarget = false)
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection
-      getRelatedProducts();
-
-  @Override
-      void
-      setRelatedProducts(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection _relatedProducts);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Detail",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "ProductDetail",
-      containsTarget = false)
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail
-      getDetail();
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
 
-  @Override
-      void
-      setDetail(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail _detail);
 
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Reviews",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "ProductReview",
-      containsTarget = false)
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection
-      getReviews();
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "DiscontinuedProduct",
+        openType = false,
+        hasStream = false,
+        isAbstract = false,
+        baseType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Product")
+public interface DiscontinuedProduct 
+  extends org.apache.olingo.ext.proxy.api.StructuredType,org.apache.olingo.ext.proxy.api.Annotatable,org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product {
 
   @Override
-      void
-      setReviews(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection _reviews);
+  DiscontinuedProduct load();
+
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Picture", 
+                type = "Edm.Stream", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.io.InputStream getPicture();
+
+    void setPicture(java.io.InputStream _picture);    
+    
+    @Key
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductId", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductId();
+
+    void setProductId(java.lang.Integer _productId);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Description", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getDescription();
+
+    void setDescription(java.lang.String _description);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Dimensions", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
+
+    void setDimensions(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
+        
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "BaseConcurrency", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getBaseConcurrency();
+
+    void setBaseConcurrency(java.lang.String _baseConcurrency);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ComplexConcurrency", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getComplexConcurrency();
+
+    void setComplexConcurrency(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);    
+        
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "NestedComplexConcurrency", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getNestedComplexConcurrency();
+
+    void setNestedComplexConcurrency(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);    
+        
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Discontinued", 
+                type = "Edm.DateTime", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.sql.Timestamp getDiscontinued();
+
+    void setDiscontinued(java.sql.Timestamp _discontinued);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ReplacementProductId", 
+                type = "Edm.Int32", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getReplacementProductId();
+
+    void setReplacementProductId(java.lang.Integer _replacementProductId);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "DiscontinuedPhone", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone getDiscontinuedPhone();
+
+    void setDiscontinuedPhone(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone _discontinuedPhone);    
+        
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ChildConcurrencyToken", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getChildConcurrencyToken();
+
+    void setChildConcurrencyToken(java.lang.String _childConcurrencyToken);    
+    
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "RelatedProducts", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Product", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "Product",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection getRelatedProducts();
+
+    void setRelatedProducts(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection _relatedProducts);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Detail", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "ProductDetail",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail getDetail();
+
+    void setDetail(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail _detail);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Reviews", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "ProductReview",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection getReviews();
+
+    void setReviews(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection _reviews);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Photos", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "ProductPhoto",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection getPhotos();
+
+    void setPhotos(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection _photos);
+    
+
+        @Override
+        Operations operations();
+
+    interface Operations            extends org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product.Operations{
+    
+        }
+
+    ComplexFactory factory();
+
+    interface ComplexFactory            extends org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product.ComplexFactory{
+         @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Dimensions",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
+         org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+
+         @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+         org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
+
+         @org.apache.olingo.ext.proxy.api.annotations.Property(name = "NestedComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
+         org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
+
+         @org.apache.olingo.ext.proxy.api.annotations.Property(name = "DiscontinuedPhone",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+         org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone newDiscontinuedPhone();
+
+    }
+
+    Annotations annotations();
+
+    interface Annotations            extends org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product.Annotations{
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Picture",
+                   type = "Edm.Stream")
+        org.apache.olingo.ext.proxy.api.Annotatable getPictureAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ProductId",
+                   type = "Edm.Int32")
+        org.apache.olingo.ext.proxy.api.Annotatable getProductIdAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Description",
+                   type = "Edm.String")
+        org.apache.olingo.ext.proxy.api.Annotatable getDescriptionAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Dimensions",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
+        org.apache.olingo.ext.proxy.api.Annotatable getDimensionsAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "BaseConcurrency",
+                   type = "Edm.String")
+        org.apache.olingo.ext.proxy.api.Annotatable getBaseConcurrencyAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+        org.apache.olingo.ext.proxy.api.Annotatable getComplexConcurrencyAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "NestedComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
+        org.apache.olingo.ext.proxy.api.Annotatable getNestedComplexConcurrencyAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Discontinued",
+                   type = "Edm.DateTime")
+        org.apache.olingo.ext.proxy.api.Annotatable getDiscontinuedAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ReplacementProductId",
+                   type = "Edm.Int32")
+        org.apache.olingo.ext.proxy.api.Annotatable getReplacementProductIdAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "DiscontinuedPhone",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+        org.apache.olingo.ext.proxy.api.Annotatable getDiscontinuedPhoneAnnotations();
 
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Photos",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "ProductPhoto",
-      containsTarget = false)
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection
-      getPhotos();
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ChildConcurrencyToken",
+                   type = "Edm.String")
+        org.apache.olingo.ext.proxy.api.Annotatable getChildConcurrencyTokenAnnotations();
 
-  @Override
-      void
-      setPhotos(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection _photos);
 
-  @Override
-  Operations operations();
 
-  interface Operations
-      extends
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product.Operations {
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "RelatedProducts", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Product")
+        org.apache.olingo.ext.proxy.api.Annotatable getRelatedProductsAnnotations();
 
-  }
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Detail", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail")
+        org.apache.olingo.ext.proxy.api.Annotatable getDetailAnnotations();
 
-  @Override
-  ComplexFactory factory();
-
-  interface ComplexFactory
-      extends
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product.ComplexFactory {
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Dimensions",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions
-        newDimensions();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ComplexConcurrency",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo
-        newComplexConcurrency();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "NestedComplexConcurrency",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo
-        newNestedComplexConcurrency();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "DiscontinuedPhone",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
-    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone
-        newDiscontinuedPhone();
-
-  }
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Reviews", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview")
+        org.apache.olingo.ext.proxy.api.Annotatable getReviewsAnnotations();
 
-  @Override
-  Annotations annotations();
-
-  interface Annotations
-      extends
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Product.Annotations {
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Picture",
-        type = "Edm.Stream")
-    Annotatable getPictureAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ProductId",
-        type = "Edm.Int32")
-    Annotatable getProductIdAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Description",
-        type = "Edm.String")
-    Annotatable getDescriptionAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Dimensions",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
-    Annotatable getDimensionsAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "BaseConcurrency",
-        type = "Edm.String")
-    Annotatable getBaseConcurrencyAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ComplexConcurrency",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
-    Annotatable getComplexConcurrencyAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "NestedComplexConcurrency",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
-    Annotatable getNestedComplexConcurrencyAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Discontinued",
-        type = "Edm.DateTime")
-    Annotatable getDiscontinuedAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ReplacementProductId",
-        type = "Edm.Int32")
-    Annotatable getReplacementProductIdAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "DiscontinuedPhone",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
-    Annotatable getDiscontinuedPhoneAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ChildConcurrencyToken",
-        type = "Edm.String")
-    Annotatable getChildConcurrencyTokenAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "RelatedProducts",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Product")
-    Annotatable getRelatedProductsAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Detail",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail")
-    Annotatable getDetailAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Reviews",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview")
-    Annotatable getReviewsAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Photos",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto")
-    Annotatable getPhotosAnnotations();
-  }
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Photos", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto")
+        org.apache.olingo.ext.proxy.api.Annotatable getPhotosAnnotations();
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
index 9957155..3862b80 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
@@ -1,32 +1,50 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types;
 
-import java.util.Collection;
-
+import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.ext.proxy.api.AbstractEntityCollection;
 import org.apache.olingo.ext.proxy.api.AbstractTerm;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.ext.proxy.api.annotations.Operation;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-public interface DiscontinuedProductCollection
-    extends
-    AbstractEntityCollection<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DiscontinuedProduct> {
+public interface DiscontinuedProductCollection extends AbstractEntityCollection<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DiscontinuedProduct> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
index 264adbd..f668f75 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
@@ -1,114 +1,146 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types;
 
-import org.apache.olingo.client.api.edm.ConcurrencyMode;
-import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
-import org.apache.olingo.ext.proxy.api.Annotatable;
+import org.apache.olingo.client.api.http.HttpMethod;
+import org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty;
+import org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty;
+import org.apache.olingo.ext.proxy.api.annotations.Namespace;
+import org.apache.olingo.ext.proxy.api.annotations.EntityType;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
 import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.KeyRef;
+import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
+import org.apache.olingo.ext.proxy.api.annotations.Property;
+import org.apache.olingo.ext.proxy.api.annotations.Operation;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+
 
 @org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Driver",
-    openType = false,
-    hasStream = false,
-    isAbstract = false)
-public interface Driver
-    extends Annotatable, java.io.Serializable {
-
-  @Key
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
-      type = "Edm.String",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.String getName();
-
-  void setName(java.lang.String _name);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "BirthDate",
-      type = "Edm.DateTime",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.util.Calendar getBirthDate();
-
-  void setBirthDate(java.util.Calendar _birthDate);
-
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "License",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.License",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "License",
-      containsTarget = false)
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License
-      getLicense();
-
-      void
-      setLicense(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License _license);
-
-  ComplexFactory factory();
-
-  interface ComplexFactory {}
-
-  Annotations annotations();
-
-  interface Annotations {
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
-        type = "Edm.String")
-    Annotatable getNameAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "BirthDate",
-        type = "Edm.DateTime")
-    Annotatable getBirthDateAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "License",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.License")
-    Annotatable getLicenseAnnotations();
-  }
+        openType = false,
+        hasStream = false,
+        isAbstract = false)
+public interface Driver 
+  extends org.apache.olingo.ext.proxy.api.StructuredType,org.apache.olingo.ext.proxy.api.Annotatable,org.apache.olingo.ext.proxy.api.SingleQuery<Driver> {
+
+
+    
+    @Key
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getName();
+
+    void setName(java.lang.String _name);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "BirthDate", 
+                type = "Edm.DateTime", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.sql.Timestamp getBirthDate();
+
+    void setBirthDate(java.sql.Timestamp _birthDate);    
+    
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "License", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.License", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "License",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License getLicense();
+
+    void setLicense(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License _license);
+    
+
+
+    ComplexFactory factory();
+
+    interface ComplexFactory {
+    }
+
+    Annotations annotations();
+
+    interface Annotations {
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+                   type = "Edm.String")
+        org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "BirthDate",
+                   type = "Edm.DateTime")
+        org.apache.olingo.ext.proxy.api.Annotatable getBirthDateAnnotations();
+
+
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "License", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.License")
+        org.apache.olingo.ext.proxy.api.Annotatable getLicenseAnnotations();
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
index ed26035..d6d953e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
@@ -1,32 +1,50 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types;
 
-import java.util.Collection;
-
+import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.ext.proxy.api.AbstractEntityCollection;
 import org.apache.olingo.ext.proxy.api.AbstractTerm;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.ext.proxy.api.annotations.Operation;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-public interface DriverCollection
-    extends
-    AbstractEntityCollection<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver> {
+public interface DriverCollection extends AbstractEntityCollection<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
index 73c625b..2a8daeb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
@@ -1,250 +1,262 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types;
 
-import org.apache.olingo.client.api.edm.ConcurrencyMode;
-import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
-import org.apache.olingo.ext.proxy.api.Annotatable;
-import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.client.api.http.HttpMethod;
+import org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty;
+import org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty;
+import org.apache.olingo.ext.proxy.api.annotations.Namespace;
+import org.apache.olingo.ext.proxy.api.annotations.EntityType;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
 import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.KeyRef;
+import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
+import org.apache.olingo.ext.proxy.api.annotations.Property;
+import org.apache.olingo.ext.proxy.api.annotations.Operation;
 import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
-@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Employee",
-    openType = false,
-    hasStream = false,
-    isAbstract = false,
-    baseType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Person")
-public interface Employee
-    extends Annotatable,
-    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person {
-
-  @Override
-  @Key
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PersonId",
-      type = "Edm.Int32",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.Integer getPersonId();
-
-  @Override
-  void setPersonId(java.lang.Integer _personId);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
-      type = "Edm.String",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.String getName();
-
-  @Override
-  void setName(java.lang.String _name);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ManagersPersonId",
-      type = "Edm.Int32",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.Integer getManagersPersonId();
-
-  void setManagersPersonId(java.lang.Integer _managersPersonId);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Salary",
-      type = "Edm.Int32",
-      nullable = false,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.Integer getSalary();
-
-  void setSalary(java.lang.Integer _salary);
-
-  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Title",
-      type = "Edm.String",
-      nullable = true,
-      defaultValue = "",
-      maxLenght = Integer.MAX_VALUE,
-      fixedLenght = false,
-      precision = 0,
-      scale = 0,
-      unicode = true,
-      collation = "",
-      srid = "",
-      concurrencyMode = ConcurrencyMode.None,
-      fcSourcePath = "",
-      fcTargetPath = "",
-      fcContentKind = EdmContentKind.text,
-      fcNSPrefix = "",
-      fcNSURI = "",
-      fcKeepInContent = false)
-  java.lang.String getTitle();
-
-  void setTitle(java.lang.String _title);
-
-  @Override
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonMetadata",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "PersonMetadata",
-      containsTarget = false)
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection
-      getPersonMetadata();
-
-  @Override
-      void
-      setPersonMetadata(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection _personMetadata);
-
-  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Manager",
-      type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Employee",
-      targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-      targetContainer = "DefaultContainer",
-      targetEntitySet = "Person",
-      containsTarget = false)
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Employee
-      getManager();
-
-      void
-      setManager(
-          org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Employee _manager);
-
-  @Override
-  Operations operations();
-
-  interface Operations
-      extends
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person.Operations {
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "UpdatePersonInfo",
-        type = OperationType.ACTION)
-    void updatePersonInfo(
-        );
-
-    @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "IncreaseEmployeeSalary",
-        type = OperationType.ACTION,
-        returnType = "Edm.Boolean")
-    java.lang.Boolean increaseEmployeeSalary(
-        @Parameter(name = "n", type = "Edm.Int32", nullable = false) java.lang.Integer n
-        );
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
 
-  }
 
-  @Override
-  ComplexFactory factory();
-
-  interface ComplexFactory
-      extends
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person.ComplexFactory {}
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Employee",
+        openType = false,
+        hasStream = false,
+        isAbstract = false,
+        baseType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Person")
+public interface Employee 
+  extends org.apache.olingo.ext.proxy.api.StructuredType,org.apache.olingo.ext.proxy.api.Annotatable,org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person {
 
   @Override
-  Annotations annotations();
-
-  interface Annotations
-      extends
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person.Annotations {
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PersonId",
-        type = "Edm.Int32")
-    Annotatable getPersonIdAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
-        type = "Edm.String")
-    Annotatable getNameAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ManagersPersonId",
-        type = "Edm.Int32")
-    Annotatable getManagersPersonIdAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Salary",
-        type = "Edm.Int32")
-    Annotatable getSalaryAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Title",
-        type = "Edm.String")
-    Annotatable getTitleAnnotations();
-
-    @Override
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "PersonMetadata",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata")
-    Annotatable getPersonMetadataAnnotations();
-
-    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Manager",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Employee")
-    Annotatable getManagerAnnotations();
-  }
+  Employee load();
+
+    
+    @Key
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PersonId", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getPersonId();
+
+    void setPersonId(java.lang.Integer _personId);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getName();
+
+    void setName(java.lang.String _name);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ManagersPersonId", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getManagersPersonId();
+
+    void setManagersPersonId(java.lang.Integer _managersPersonId);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Salary", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getSalary();
+
+    void setSalary(java.lang.Integer _salary);    
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Title", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getTitle();
+
+    void setTitle(java.lang.String _title);    
+    
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "PersonMetadata", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "PersonMetadata",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection getPersonMetadata();
+
+    void setPersonMetadata(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection _personMetadata);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Manager", 
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Employee", 
+                targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService", 
+                targetContainer = "DefaultContainer", 
+                targetEntitySet = "Person",
+                containsTarget = false)
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Employee getManager();
+
+    void setManager(org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Employee _manager);
+    
+
+        @Override
+        Operations operations();
+
+    interface Operations            extends org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person.Operations{
+    
+          @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "UpdatePersonInfo",
+                    type = OperationType.ACTION)
+      void updatePersonInfo(
+            );
+
+          @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "IncreaseEmployeeSalary",
+                    type = OperationType.ACTION,
+                    returnType = "Edm.Boolean")
+      java.lang.Boolean increaseEmployeeSalary(
+                @Parameter(name = "n", type = "Edm.Int32", nullable = false) java.lang.Integer n
+            );
+
+        }
+
+    ComplexFactory factory();
+
+    interface ComplexFactory            extends org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person.ComplexFactory{
+    }
+
+    Annotations annotations();
+
+    interface Annotations            extends org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Person.Annotations{
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PersonId",
+                   type = "Edm.Int32")
+        org.apache.olingo.ext.proxy.api.Annotatable getPersonIdAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+                   type = "Edm.String")
+        org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ManagersPersonId",
+                   type = "Edm.Int32")
+        org.apache.olingo.ext.proxy.api.Annotatable getManagersPersonIdAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Salary",
+                   type = "Edm.Int32")
+        org.apache.olingo.ext.proxy.api.Annotatable getSalaryAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Title",
+                   type = "Edm.String")
+        org.apache.olingo.ext.proxy.api.Annotatable getTitleAnnotations();
+
+
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "PersonMetadata", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata")
+        org.apache.olingo.ext.proxy.api.Annotatable getPersonMetadataAnnotations();
+
+        @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Manager", 
+                  type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Employee")
+        org.apache.olingo.ext.proxy.api.Annotatable getManagerAnnotations();
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
index 7e74475..e328445 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
@@ -1,46 +1,62 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types;
 
-import java.util.Collection;
-
+import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.ext.proxy.api.AbstractEntityCollection;
 import org.apache.olingo.ext.proxy.api.AbstractTerm;
 import org.apache.olingo.ext.proxy.api.OperationType;
 import org.apache.olingo.ext.proxy.api.annotations.Operation;
 import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-public interface EmployeeCollection
-    extends
-    AbstractEntityCollection<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Employee> {
-  Operations operations();
+public interface EmployeeCollection extends AbstractEntityCollection<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Employee> {
+    Operations operations();
 
-  public interface Operations {
+    public interface Operations {
 
-    @Operation(name = "IncreaseSalaries",
-        type = OperationType.ACTION)
-    void increaseSalaries(
-        @Parameter(name = "n", type = "Edm.Int32", nullable = false) java.lang.Integer n
-        );
+    
+          @Operation(name = "IncreaseSalaries",
+                    type = OperationType.ACTION)
+      void increaseSalaries(
+                @Parameter(name = "n", type = "Edm.Int32", nullable = false) java.lang.Integer n
+            );
 
-  }
+        }
 
   Object getAnnotation(Class<? extends AbstractTerm> term);